11.27Smrg#	$NetBSD: Makefile.buildboot,v 1.27 2020/09/07 07:08:35 mrg Exp $
21.1Sreinoud
31.1SreinoudS?=	${.CURDIR}/../../../..
41.1Sreinoud
51.1Sreinoud.PATH: ${.CURDIR}/../lib
61.1Sreinoud
71.24SchristosKLINK_MACHINE= acorn32
81.24Schristos
91.1SreinoudSRCS=	${PROGSOURCE}
101.1SreinoudNOMAN=# defined
111.1SreinoudBINDIR=/usr/mdec
121.1SreinoudBINMODE=444
131.1SreinoudFILESDIR=/usr/mdec
141.4Ssimonb
151.4Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE!
161.4SsimonbLIBCRT0=
171.21StsutsuiLIBCRTI=
181.4SsimonbLIBC=
191.4SsimonbLIBCRTBEGIN=
201.4SsimonbLIBCRTEND=
211.1Sreinoud
221.10Sbjh21MKMODULE?=no
231.26SrinLINKFLAGS+=--no-dynamic-linker --noinhibit-exec
241.9Sbjh21.if ${MKMODULE} == "yes"
251.9Sbjh21RISCOSTYPE ?= ffa
261.9Sbjh21LINKFLAGS+=-shared -Bsymbolic --no-undefined -T ${.CURDIR}/../module.ldscript
271.9Sbjh21CFLAGS+=-DRISCOS_MODULE
281.9Sbjh21.else
291.1SreinoudRISCOSTYPE ?= ff8
301.9Sbjh21RELOC=8000
311.9Sbjh21# -N (OMAGIC) since we don't need a gap between text and data.
321.9Sbjh21LINKFLAGS+=-N -Ttext ${RELOC}
331.9Sbjh21.endif
341.1Sreinoud
351.23Schristos.include "${S}/conf/newvers_stand.mk"
361.23Schristos
371.14Sjoerg.include <bsd.own.mk>
381.16Smatt.include <bsd.klinks.mk>
391.14Sjoerg
401.1SreinoudCPPFLAGS+=	-D_STANDALONE 
411.7Sbjh21CPPFLAGS+=	-I. -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
421.1SreinoudCPPFLAGS+=	-I${.CURDIR}/../lib
431.27SmrgCPPFLAGS+=	${ARM_APCS_FLAGS} ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} < 9:? -march=armv3m :}
441.15SmattCPUFLAGS=
451.1SreinoudCFLAGS=		-O2
461.17SmattCFLAGS+=	-ffreestanding -fno-unwind-tables
471.1SreinoudCFLAGS+=	-Wall -Wstrict-prototypes -Wmissing-prototypes
481.1Sreinoud
491.2Sbjh21CLEANFILES+= machine ${MACHINE_ARCH}
501.1Sreinoud
511.1Sreinoud### find out what to use for libkern
521.1SreinoudKERN_AS=	library
531.1Sreinoud.include "${S}/lib/libkern/Makefile.inc"
541.1SreinoudLIBKERN=	${KERNLIB}
551.1Sreinoud
561.1Sreinoud### find out what to use for libz
571.1SreinoudZ_AS=		library
581.1Sreinoud.include "${S}/lib/libz/Makefile.inc"
591.1SreinoudLIBZ=		${ZLIB}
601.1Sreinoud
611.1Sreinoud### find out what to use for libsa
621.1SreinoudSA_AS=		library
631.11Sbjh21SAMISCMAKEFLAGS+= SA_INCLUDE_NET=no
641.1SreinoudCPPFLAGS+=	-DLIBSA_NO_RAW_ACCESS \
651.1Sreinoud		-DHEAP_VARIABLE
661.1Sreinoud.include "${S}/lib/libsa/Makefile.inc"
671.1SreinoudLIBSA=		${SALIB}
681.1Sreinoud
691.1Sreinoud### find out what to use for libriscos
701.1SreinoudRISCOS_AS=		library
711.1Sreinoud.include "${S}/arch/acorn32/stand/lib/Makefile.inc"
721.1SreinoudLIBRISCOS=		${RISCOSLIB}
731.1Sreinoud
741.1Sreinoud${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBRISCOS}
751.9Sbjh21	${_MKTARGET_LINK}
761.9Sbjh21	${LD} -o ${.TARGET} ${LINKFLAGS} ${OBJS} \
771.12Sbjh21	    --start-group ${LIBSA} ${LIBZ} ${LIBRISCOS} ${LIBKERN} --end-group
781.1Sreinoud	${SIZE} ${.TARGET}
791.1Sreinoud
801.1Sreinoud${PROG},${RISCOSTYPE}: ${PROG}
811.9Sbjh21	${_MKTARGET_CREATE}
821.1Sreinoud	${OBJCOPY} --output-target=binary ${.ALLSRC} ${.TARGET}
831.1Sreinoud
841.1Sreinoudrealall: ${PROG},${RISCOSTYPE}
851.1Sreinoud
861.1SreinoudCLEANFILES+=	${PROG},${RISCOSTYPE}
871.1SreinoudFILES+=		${PROG},${RISCOSTYPE}
881.1Sreinoud
891.1Sreinoud.include <bsd.prog.mk>
90