3 HAVE_ZFS= ${MK_LOADER_ZFS}
5 LOADER_NET_SUPPORT?= yes
6 LOADER_NFS_SUPPORT?= yes
7 LOADER_TFTP_SUPPORT?= yes
8 LOADER_CD9660_SUPPORT?= yes
9 LOADER_EXT2FS_SUPPORT?= yes
10 LOADER_MSDOS_SUPPORT?= yes
11 LOADER_UFS_SUPPORT?= yes
12 LOADER_GZIP_SUPPORT?= yes
13 LOADER_BZIP2_SUPPORT?= yes
15 .include <bsd.init.mk>
17 LOADER?= loader_${LOADER_INTERP}
20 NEWVERSWHAT?= "bootstrap loader" x86
21 VERSION_FILE= ${.CURDIR}/../loader/version
23 .PATH: ${BOOTSRC}/i386/loader
25 # architecture-specific loader code
26 SRCS= main.c conf.c vers.c chain.c
28 # Include bcache code.
31 # Enable PnP and ISA-PnP code.
35 .if ${MK_LOADER_FIREWIRE} == "yes"
36 CFLAGS+= -DLOADER_FIREWIRE_SUPPORT
37 LIBFIREWIRE= ${BOOTOBJ}/i386/libfirewire/libfirewire.a
40 .if exists(${.CURDIR}/help.i386)
41 HELP_FILES= ${.CURDIR}/help.i386
44 # Always add MI sources
45 .include "${BOOTSRC}/loader.mk"
47 CLEANFILES+= ${LOADER} ${LOADER}.bin
52 LDFLAGS+= -static ${LDFLAGS_ORG} -Wl,--gc-sections
54 # i386 standalone support library
55 LIBI386= ${BOOTOBJ}/i386/libi386/libi386.a
56 CFLAGS+= -I${BOOTSRC}/i386
62 ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
63 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
64 -b ${BTXKERN} ${LOADER}.bin
66 ${LOADER}.bin: ${LOADER}.sym
67 strip -R .comment -R .note -o ${.TARGET} ${.ALLSRC}
69 .if ${MK_LOADER_ZFS} == "yes" && ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP}
70 LINKS+= ${BINDIR}/${LOADER} ${BINDIR}/zfsloader
72 .if ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP}
73 LINKS+= ${BINDIR}/${LOADER} ${BINDIR}/loader
76 FILESMODE_${LOADER}= ${BINMODE} -b
78 # XXX crt0.o needs to be first for pxeboot(8) to work
81 DPADD= ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
82 LDADD= ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
84 .if ${MACHINE_CPUARCH} == "amd64"
85 CFLAGS+= -DLOADER_PREFER_AMD64
88 .include <bsd.prog.mk>