Makefile revision 1.4
11.4Saymeric#	$NetBSD: Makefile,v 1.4 2002/01/26 15:03:18 aymeric Exp $
21.1Sis
31.1Sis### what we need:
41.1Sis
51.1SisDIR_TOP=	${.CURDIR}/../../../../..
61.1SisDIR_SA = 	${DIR_TOP}/lib/libsa
71.1SisDIR_KERN=	${DIR_TOP}/lib/libkern
81.1SisDIR_KERN_MD=	${DIR_TOP}/lib/libkern/arch/$(MACHINE_ARCH)
91.1SisDIR_BOOT=	${.CURDIR}/../boot
101.1Sis
111.1Sis.PATH:  $(DIR_SA) $(DIR_KERN) $(DIR_KERN_MD) $(DIR_BOOT)
121.1Sis
131.1Sis# prefer our assembler versions over assembler, and assembler over C:
141.1Sis
151.1Sis.SUFFIXES:
161.1Sis.SUFFIXES: .out .o .po .so .s .S .c .cc .C .f .y .l .ln .m4 .sh
171.1Sis
181.1SisFILES= xxppcboot fdppcboot
191.1SisBINDIR=/usr/mdec
201.1Sis
211.1SisCOBJS = main.o console.o xd.o twiddle.o bzero.o gets.o
221.1SisCOBJS+=  lseek.o open.o read.o close.o dev.o errno.o
231.1SisCOBJS+=  ufs.o ppcstart.o
241.1Sis
251.1SisSOBJS = alloc.o ashrdi3.o bcopy.o muldi3.o printf.o
261.1SisSOBJS += strlen.o strcmp.o
271.3SaymericSOBJS += libstubs.o
281.1Sis
291.1SisOBJS=	$(SOBJS) $(COBJS)
301.1Sis
311.1SisDEFS = -DPPCBOOTER -D_STANDALONE -DINSECURE -DDEBUG_MEMORY_LIST
321.1Sis
331.1Sis### main target: ###
341.1Sis
351.1Sisall: ${FILES}
361.1Sis
371.1Sis.include <bsd.prog.mk>
381.1Sis
391.1Sis### special  rules for bootblocks ###
401.1Sis
411.1SisINCPATH = -I${DIR_TOP} -I${DIR_TOP}/lib/libsa -I${DIR_BOOT} -I${.CURDIR} -I${.CURDIR}/../../.. -I${.CURDIR}/../aout2bb -I${.OBJDIR}
421.1Sis
431.1SisAFLAGS += -m68030 -l
441.1SisCAFLAGS += -Wa,-l -Wa,-m68030 ${INCPATH}
451.1Sis
461.1SisCOPTIM= -O -fomit-frame-pointer -fcse-follow-jumps -fcse-skip-blocks  -Wa,-l -m68060 -Wa,-m68030
471.1SisCFLAGS= ${COPTIM} ${INCPATH} ${DEFS} -Wall #-Wstrict-prototypes
481.1Sis
491.1Sis.c.o:
501.1Sis	${CC} ${CFLAGS} -S $< -o $*.s
511.1Sis	${TXLT} < $*.s | ${AS} ${AFLAGS} -o $*.o
521.1Sis	rm $*.s
531.1Sis
541.1Sis.s.o: ; ${CC} ${CAFLAGS} ${COPTS} -x assembler-with-cpp -o $@ -c $<
551.1Sis
561.1Sis.S.o: ; ${CC} ${CAFLAGS} ${COPTS} -x assembler-with-cpp -o $@ -c $<
571.1Sis
581.1SisCLEANFILES += xxppcboot fdppcboot x.out f.out xxstart.o fdstart.o libboot.a
591.1Sis
601.1Sisxxppcboot: x.out
611.2Smhitch	${RELOC2BB} x.out $@ || nm -u x.out
621.1Sis
631.1Sisfdppcboot: f.out
641.2Smhitch	${RELOC2BB} f.out $@ || nm -u f.out
651.1Sis
661.1Sisx.out: xxstart.o libboot.a
671.1Sis	${LD} ${LDFLAGS} -r -dc -e _start -o $@ $>
681.1Sis	size $@
691.1Sis	nm -u $@
701.1Sis
711.1Sisf.out: fdstart.o libboot.a
721.1Sis	${LD} ${LDFLAGS} -r -dc -e _start -o $@ $>
731.1Sis	size $@
741.1Sis	nm -u $@
751.1Sis
761.1Sisxxstart.o: ${DIR_BOOT}/bbstart.s
771.1Sis	${CC} ${CAFLAGS} ${COPTS} -x assembler-with-cpp \
781.1Sis		-o $@ -c $>
791.1Sis
801.1Sisfdstart.o: ${DIR_BOOT}/bbstart.s
811.1Sis	${CC} -DAUTOLOAD=8192 ${CAFLAGS} ${COPTS} -x assembler-with-cpp \
821.1Sis		-o $@ -c $>
831.1Sis
841.1SisPPCCC=powerpc-netbsd-gcc
851.1SisPPCAS=powerpc-netbsd-as
861.1SisPPCLD=powerpc-netbsd-ld
871.1SisPPCOD=powerpc-netbsd-objdump
881.1Sis
891.1SisCLEANFILES += kickstart.o kickstart.bin kickstart68.c
901.1Sis
911.1Sisppcstart.o:	kickstart68.c
921.1Sis
931.1Siskickstart68.c:	kickstart.bin hex2c.awk
941.1Sis		hexdump kickstart.bin | awk -f ${.CURDIR}/hex2c.awk > $@
951.1Sis
961.1Siskickstart.bin:	kickstart.o
971.1Sis		$(PPCLD) -Ttext=0xfff00100 -o$@ --oformat binary $?
981.1Sis
991.1Siskickstart.o:	kickstart.S
1001.1Sis		$(PPCCC) -DDEBUG $(COPTS) -x assembler-with-cpp -c $?
1011.1Sis
1021.1Siskickstart.lis:	kickstart.o
1031.1Sis		$(PPCOD) --disassemble-all kickstart.o
1041.1Sis
1051.1Sislibboot.a: ${OBJS}
1061.1Sis	${AR} r $@ $> && ${RANLIB} $@
1071.1Sis
1081.1Sis# make sure these are built:
1091.1Sis
1101.1Sis${COBJS}: ${TXLT}
1111.2Smhitch${FILES}: ${RELOC2BB}
1121.4Saymeric
1131.4Saymeric.include "${.CURDIR}/../Makefile.booters"
114