~ubuntu-branches/ubuntu/lucid/silo/lucid

« back to all changes in this revision

Viewing changes to second/Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Fabio M. Di Nitto
  • Date: 2007-10-25 09:28:08 UTC
  • mto: This revision was merged to the branch mainline in revision 16.
  • Revision ID: james.westby@ubuntu.com-20071025092808-pnva6x2ggmlkd65e
Tags: upstream-1.4.13a+git20070930
ImportĀ upstreamĀ versionĀ 1.4.13a+git20070930

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
##
 
2
## Linux Loader for SPARC
 
3
##
 
4
##
 
5
 
 
6
AS=as
 
7
AR=ar
 
8
NM=nm
 
9
DD=dd
 
10
AWK=awk
 
11
LS=ls
 
12
STRIP=strip
 
13
GZIP=gzip
 
14
GDB=gdb
 
15
ECHO=echo
 
16
GREP=grep
 
17
SED=sed
 
18
CP=cp
 
19
 
 
20
include ../Rules.make
 
21
 
 
22
# Relocate to 2.5MB. The Hitchhiker's Guide to Open Boot Rev 3 claims
 
23
# that 3MB are guaranteed to be mapped.
 
24
#
 
25
# XXX: We seem to be going 4Megs here for LARGE? -- BenC
 
26
LDFLAGS_SMALL=-N -Ttext $(SMALL_RELOC)
 
27
LDFLAGS_LARGE=-N -Ttext $(LARGE_RELOC)
 
28
 
 
29
.c.o:
 
30
        $(CC) $(CFLAGS) -c $*.c -o $@
 
31
 
 
32
.S.o:
 
33
        $(CC) $(CFLAGS) -c $*.S -o $@
 
34
 
 
35
# The ordering here is very significant. Please add new object files to OBJS5 only.
 
36
OBJS1 = crt0.o
 
37
OBJS2 = decomp.o
 
38
OBJS2N = decompnet.o
 
39
OBJS3 = ../common/console.o ../common/printf.o malloc.o ../common/jmp.o \
 
40
        ../common/prom.o ../common/tree.o ../common/urem.o ../common/udiv.o \
 
41
        ../common/stringops1.o ../common/ffs.o ../common/divdi3.o \
 
42
        ../common/udivdi3.o
 
43
OBJS4 = main.o
 
44
OBJS4N = mainnet.o
 
45
OBJS5 = cmdline.o disk.o file.o misc.o cfg.o strtol.o ranges.o timer.o \
 
46
        memory.o fs/libfs.a mul.o ../common/rem.o ../common/sdiv.o umul.o \
 
47
        ../common/stringops2.o ls.o muldi3.o
 
48
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) bmark.o $(OBJS4) $(OBJS5)
 
49
OBJSNET = $(OBJS1) $(OBJS2N) $(OBJS3) bmark.o $(OBJS4N) $(OBJS5)
 
50
 
 
51
FS_OBJS = fs/iom.o fs/ext2.o fs/isofs.o fs/romfs.o fs/ufs.o
 
52
 
 
53
# Should really switch to autoconf...
 
54
all: second.b silotftp.b
 
55
 
 
56
fs/libfs.a: $(FS_OBJS)
 
57
        $(RM) $@
 
58
        $(AR) rc $@ $(FS_OBJS)
 
59
 
 
60
second: $(OBJS) mark.o
 
61
        $(LD) $(LDFLAGS_SMALL) -Bstatic -o second $(OBJS) -lext2fs mark.o
 
62
        $(LD) $(LDFLAGS_LARGE) -Bstatic -o second2 $(OBJS) -lext2fs mark.o
 
63
        $(NM) second | grep -v '*ABS*' | sort > second.map
 
64
 
 
65
silotftp: $(OBJSNET) mark.o
 
66
        $(LD) $(LDFLAGS_SMALL) -Bstatic -o silotftp $(OBJSNET) -lext2fs mark.o
 
67
        $(LD) $(LDFLAGS_LARGE) -Bstatic -o silotftp2 $(OBJSNET) -lext2fs mark.o
 
68
        $(NM) silotftp | grep -v '*ABS*' | sort > silotftp.map
 
69
 
 
70
second.l: second
 
71
        ( $(ECHO) 'disassemble $(SMALL_RELOC) '`$(GREP) '_etext' second.map | $(SED) 's/ .*$$//' | $(SED) 's/^00/0x/'`; $(ECHO) quit ) | $(GDB) second | $(SED) '1,/^(gdb)/d;/^End /,$$d' > second.l
 
72
 
 
73
file.o:        file.c
 
74
 
 
75
decompnet.o:   decomp.c
 
76
        $(CC) $(CFLAGS) -DTFTP -DVERSION='"$(VERSION)"' -c -o $@ $<
 
77
 
 
78
decomp.o: decomp.c
 
79
        $(CC) $(CFLAGS) -DVERSION='"$(VERSION)"' -c $<
 
80
 
 
81
mainnet.o:   main.c
 
82
        $(CC) $(CFLAGS) -DTFTP -c -o $@ $<
 
83
 
 
84
malloc.o: ../common/malloc.c
 
85
        $(CC) $(CFLAGS) -c -o $@ $<
 
86
 
 
87
util:   util.c
 
88
        $(CC) -DSMALL_RELOC=$(SMALL_RELOC) -DLARGE_RELOC=$(LARGE_RELOC) -o $@ $<
 
89
 
 
90
clean:
 
91
        $(RM) *.o fs/*.o second* silotftp* util fs/libfs.a
 
92
 
 
93
crt0.o: crt0.S
 
94
        $(CC) $(CFLAGS) -c -Wa,-Av9 -DIMGVERSION='"SILO$(IMGVERSION)"' crt0.S
 
95
 
 
96
memory.o: memory.c
 
97
        $(CC) $(CFLAGS) -c -Wa,-Av9 memory.c
 
98
 
 
99
timer.o: timer.c
 
100
        $(CC) $(CFLAGS) -c -Wa,-Av9a timer.c
 
101
 
 
102
second.b: second util
 
103
        $(ELFTOAOUT) -o second.aout second
 
104
        $(ELFTOAOUT) -o second2.aout second2
 
105
        ./util second.map second.aout second2.aout second.b second.b2
 
106
        $(GZIP) -9cfn second.b2 >> second.b
 
107
        $(DD) if=/dev/zero bs=1 count=`$(LS) -l second.b | $(AWK) '{len=$$5%512;if(len!=0)len=512-len;print len}'` >> second.b
 
108
        $(LS) -l second.b | $(AWK) '{printf "%c%c%c%c",0,$$5/65536,($$5%65536)/256,0}' | $(DD) of=second.b bs=4 count=1 seek=581 conv=notrunc
 
109
 
 
110
silotftp.b: silotftp util
 
111
        $(ELFTOAOUT) -o silotftp.aout silotftp
 
112
        $(ELFTOAOUT) -o silotftp2.aout silotftp2
 
113
        ./util -a silotftp.map silotftp.aout silotftp2.aout silotftp.b silotftp.b2
 
114
        $(GZIP) -9cfn silotftp.b2 >> silotftp.b