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_stub.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 42CWARNFLAGS.main.c += -Wno-implicit-function-declaration 43CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken 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 57HELP_FILENAME= loader.help.userboot 58 59# Always add MI sources 60.include "${BOOTSRC}/loader.mk" 61CFLAGS+= -I. 62DPADD+= ${LDR_INTERP} ${LIBSA} 63LDADD+= ${LDR_INTERP} ${LIBSA} 64 65.include <bsd.lib.mk> 66