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