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