1# $NetBSD: Makefile,v 1.60 2024/05/22 15:42:42 tsutsui Exp $ 2# 3 4.include <bsd.own.mk> 5 6PROG= installboot 7MAN= installboot.8 8SRCS= installboot.c sum.c machines.c fstypes.c 9 10ARCH_XLAT= amd64-i386.c news68k-news.c newsmips-news.c 11ARCH_XLAT+= sun2-sun68k.c sun3-sun68k.c 12 13.if !defined(SMALLPROG) && !defined(ARCH_FILES) 14ARCH_FILES= alpha.c amiga.c 15ARCH_FILES+= evbarm.c evbmips.c ews4800mips.c 16ARCH_FILES+= hp300.c hppa.c 17ARCH_FILES+= i386.c 18ARCH_FILES+= landisk.c 19ARCH_FILES+= macppc.c 20ARCH_FILES+= news.c next68k.c 21ARCH_FILES+= pmax.c 22ARCH_FILES+= sparc.c sparc64.c sun68k.c 23ARCH_FILES+= vax.c 24ARCH_FILES+= x68k.c 25.else 26ARCH_FILES?= ${ARCH_XLAT:M${MACHINE}-*:S/${MACHINE}-//} 27.if empty(ARCH_FILES) 28ARCH_FILES= ${MACHINE}.c 29.endif 30COPTS.machines.c+= -DSINGLE_ARCH=ib_mach_${MACHINE} 31.endif 32 33SRCS+=${ARCH_FILES} 34 35.if !empty(ARCH_FILES:C/(evbarm|evbmips)/evboard/:Mevboard.c) 36SRCS+=evboards.c 37.endif 38 39.if !empty(ARCH_FILES:C/(evbarm|evbmips)/fdt/:Mfdt.c) 40FDTDIR= ${.CURDIR}/../../sys/external/bsd/libfdt/dist 41.PATH: ${FDTDIR} 42CPPFLAGS+= -DSUPPORT_FDT -I${FDTDIR} 43SRCS+=fdt.c fdt_ro.c fdt_strerror.c 44# XXX libfdt has some sign-comparison issues 45COPTS.fdt.c+= -Wno-error=sign-compare 46COPTS.fdt_ro.c+= -Wno-error=sign-compare 47COPTS.fdt_strerror.c+= -Wno-error=sign-compare 48.endif 49 50 51.if !defined(HOSTPROGNAME) 52.if !empty(ARCH_FILES:C/(evbarm|evbmips)/ofw/:Mofw.c) 53CPPFLAGS+= -DSUPPORT_OPENFIRMWARE 54.endif 55.endif 56 57.if empty(ARCH_FILES:C/(macppc|news|sparc|sun68k|x68k)/stg2/:Mstg2.c) 58CPPFLAGS+= -DNO_STAGE2 59.else 60SRCS+= bbinfo.c 61 62# fstypes are only needed for 'stage2' and then only from bbinfo. 63SRCS+= ffs.c 64.if SMALLPROG 65CPPFLAGS+= -DNO_FFS_SWAP 66.else 67SRCS+= ffs_bswap.c 68.endif 69#SRCS+= ext2fs.c ext2fs_bswap.c 70.endif 71 72.if !empty(ARCH_FILES:C/(hp300|macppc)/cd9660/:Mcd9660.c) && \ 73 !defined(SMALLPROG) 74CPPFLAGS+= -DSUPPORT_CD9660 75SRCS+= cd9660.c cd9660_util.c 76 77.if !make(obj) && !make(clean) && !make(cleandir) 78.BEGIN: 79 -rm -rf fs 80 ${HOST_INSTALL_DIR} fs 81 ${HOST_INSTALL_DIR} fs/cd9660 82 ${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/unicode.h fs 83 ${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/cd9660/iso.h fs/cd9660 84 ${HOST_LN} -s ${NETBSDSRCDIR}/sys/fs/cd9660/cd9660_extern.h fs/cd9660 85.endif 86 87cleandir distclean: cleaninc 88 89cleaninc: 90 -rm -rf fs 91.endif 92 93UFSSRC= ${NETBSDSRCDIR}/sys/ufs 94CD9660SRC= ${NETBSDSRCDIR}/sys/fs/cd9660 95CPPFLAGS+= -I${.CURDIR} -I. 96.PATH: ${.CURDIR}/arch ${UFSSRC}/ffs ${UFSSRC}/ext2fs ${CD9660SRC} 97 98.if !defined(HOSTPROGNAME) 99.for f in i386 macppc 100COPTS.${f}.c+= -Wno-pointer-sign 101.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