]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/i386/loader/Makefile
MK_ZFS -> {MK_ZFS|MK_LOADER_ZFS}, this is so we can diable userland / kernel
[FreeBSD/FreeBSD.git] / stand / i386 / loader / Makefile
1 # $FreeBSD$
2
3 HAVE_ZFS=               ${MK_LOADER_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_${LOADER_INTERP}
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_LOADER_ZFS} == "yes" && ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP}
68 LINKS+=         ${BINDIR}/${LOADER} ${BINDIR}/zfsloader
69 .endif
70 .if ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP}
71 LINKS+=         ${BINDIR}/${LOADER} ${BINDIR}/loader
72 .endif
73 FILES+= ${LOADER}
74 FILESMODE_${LOADER}= ${BINMODE} -b
75
76 # XXX crt0.o needs to be first for pxeboot(8) to work
77 OBJS=   ${BTXCRT}
78
79 DPADD=  ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
80 LDADD=  ${LDR_INTERP32} ${LIBFIREWIRE} ${LIBI386} ${LIBSA32}
81
82 .if ${MACHINE_CPUARCH} == "amd64"
83 CFLAGS+=        -DLOADER_PREFER_AMD64
84 .endif
85
86 .include <bsd.prog.mk>