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