Makefile revision 1.8
1MAN=installboot.8 2 3### what we need: 4 5S= ${.CURDIR}/../../../.. 6DIR_SA = ${S}/lib/libsa 7DIR_KERN= ${S}/lib/libkern 8DIR_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 17SRCS=installboot.sh 18 19BOOTBLOCKS= xxboot fdboot 20 21COBJS = configure.o main.o console.o xd.o twiddle.o bzero.o gets.o 22COBJS+= lseek.o open.o read.o close.o dev.o 23COBJS+= ufs.o 24 25SOBJS = alloc.o ashrdi3.o bcopy.o muldi3.o printf.o startit.o 26SOBJS += strlen.o strcmp.o 27SOBJS += libstubs.o 28 29OBJS= $(SOBJS) $(COBJS) 30 31DEFS = -DSTANDALONE -DINSECURE 32 33### main target: ### 34 35all: ${BOOTBLOCKS} installboot 36 37### special rules for bootblocks ### 38 39AFLAGS += -m68030 -l 40CAFLAGS += -Wa,-l -Wa,-m68030 41 42INCPATH = -I${S} -I${S}/lib/libsa -I${.CURDIR} -I${.CURDIR}/../.. 43BB_COPTIM= -O2 -fomit-frame-pointer -fno-function-cse -Wa,-l -m68060 -Wa,-m68030 44BB_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 59CLEANFILES += xxboot fdboot x.out f.out xxstart.o fdstart.o libboot.a 60 61xxboot: x.out 62 ./aout2bb x.out $@ || nm -u x.out 63 64fdboot: f.out 65 ./aout2bb f.out $@ || nm -u f.out 66 67x.out: xxstart.o libboot.a 68 $(LD) $(LDFLAGS) -r -dc -e _start -o $@ $> 69 size $@ 70 nm -u $@ 71 72f.out: fdstart.o libboot.a 73 $(LD) $(LDFLAGS) -r -dc -e _start -o $@ $> 74 size $@ 75 nm -u $@ 76 77xxstart.o: ${.CURDIR}/bbstart.s 78 $(CC) $(CAFLAGS) $(COPTS) -x assembler-with-cpp \ 79 -o $@ -c $> 80 81fdstart.o: ${.CURDIR}/bbstart.s 82 $(CC) -DAUTOLOAD=8192 $(CAFLAGS) $(COPTS) -x assembler-with-cpp \ 83 -o $@ -c $> 84 85libboot.a: $(OBJS) 86 ar r $@ $> && ranlib $@ 87 88### install what we need: ### 89 90install: 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 96HOSTED_CC= $(CC) 97HOSTED_CFLAGS= $(CFLAGS) 98 99HOSTED_C= ${HOSTED_CC} ${HOSTED_CFLAGS} ${HOSTED_CPPFLAGS} -c $< 100 101CLEANFILES += txlt txlt.o aout2bb aout2bb.o chksum.o 102 103aout2bb: aout2bb.o chksum.o 104 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $> 105 106aout2bb.o: ${.CURDIR}/aout2bb.c 107 ${HOSTED_C} 108 109chksum.o: ${.CURDIR}/chksum.c 110 ${HOSTED_C} 111 112txlt: txlt.o 113 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $> -ll 114 115depend:: 116 mkdep -a ${.CURDIR}/aout2bb.c ${.CURDIR}/chksum.c 117 118### end of helper programs ### 119 120.include <bsd.prog.mk> 121