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