Makefile revision 1.54
11.54Smartin#	$NetBSD: Makefile,v 1.54 2019/08/15 19:53:01 martin Exp $
21.1Slukem#
31.14Sbjh21
41.14Sbjh21.include <bsd.own.mk>
51.1Slukem
61.1SlukemPROG=	installboot
71.1SlukemMAN=	installboot.8
81.34SdslSRCS=	installboot.c sum.c machines.c fstypes.c
91.34Sdsl
101.34SdslARCH_XLAT= amd64-i386.c news68k-news.c newsmips-news.c
111.34SdslARCH_XLAT+= sun2-sun68k.c sun3-sun68k.c
121.34Sdsl
131.34Sdsl.if !defined(SMALLPROG) && !defined(ARCH_FILES)
141.52SthorpejARCH_FILES=  alpha.c amiga.c
151.52SthorpejARCH_FILES+= emips.c evbarm.c ews4800mips.c
161.52SthorpejARCH_FILES+= hp300.c hppa.c
171.52SthorpejARCH_FILES+= i386.c
181.52SthorpejARCH_FILES+= landisk.c
191.52SthorpejARCH_FILES+= macppc.c
201.52SthorpejARCH_FILES+= news.c next68k.c
211.52SthorpejARCH_FILES+= pmax.c
221.52SthorpejARCH_FILES+= sparc.c sparc64.c sun68k.c
231.52SthorpejARCH_FILES+= vax.c
241.52SthorpejARCH_FILES+= x68k.c
251.34Sdsl.else
261.34SdslARCH_FILES?= ${ARCH_XLAT:M${MACHINE}-*:S/${MACHINE}-//}
271.34Sdsl.if empty(ARCH_FILES)
281.34SdslARCH_FILES= ${MACHINE}.c
291.34Sdsl.endif
301.54SmartinCOPTS.machines.c+=	-DSINGLE_ARCH=ib_mach_${MACHINE}
311.34Sdsl.endif
321.34Sdsl
331.34SdslSRCS+=${ARCH_FILES}
341.34Sdsl
351.52Sthorpej.if !empty(ARCH_FILES:C/(evbarm)/evboard/:Mevboard.c)
361.52SthorpejSRCS+=evboards.c
371.52Sthorpej.endif
381.52Sthorpej
391.52Sthorpej.if !empty(ARCH_FILES:C/(evbarm)/fdt/:Mfdt.c)
401.52SthorpejFDTDIR=		${.CURDIR}/../../sys/external/bsd/libfdt/dist
411.52Sthorpej.PATH:		${FDTDIR}
421.52SthorpejCPPFLAGS+=	-DSUPPORT_FDT -I${FDTDIR}
431.52SthorpejSRCS+=fdt.c fdt_ro.c fdt_strerror.c
441.52Sthorpej# XXX libfdt has some sign-comparison issues
451.52SthorpejCOPTS.fdt.c+=		-Wno-error=sign-compare
461.52SthorpejCOPTS.fdt_ro.c+=	-Wno-error=sign-compare
471.52SthorpejCOPTS.fdt_strerror.c+=	-Wno-error=sign-compare
481.52Sthorpej.endif
491.52Sthorpej
501.52Sthorpej
511.52Sthorpej.if !defined(HOSTPROGNAME)
521.52Sthorpej.if !empty(ARCH_FILES:C/(evbarm)/ofw/:Mofw.c)
531.52SthorpejCPPFLAGS+=	-DSUPPORT_OPENFIRMWARE
541.52Sthorpej.endif
551.52Sthorpej.endif
561.52Sthorpej
571.34Sdsl.if empty(ARCH_FILES:C/(macppc|news|sparc|sun68k|x68k)/stg2/:Mstg2.c)
581.52SthorpejCPPFLAGS+=	-DNO_STAGE2
591.34Sdsl.else
601.34SdslSRCS+= bbinfo.c
611.34Sdsl
621.34Sdsl# fstypes are only needed for 'stage2' and then only from bbinfo.
631.34SdslSRCS+= ffs.c
641.34Sdsl.if SMALLPROG
651.34SdslCPPFLAGS+=	-DNO_FFS_SWAP
661.34Sdsl.else
671.34SdslSRCS+= ffs_bswap.c
681.34Sdsl.endif
691.38Stsutsui#SRCS+= ext2fs.c ext2fs_bswap.c
701.34Sdsl.endif
711.1Slukem
721.17SlukemUFSSRC=		${NETBSDSRCDIR}/sys/ufs
731.12SlukemCPPFLAGS+=	-I${.CURDIR} -I.
741.38Stsutsui.PATH:		${.CURDIR}/arch ${UFSSRC}/ffs ${UFSSRC}/ext2fs
751.26Smrg
761.36Smrg.if !defined(HOSTPROGNAME)
771.35Smrg.for f in i386 macppc
781.35SmrgCOPTS.${f}.c+=  -Wno-pointer-sign
791.35Smrg.endfor
801.35Smrg
811.52Sthorpej.if !empty(SRCS:Mevboards.c)
821.52SthorpejLDADD+=	-lprop
831.52SthorpejDPADD+=	${LIBPROP}
841.52Sthorpej.endif
851.52Sthorpej
861.49SmlelstvLDADD+= -lutil
871.49SmlelstvDPADD+= ${LIBUTIL}
881.50Sjoerg.endif
891.49Smlelstv
901.51SjoergCWARNFLAGS.clang+=	-Wno-error=address-of-packed-member
911.51Sjoerg
921.1Slukem.include <bsd.prog.mk>
93