1 NOPROG=installboot 2 MAN=installboot.8 3 4 ### what we need: 5 6 S= ${.CURDIR}/../../../.. 7 DIR_SA = ${S}/lib/libsa 8 DIR_KERN= ${S}/lib/libkern 9 DIR_KERN_MD= ${S}/lib/libkern/arch/$(MACHINE_ARCH) 10 11 .PATH: $(DIR_SA) $(DIR_KERN) $(DIR_KERN_MD) 12 13 # prefer our assembler versions over assembler, and assembler over C: 14 15 .SUFFIXES: 16 .SUFFIXES: .out .o .po .so .s .S .c .cc .C .f .y .l .ln .m4 .sh 17 18 SRCS=installboot.sh 19 20 BOOTBLOCKS= xxboot fdboot 21 22 COBJS = configure.o main.o console.o xd.o twiddle.o bzero.o gets.o 23 COBJS+= lseek.o open.o read.o close.o dev.o 24 COBJS+= ufs.o 25 26 SOBJS = alloc.o ashrdi3.o bcopy.o muldi3.o printf.o startit.o 27 SOBJS += strlen.o strcmp.o 28 SOBJS += libstubs.o 29 30 OBJS= $(SOBJS) $(COBJS) 31 32 DEFS = -DSTANDALONE -DINSECURE 33 34 ### main target: ### 35 36 all: ${BOOTBLOCKS} installboot 37 38 ### special rules for bootblocks ### 39 40 AFLAGS += -m68030 -l 41 CAFLAGS += -Wa,-l -Wa,-m68030 42 43 INCPATH = -I${S} -I${S}/lib/libsa -I${.CURDIR} -I${.CURDIR}/../.. 44 BB_COPTIM= -O2 -fomit-frame-pointer -fno-function-cse -Wa,-l -m68060 -Wa,-m68030 45 BB_CFLAGS = ${BB_COPTIM} ${INCPATH} ${DEFS} -Wall #-Wstrict-prototypes 46 47 .c.o: 48 $(CC) $(BB_CFLAGS) -S $< -o $*.s 49 ./txlt < $*.s | $(AS) $(AFLAGS) -o $*.o 50 rm $*.s 51 52 .s.o: ; $(CC) $(CAFLAGS) $(COPTS) -x assembler-with-cpp -o $@ -c $< 53 54 .S.o: ; $(CC) $(CAFLAGS) $(COPTS) -x assembler-with-cpp -o $@ -c $< 55 56 ${COBJS}: txlt 57 58 ${BOOTBLOCKS}: aout2bb 59 60 CLEANFILES += xxboot fdboot x.out f.out xxstart.o fdstart.o 61 62 xxboot: x.out 63 ./aout2bb x.out $@ || nm -u x.out 64 65 fdboot: f.out 66 ./aout2bb f.out $@ || nm -u f.out 67 68 x.out: xxstart.o libboot.a 69 $(LD) $(LDFLAGS) -r -dc -e _start -o $@ $> 70 size $@ 71 nm -u $@ 72 73 f.out: fdstart.o libboot.a 74 $(LD) $(LDFLAGS) -r -dc -e _start -o $@ $> 75 size $@ 76 nm -u $@ 77 78 xxstart.o: ${.CURDIR}/bbstart.s 79 $(CC) $(CAFLAGS) $(COPTS) -x assembler-with-cpp \ 80 -o $@ -c $> 81 82 fdstart.o: ${.CURDIR}/bbstart.s 83 $(CC) -DAUTOLOAD=8192 $(CAFLAGS) $(COPTS) -x assembler-with-cpp \ 84 -o $@ -c $> 85 86 libboot.a: $(OBJS) 87 ar r $@ $> && ranlib $@ 88 89 ### install what we need: ### 90 91 install: all maninstall 92 install -o $(BINOWN) -g $(BINGRP) installboot ${DESTDIR}/usr/sbin 93 install -o $(BINOWN) -g $(BINGRP) $(BOOTBLOCKS) ${DESTDIR}/usr/mdec 94 95 ### start of helper programs: ### 96 97 HOSTED_CC= $(CC) 98 HOSTED_CFLAGS= $(CFLAGS) 99 100 HOSTED_C= ${HOSTED_CC} ${HOSTED_CFLAGS} ${HOSTED_CPPFLAGS} -c $< 101 102 CLEANFILES += txlt txlt.o aout2bb aout2bb.o chksum.o 103 104 aout2bb: aout2bb.o chksum.o 105 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $> 106 107 aout2bb.o: ${.CURDIR}/aout2bb.c 108 ${HOSTED_C} 109 110 chksum.o: ${.CURDIR}/chksum.c 111 ${HOSTED_C} 112 113 txlt: txlt.o 114 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $> -ll 115 116 depend:: 117 mkdep -a ${.CURDIR}/aout2bb.c ${.CURDIR}/chksum.c 118 119 ### end of helper programs ### 120 121 .include <bsd.prog.mk> 122