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