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" && ${COMPILER_VERSION} > 40201
28 CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized
31 HELP_FILES+= help.uboot ${BOOTSRC}/fdt/help.fdt
33 # Always add MI sources
34 .include "${BOOTSRC}/loader.mk"
36 CFLAGS+= -ffreestanding -msoft-float
38 LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH}
39 LDFLAGS+= -Wl,-znotext
41 # Pull in common loader code
42 .include "${BOOTSRC}/uboot.mk"
46 DPADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA}
47 LDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA}
49 OBJS+= ${SRCS:N*.h:R:S/$/.o/g}
52 echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET}
55 echo "UBLDR_LOADADDR = 0;" >${.TARGET}
57 ubldr: ${OBJS} ldscript.abs ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD}
58 ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \
59 -o ${.TARGET} ${OBJS} ${LDADD}
61 ubldr.pie: ${OBJS} ldscript.pie ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD}
62 ${CC} ${CFLAGS} -T ldscript.pie ${LDFLAGS} -pie -Wl,-Bsymbolic \
63 -o ${.TARGET} ${OBJS} ${LDADD}
66 ${OBJCOPY} -S -O binary ubldr.pie ${.TARGET}
68 CLEANFILES+= ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin
70 .include <bsd.prog.mk>