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