Makefile revision 1.40
11.40Schristos#	$NetBSD: Makefile,v 1.40 2017/04/08 19:53:23 christos Exp $
21.1Spk
31.12SchristosSTRIPFLAG=
41.24SuwePROGSOURCE=	boot.c net.c netif_sun.c conf.c openfirm.c bootinfo.c \
51.40Schristos		mmu.c prompatch.c
61.5SmrgNEWVERSWHAT=	"Secondary Boot"
71.32SmartinFILES=		boot.net bootjs.net ${RELOCS:S/^/boot./g}
81.40SchristosCLEANFILES:=	${FILES}
91.17SpkLINKS=		${BINDIR}/boot.${RELOC_DEFAULT} ${BINDIR}/boot
101.27Sthorpej
111.33SmartinCPPFLAGS+=	-DBOOT_AOUT -DBOOT_ELF32 -DSUPPORT_DHCP
121.29SmrgCFLAGS+=	-freestanding
131.1Spk
141.5SmrgINCLUDE_LIBZ=	yes
151.5SmrgSAMISCMAKEFLAGS= SA_USE_CREAD=yes
161.5Smrg
171.5Smrg.include "../Makefile.buildboot"
181.25Smrg
191.36Snakayama.if ${MACHINE} == sparc64
201.25SmrgCFLAGS+=	-m32
211.25SmrgLDFLAGS+=	-m elf32_sparc
221.25SmrgAFLAGS+=	-Wa,-32
231.25Smrg.endif
241.7Spk
251.17Spk.include <bsd.own.mk>
261.12Schristos
271.17SpkOBJS=${SRCS:N*.h:N*.sh:N*.fth:R:S/$/.o/g}
281.15Ssommerfe
291.38SmrgLINKFLAGS=-N -e start -Map $@.map
301.12Schristos
311.17Spk.MAIN: all
321.20Smycroftrealall: ${FILES}
331.5Smrg
341.17Spk.for RELOC in ${RELOCS}
351.17Spkboot.${RELOC}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
361.39Smartin	${LD} -S -o ${.TARGET}.tmp ${LINKFLAGS} -Ttext ${RELOC} ${OBJS} \
371.17Spk	    ${LIBSA} ${LIBZ} ${LIBKERN}
381.17Spk	${SIZE} ${.TARGET}.tmp
391.17Spk	${OBJCOPY} -O binary ${.TARGET}.tmp ${.TARGET}
401.17Spk	rm -f ${.TARGET}.tmp
411.38SmrgCLEANFILES+=	boot.${RELOC}.map
421.17Spk.endfor
431.24Suwe
441.12Schristos# conjure up a magic header that is accepted by all Sun PROMS;
451.12Schristos# see installboot.c for details.
461.21Ssommerfe
471.21SsommerfeSUN_MAGIC_HEADER='\01\03\01\07\060\200\0\07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'
481.21Ssommerfe
491.17Spkboot.net: boot.${RELOC_DEFAULT}
501.21Ssommerfe	(printf ${SUN_MAGIC_HEADER}; cat ${.ALLSRC} ) > ${.TARGET}
511.31Smartin
521.32Smartinbootjs.net: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
531.39Smartin	${LD} -S -o ${.TARGET} ${LINKFLAGS} -Ttext 300000 ${OBJS} \
541.31Smartin	    ${LIBSA} ${LIBZ} ${LIBKERN}
551.31Smartin	${SIZE} ${.TARGET}
561.38SmrgCLEANFILES+=	bootjs.net.map
571.1Spk
581.40Schristos.include "${S}/conf/newvers_stand.mk"
591.40Schristos
601.19Spk.include <bsd.prog.mk>
61