diff --git a/stand/uboot/Makefile b/stand/uboot/Makefile index aed2121bd507..052c9615bfc2 100644 --- a/stand/uboot/Makefile +++ b/stand/uboot/Makefile @@ -1,81 +1,86 @@ # $FreeBSD$ LOADER_UFS_SUPPORT?= yes LOADER_CD9660_SUPPORT?= no LOADER_MSDOS_SUPPORT?= no LOADER_EXT2FS_SUPPORT?= no LOADER_NET_SUPPORT?= yes LOADER_NFS_SUPPORT?= yes LOADER_TFTP_SUPPORT?= no LOADER_GZIP_SUPPORT?= no LOADER_BZIP2_SUPPORT?= no LOADER_DISK_SUPPORT?= yes .include .include "${.CURDIR}/arch/${MACHINE_CPUARCH}/Makefile.inc" -.if ${MK_PIE} == "yes" +LOADER_UBLDR_BIN?= yes +.if ${LOADER_UBLDR_BIN} != "no" FILES+= ubldr ubldr.bin -OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .else PROG= ubldr .endif NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} BINDIR= /boot/uboot INSTALLFLAGS= -b WARNS?= 1 .PATH: ${BOOTSRC}/common .PATH: ${.CURDIR}/arch/${MACHINE_CPUARCH} .if ${COMPILER_TYPE} == "gcc" CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized .endif HELP_FILES= ${.CURDIR}/help.uboot ${BOOTSRC}/fdt/help.fdt # Always add MI sources .include "${BOOTSRC}/loader.mk" LDSCRIPT= ${.CURDIR}/arch/${MACHINE_CPUARCH}/ldscript.${MACHINE_CPUARCH} LDFLAGS= -nostdlib -static -T ${LDSCRIPT} LDFLAGS+= -Wl,-znotext SRCS+= main.c vers.c SRCS+= copy.c devicename.c elf_freebsd.c glue.c SRCS+= net.c reboot.c time.c gfx_fb_stub.c SRCS+= uboot_console.c uboot_disk.c uboot_fdt.c uboot_module.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken CFLAGS.glue.c+= -DHAVE_MEMCPY -I${SRCTOP}/sys/contrib/zlib CFLAGS+= -I${BOOTSRC}/common CFLAGS+= -I${.CURDIR} CFLAGS+= -I${.OBJDIR} .if ${MACHINE_CPUARCH} == "arm" SRCS+= metadata.c .endif .include "${BOOTSRC}/fdt.mk" CFLAGS+= -fPIC # Pick up the bootstrap header for some interface items CFLAGS+= -I${LDRSRC} # libfdt headers CFLAGS+= -I${FDTSRC} .ifdef(BOOT_DISK_DEBUG) # Make the disk code more talkative CFLAGS+= -DDISK_DEBUG .endif +.if ${LOADER_UBLDR_BIN} != "no" +OBJS+= ${SRCS:N*.h:R:S/$/.o/g} +ubldr ubldr.bin ubldr.pie: ${OBJS} +.endif + DPADD= ${LDR_INTERP} ${LIBFDT} ${LIBSA} LDADD= ${LDR_INTERP} ${LIBFDT} ${LIBSA} .include diff --git a/stand/uboot/arch/powerpc/Makefile.inc b/stand/uboot/arch/powerpc/Makefile.inc index 01c7a0c6ac8c..226cfc2f7369 100644 --- a/stand/uboot/arch/powerpc/Makefile.inc +++ b/stand/uboot/arch/powerpc/Makefile.inc @@ -1,6 +1,6 @@ SRCS+= start.S conf.c ppc64_elf_freebsd.c .PATH: ${SYSDIR}/libkern SRCS+= ucmpdi2.c -MK_PIE= no +LOADER_UBLDR_BIN= no