11.31Stsutsui#	$NetBSD: Makefile,v 1.31 2023/02/09 15:20:40 tsutsui Exp $
21.17Slukem
31.17SlukemNOMAN=	# defined
41.1Sdbj
51.1SdbjS=	${.CURDIR}/../../../..
61.1Sdbj
71.1Sdbj### find out what to use for libkern
81.1SdbjKERN_AS=        library
91.1Sdbj.include "${S}/lib/libkern/Makefile.inc"
101.1Sdbj#LIBKERN=        ${KERNLIB}
111.1Sdbj
121.1Sdbj### find out what to use for libz
131.1SdbjZ_AS=           library
141.1Sdbj.include "${S}/lib/libz/Makefile.inc"
151.1Sdbj#LIBZ=           ${ZLIB}
161.1Sdbj
171.1Sdbj### find out what to use for libsa
181.1SdbjSA_AS=          library
191.9SchsSAMISCMAKEFLAGS= SA_USE_LOADFILE=yes # SA_USE_CREAD=yes
201.1Sdbj.include "${S}/lib/libsa/Makefile.inc"
211.1Sdbj#LIBSA=          ${SALIB}
221.1Sdbj
231.1SdbjRELOC=	4380000
241.1Sdbj
251.1Sdbj# XXX make defs arch-indep.
261.30StsutsuiINCLUDES+=	-I${.OBJDIR} -I${S}/arch -I${S} -I${S}/lib/libsa
271.31StsutsuiDEFS+=		-D_STANDALONE -DMC68040 -DSUPPORT_BOOTP -DSUPPORT_DHCP
281.31Stsutsui#DEFS+=		-DDEBUG -DSD_DEBUG -DSCSI_DEBUG -DEN_DEBUG -DNETIF_DEBUG
291.31StsutsuiSAMISCCPPFLAGS=	-DSUPPORT_DHCP -DSUPPORT_BOOTP -DSA_EXEC_ANYOWNER
301.31Stsutsui#SAMISCCPPFLAGS+= -DBOOTP_DEBUG -DETHER_DEBUG -DNET_DEBUG-DNETIF_DEBUG
311.31Stsutsui#SAMISCCPPFLAGS+= -DNFS_DEBUG -DARP_DEBUG
321.5StvWARNS=1
331.31StsutsuiCFLAGS+=	-ffreestanding -nostdinc ${INCLUDES} ${DEFS}
341.22StsutsuiCFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
351.22StsutsuiAFLAGS+=	${INCLUDES}
361.18Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE!
371.1SdbjLIBCRT0=
381.28StsutsuiLIBCRTI=
391.18SsimonbLIBC=
401.18SsimonbLIBCRTBEGIN=
411.18SsimonbLIBCRTEND=
421.1Sdbj
431.1SdbjPROG=	boot
441.29SchristosSRCS=   boot.c machdep.c conf.c devopen.c rtc.c sd.c scsi.c en.c build.c
451.12Sjdolecek
461.1Sdbj# @@@ dev_net.c should really be in libsa, but it doesn't
471.1Sdbj# declare ip_convertaddr correctly, so I put it here _temporarily_.
481.12Sjdolecek.PATH: ${S}/lib/libsa
491.12SjdolecekSRCS+=	dev_net.c
501.1Sdbj
511.27SmattCLEANFILES+= srt0.o boot.elf boot.raw limits.h
521.29SchristosCLEANFILES+= build.c build	# generated dynamically
531.8Sjdolecek
541.1SdbjBINDIR=	/usr/mdec
551.1Sdbj#LIBS=	${SALIB} ${KERNLIB} ${ZLIB}
561.1SdbjLIBS=	${SALIB} ${KERNLIB}
571.13Sjdolecek
581.13Sjdolecek# do not strip ${PROG} on install
591.13SjdolecekSTRIPFLAG=	# defined
601.7Sdbj
611.9SchsAWKPROG='\
621.15Smycroftfunction x(v) { printf "\\0\\%o\\%o\\%o", (v / 65536) % 256, (v / 256) % 256, v % 256 } \
631.9Schs{ \
641.15Smycroft	printf "\047\\0\\207\\01\\07"; \
651.9Schs	x($$1); \
661.9Schs	x($$2); \
671.9Schs	x($$3); \
681.14Schristos	printf "\\0\\0\\0\\0\\04\\070\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\047" \
691.9Schs}'
701.9Schs
711.11Sjdolecek${PROG}: srt0.o ${OBJS} ${LIBS}
721.27Smatt	${_MKTARGET_LINK}
731.9Schs	${LD} -N -Ttext ${RELOC} -e start srt0.o ${OBJS} ${LIBS} -o $@.elf
741.15Smycroft	${SIZE} $@.elf
751.15Smycroft	${OBJCOPY} -O binary $@.elf $@.raw
761.21Sapb	(${SIZE} $@.elf | tail +2 | ${TOOL_AWK} ${AWKPROG} | \
771.21Sapb		xargs printf ; cat $@.raw) > $@
781.1Sdbj
791.1Sdbj# startup
801.1Sdbj
811.1Sdbjsrt0.o: ${.CURDIR}/srt0.s
821.9Schs	${CC} -m68040 -x assembler-with-cpp ${INCLUDES} ${DEFS} -c ${.CURDIR}/srt0.s
831.1Sdbj
841.8Sjdolecek.PHONY: build.c
851.26Sapbbuild.c:
861.19Slukem	${HOST_SH} ${.CURDIR}/newvers.sh
871.8Sjdolecek
881.29Schristos.include "${S}/conf/newvers_stand.mk"
891.1Sdbj
901.1Sdbj#installboot: ${.CURDIR}/installboot.sh
911.1Sdbj#	@rm -f installboot
921.1Sdbj#	cp -p ${.CURDIR}/installboot.sh installboot
931.1Sdbj
941.1Sdbj# utilities
951.1Sdbj
961.1Sdbj.include <bsd.prog.mk>
971.27Smatt.include <bsd.klinks.mk>
98