Makefile revision 1.59
11.2Sriastrad#	$NetBSD: Makefile,v 1.59 2024/05/19 15:48:57 tsutsui Exp $
21.2Sriastrad#
31.3Sriastrad
41.1Sriastrad.include <bsd.own.mk>
51.1Sriastrad
61.1SriastradPROG=	installboot
71.1SriastradMAN=	installboot.8
81.1SriastradSRCS=	installboot.c sum.c machines.c fstypes.c
91.1Sriastrad
101.1SriastradARCH_XLAT= amd64-i386.c news68k-news.c newsmips-news.c
111.1SriastradARCH_XLAT+= sun2-sun68k.c sun3-sun68k.c
121.1Sriastrad
131.1Sriastrad.if !defined(SMALLPROG) && !defined(ARCH_FILES)
141.1SriastradARCH_FILES=  alpha.c amiga.c
151.1SriastradARCH_FILES+= emips.c evbarm.c evbmips.c ews4800mips.c
161.1SriastradARCH_FILES+= hp300.c hppa.c
171.1SriastradARCH_FILES+= i386.c
181.1SriastradARCH_FILES+= landisk.c
191.1SriastradARCH_FILES+= macppc.c
201.1SriastradARCH_FILES+= news.c next68k.c
211.1SriastradARCH_FILES+= pmax.c
221.1SriastradARCH_FILES+= sparc.c sparc64.c sun68k.c
231.1SriastradARCH_FILES+= vax.c
241.1SriastradARCH_FILES+= x68k.c
251.1Sriastrad.else
261.1SriastradARCH_FILES?= ${ARCH_XLAT:M${MACHINE}-*:S/${MACHINE}-//}
271.1Sriastrad.if empty(ARCH_FILES)
281.3SriastradARCH_FILES= ${MACHINE}.c
291.3Sriastrad.endif
301.1SriastradCOPTS.machines.c+=	-DSINGLE_ARCH=ib_mach_${MACHINE}
311.2Sriastrad.endif
321.2Sriastrad
331.2SriastradSRCS+=${ARCH_FILES}
341.1Sriastrad
351.1Sriastrad.if !empty(ARCH_FILES:C/(evbarm|evbmips)/evboard/:Mevboard.c)
361.1SriastradSRCS+=evboards.c
371.3Sriastrad.endif
381.1Sriastrad
391.1Sriastrad.if !empty(ARCH_FILES:C/(evbarm|evbmips)/fdt/:Mfdt.c)
401.2SriastradFDTDIR=		${.CURDIR}/../../sys/external/bsd/libfdt/dist
411.2Sriastrad.PATH:		${FDTDIR}
421.2SriastradCPPFLAGS+=	-DSUPPORT_FDT -I${FDTDIR}
431.2SriastradSRCS+=fdt.c fdt_ro.c fdt_strerror.c
441.2Sriastrad# XXX libfdt has some sign-comparison issues
451.2SriastradCOPTS.fdt.c+=		-Wno-error=sign-compare
461.2SriastradCOPTS.fdt_ro.c+=	-Wno-error=sign-compare
471.1SriastradCOPTS.fdt_strerror.c+=	-Wno-error=sign-compare
481.2Sriastrad.endif
491.1Sriastrad
501.1Sriastrad
511.1Sriastrad.if !defined(HOSTPROGNAME)
521.1Sriastrad.if !empty(ARCH_FILES:C/(evbarm|evbmips)/ofw/:Mofw.c)
531.2SriastradCPPFLAGS+=	-DSUPPORT_OPENFIRMWARE
541.1Sriastrad.endif
551.1Sriastrad.endif
561.1Sriastrad
571.1Sriastrad.if empty(ARCH_FILES:C/(macppc|news|sparc|sun68k|x68k)/stg2/:Mstg2.c)
581.1SriastradCPPFLAGS+=	-DNO_STAGE2
591.1Sriastrad.else
601.3SriastradSRCS+= bbinfo.c
611.3Sriastrad
621.3Sriastrad# fstypes are only needed for 'stage2' and then only from bbinfo.
631.3SriastradSRCS+= ffs.c
641.1Sriastrad.if SMALLPROG
651.1SriastradCPPFLAGS+=	-DNO_FFS_SWAP
661.1Sriastrad.else
671.1SriastradSRCS+= ffs_bswap.c
681.1Sriastrad.endif
691.1Sriastrad#SRCS+= ext2fs.c ext2fs_bswap.c
701.1Sriastrad.endif
711.1Sriastrad
721.1Sriastrad.if !empty(ARCH_FILES:C/(hp300|macppc)/cd9660/:Mcd9660.c) && \
731.1Sriastrad    !defined(SMALLPROG)
741.1SriastradCPPFLAGS+=	-DSUPPORT_CD9660
751.3SriastradSRCS+= cd9660.c cd9660_util.c
761.3Sriastrad
771.3Sriastrad.if !make(obj) && !make(clean) && !make(cleandir)
781.3Sriastrad.BEGIN:
791.3Sriastrad	-rm -rf fs
801.1Sriastrad	${HOST_INSTALL_DIR} fs
811.1Sriastrad	${HOST_INSTALL_DIR} fs/cd9660
821.1Sriastrad	${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/unicode.h fs
831.1Sriastrad	${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/cd9660/iso.h fs/cd9660
841.1Sriastrad	${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/cd9660/cd9660_extern.h fs/cd9660
851.1Sriastrad.endif
861.1Sriastrad
871.1Sriastradcleandir distclean: cleaninc
881.1Sriastrad
891.2Sriastradcleaninc:
901.1Sriastrad	-rm -rf fs
911.1Sriastrad.endif
921.2Sriastrad
931.1SriastradUFSSRC=		${NETBSDSRCDIR}/sys/ufs
941.1SriastradCD9660SRC=	${NETBSDSRCDIR}/sys/fs/cd9660
951.1SriastradCPPFLAGS+=	-I${.CURDIR} -I.
961.1Sriastrad.PATH:		${.CURDIR}/arch ${UFSSRC}/ffs ${UFSSRC}/ext2fs ${CD9660SRC}
971.1Sriastrad
981.1Sriastrad.if !defined(HOSTPROGNAME)
991.1Sriastrad.for f in i386 macppc
1001.1SriastradCOPTS.${f}.c+=  -Wno-pointer-sign
1011.1Sriastrad.endfor
102
103.if !empty(SRCS:Mevboards.c)
104LDADD+=	-lprop
105DPADD+=	${LIBPROP}
106.endif
107
108LDADD+= -lutil
109DPADD+= ${LIBUTIL}
110.endif
111
112CWARNFLAGS+=		${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
113
114.include <bsd.prog.mk>
115