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