xref: /freebsd/stand/userboot/userboot/Makefile (revision e0c4386e)
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
34SRCS+=		gfx_fb_stub.c
35
36CFLAGS+=	-Wall
37CFLAGS+=	-I${BOOTSRC}/userboot
38
39.if ${MK_LOADER_ZFS} != "no"
40CFLAGS.main.c+=	-I${BOOTSRC}/libsa/zfs
41CFLAGS.main.c+=	-I${SYSDIR}/contrib/openzfs/include
42CFLAGS.main.c+=	-I${SYSDIR}/contrib/openzfs/include/os/freebsd/zfs
43.endif
44
45CWARNFLAGS.main.c += -Wno-implicit-function-declaration
46CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken
47
48NEWVERSWHAT=	"User boot ${LOADER_INTERP}" ${MACHINE_CPUARCH}
49VERSION_FILE=	${.CURDIR}/../userboot/version
50
51.if ${LOADER_INTERP} == ${LOADER_DEFAULT_INTERP}
52LINKS+=		${BINDIR}/${SHLIB_NAME} ${BINDIR}/userboot.so
53.endif
54
55.if ${MK_LOADER_ZFS} != "no"
56CFLAGS+=	-DUSERBOOT_ZFS_SUPPORT
57HAVE_ZFS=yes
58.endif
59
60HELP_FILENAME=	loader.help.userboot
61
62# Always add MI sources
63.include	"${BOOTSRC}/loader.mk"
64CFLAGS+=	-I.
65DPADD+=		${LDR_INTERP} ${LIBSA}
66LDADD+=		${LDR_INTERP} ${LIBSA}
67
68.include <bsd.lib.mk>
69