1
2LOADER_MSDOS_SUPPORT?=	yes
3LOADER_UFS_SUPPORT?=	yes
4LOADER_CD9660_SUPPORT?=	no
5LOADER_EXT2FS_SUPPORT?=	no
6PIC=yes
7
8# Note: -nostdlib needs to be added to LDFLAGS before including defs.mk
9LDFLAGS+=	-nostdlib -Wl,-Bsymbolic
10
11.include <bsd.init.mk>
12
13SHLIB_NAME=	userboot_${LOADER_INTERP}.so
14STRIP=
15LIBDIR=		/boot
16
17.PATH:		${.CURDIR}/../userboot
18SRCS=		autoload.c
19SRCS+=		bcache.c
20SRCS+=		biossmap.c
21SRCS+=		bootinfo.c
22SRCS+=		bootinfo32.c
23SRCS+=		bootinfo64.c
24SRCS+=		conf.c
25SRCS+=		copy.c
26SRCS+=		devicename.c
27SRCS+=		elf32_freebsd.c
28SRCS+=		elf64_freebsd.c
29SRCS+=		host.c
30SRCS+=		main.c
31SRCS+=		userboot_cons.c
32SRCS+=		userboot_disk.c
33SRCS+=		vers.c
34
35CFLAGS+=	-Wall
36CFLAGS+=	-I${BOOTSRC}/userboot
37
38.if ${MK_LOADER_ZFS} != "no"
39CFLAGS.main.c+=	-I${BOOTSRC}/libsa/zfs
40CFLAGS.main.c+=	-I${SYSDIR}/contrib/openzfs/include
41CFLAGS.main.c+=	-I${SYSDIR}/contrib/openzfs/include/os/freebsd/zfs
42.endif
43
44CWARNFLAGS.main.c += -Wno-implicit-function-declaration
45
46NEWVERSWHAT=	"User boot ${LOADER_INTERP}" ${MACHINE_CPUARCH}
47VERSION_FILE?=	${.CURDIR}/../userboot/version
48
49.if ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP}
50LINKS+=		${BINDIR}/${SHLIB_NAME} ${BINDIR}/userboot.so
51.endif
52
53.if ${MK_LOADER_ZFS} != "no"
54CFLAGS+=	-DUSERBOOT_ZFS_SUPPORT
55HAVE_ZFS=yes
56.endif
57
58HELP_FILENAME=	loader.help.userboot
59
60# Always add MI sources
61.include	"${BOOTSRC}/loader.mk"
62CFLAGS+=	-I.
63DPADD+=		${LDR_INTERP} ${LIBSA}
64LDADD+=		${LDR_INTERP} ${LIBSA}
65
66.include <bsd.lib.mk>
67