2
## Linux Loader for SPARC
22
# Relocate to 2.5MB. The Hitchhiker's Guide to Open Boot Rev 3 claims
23
# that 3MB are guaranteed to be mapped.
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)
30
$(CC) $(CFLAGS) -c $*.c -o $@
33
$(CC) $(CFLAGS) -c $*.S -o $@
35
# The ordering here is very significant. Please add new object files to OBJS5 only.
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 \
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)
51
FS_OBJS = fs/iom.o fs/ext2.o fs/isofs.o fs/romfs.o fs/ufs.o
53
# Should really switch to autoconf...
54
all: second.b silotftp.b
56
fs/libfs.a: $(FS_OBJS)
58
$(AR) rc $@ $(FS_OBJS)
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
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
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
76
$(CC) $(CFLAGS) -DTFTP -DVERSION='"$(VERSION)"' -c -o $@ $<
79
$(CC) $(CFLAGS) -DVERSION='"$(VERSION)"' -c $<
82
$(CC) $(CFLAGS) -DTFTP -c -o $@ $<
84
malloc.o: ../common/malloc.c
85
$(CC) $(CFLAGS) -c -o $@ $<
88
$(CC) -DSMALL_RELOC=$(SMALL_RELOC) -DLARGE_RELOC=$(LARGE_RELOC) -o $@ $<
91
$(RM) *.o fs/*.o second* silotftp* util fs/libfs.a
94
$(CC) $(CFLAGS) -c -Wa,-Av9 -DIMGVERSION='"SILO$(IMGVERSION)"' crt0.S
97
$(CC) $(CFLAGS) -c -Wa,-Av9 memory.c
100
$(CC) $(CFLAGS) -c -Wa,-Av9a timer.c
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
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