]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/i386/loader/Makefile
Older zfs boot blocks don't support symlinks. install the link to
[FreeBSD/FreeBSD.git] / stand / i386 / loader / Makefile
1 # $FreeBSD$
2
3 HAVE_ZFS=               ${MK_ZFS}
4
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
14
15 .include <bsd.init.mk>
16
17 LOADER?=        loader
18 PROG=           ${LOADER}.sym
19 INTERNALPROG=
20 NEWVERSWHAT?=   "bootstrap loader" x86
21 VERSION_FILE=   ${.CURDIR}/../loader/version
22
23 .PATH:          ${BOOTSRC}/i386/loader
24
25 # architecture-specific loader code
26 SRCS=           main.c conf.c vers.c chain.c
27
28 # Include bcache code.
29 HAVE_BCACHE=    yes
30
31 # Enable PnP and ISA-PnP code.
32 HAVE_PNP=       yes
33 HAVE_ISABUS=    yes
34
35 .if ${MK_LOADER_FIREWIRE} == "yes"
36 CFLAGS+=        -DLOADER_FIREWIRE_SUPPORT
37 LIBFIREWIRE=    ${BOOTOBJ}/i386/libfirewire/libfirewire.a
38 .endif
39
40 .if exists(${.CURDIR}/help.i386)
41 HELP_FILES=     ${.CURDIR}/help.i386
42 .endif
43
44 # Always add MI sources
45 .include        "${BOOTSRC}/loader.mk"
46
47 CLEANFILES+=    ${LOADER} ${LOADER}.bin
48
49 CFLAGS+=        -Wall
50 LDFLAGS+=       -static -Ttext 0x0
51
52 # i386 standalone support library
53 LIBI386=        ${BOOTOBJ}/i386/libi386/libi386.a
54 CFLAGS+=        -I${BOOTSRC}/i386
55
56 # Debug me!
57 #CFLAGS+=       -g
58 #LDFLAGS+=      -g
59
60 ${LOADER}: ${LOADER}.bin ${BTXLDR} ${BTXKERN}
61         btxld -v -f aout -e ${LOADER_ADDRESS} -o ${.TARGET} -l ${BTXLDR} \
62                 -b ${BTXKERN} ${LOADER}.bin
63
64 ${LOADER}.bin: ${LOADER}.sym
65         strip -R .comment -R .note -o ${.TARGET} ${.ALLSRC}
66
67 .if ${MK_ZFS} == "yes"
68 LINKS=          ${BINDIR}/${LOADER} ${BINDIR}/zfs${LOADER}
69 .endif
70 FILES+= ${LOADER}
71 # XXX INSTALLFLAGS_loader= -b
72 FILESMODE_${LOADER}= ${BINMODE} -b
73
74 # XXX crt0.o needs to be first for pxeboot(8) to work
75 OBJS=   ${BTXCRT}
76
77 DPADD=  ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
78 LDADD=  ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
79
80 .if ${MACHINE_CPUARCH} == "amd64"
81 CFLAGS+=        -DLOADER_PREFER_AMD64
82 .endif
83
84 .include <bsd.prog.mk>