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