1# $FreeBSD$ 2 3LOADER_UFS_SUPPORT?= yes 4LOADER_CD9660_SUPPORT?= no 5LOADER_MSDOS_SUPPORT?= no 6LOADER_EXT2FS_SUPPORT?= no 7LOADER_NET_SUPPORT?= yes 8LOADER_NFS_SUPPORT?= yes 9LOADER_TFTP_SUPPORT?= no 10LOADER_GZIP_SUPPORT?= no 11LOADER_BZIP2_SUPPORT?= no 12 13.include <bsd.init.mk> 14 15FILES+= ubldr ubldr.bin 16 17NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} 18INSTALLFLAGS= -b 19WARNS?= 1 20# Address at which ubldr will be loaded. 21# This varies for different boards and SOCs. 22UBLDR_LOADADDR?= 0x1000000 23 24# Architecture-specific loader code 25SRCS= start.S conf.c self_reloc.c vers.c 26 27.if ${COMPILER_TYPE} == "gcc" 28CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized 29.endif 30 31HELP_FILES= ${.CURDIR}/help.uboot ${BOOTSRC}/fdt/help.fdt 32 33# Always add MI sources 34.include "${BOOTSRC}/loader.mk" 35 36LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH} 37LDFLAGS+= -Wl,-znotext 38 39# Pull in common loader code 40.include "${BOOTSRC}/uboot.mk" 41 42CFLAGS+= -fPIC 43 44DPADD= ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA} 45LDADD= ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA} 46 47OBJS+= ${SRCS:N*.h:R:S/$/.o/g} 48 49ldscript.abs: 50 echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET} 51 52ldscript.pie: 53 echo "UBLDR_LOADADDR = 0;" >${.TARGET} 54 55ubldr: ${OBJS} ldscript.abs ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD} 56 ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \ 57 -o ${.TARGET} ${OBJS} ${LDADD} 58 59ubldr.pie: ${OBJS} ldscript.pie ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD} 60 ${CC} ${CFLAGS} -T ldscript.pie ${LDFLAGS} -pie -Wl,-Bsymbolic \ 61 -o ${.TARGET} ${OBJS} ${LDADD} 62 63ubldr.bin: ubldr.pie 64 ${OBJCOPY} -S -O binary ubldr.pie ${.TARGET} 65 66CLEANFILES+= ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin 67 68.include <bsd.prog.mk> 69