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
50 LDFLAGS+= -static -Ttext 0x0 -Wl,--gc-sections
52 # i386 standalone support library
53 LIBI386= ${BOOTOBJ}/i386/libi386/libi386.a
54 CFLAGS+= -I${BOOTSRC}/i386
60 ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
61 btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
62 -b ${BTXKERN} ${LOADER}.bin
64 ${LOADER}.bin: ${LOADER}.sym
65 strip -R .comment -R .note -o ${.TARGET} ${.ALLSRC}
67 .if ${MK_LOADER_ZFS} == "yes" && ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP}
68 LINKS+= ${BINDIR}/${LOADER} ${BINDIR}/zfsloader
70 .if ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP}
71 LINKS+= ${BINDIR}/${LOADER} ${BINDIR}/loader
74 FILESMODE_${LOADER}= ${BINMODE} -b
76 # XXX crt0.o needs to be first for pxeboot(8) to work
79 DPADD= ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
80 LDADD= ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
82 .if ${MACHINE_CPUARCH} == "amd64"
83 CFLAGS+= -DLOADER_PREFER_AMD64
86 .include <bsd.prog.mk>