]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/arm/uboot/Makefile
Re-sync loader.mk and ficl.mk to where they should be
[FreeBSD/FreeBSD.git] / stand / arm / uboot / Makefile
1 # $FreeBSD$
2
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
12
13 .include <bsd.init.mk>
14
15 FILES+=         ubldr ubldr.bin
16
17 NEWVERSWHAT=    "U-Boot loader" ${MACHINE_ARCH}
18 INSTALLFLAGS=   -b
19 WARNS?=         1
20 # Address at which ubldr will be loaded.
21 # This varies for different boards and SOCs.
22 UBLDR_LOADADDR?=        0x1000000
23
24 # Architecture-specific loader code
25 SRCS=           start.S conf.c self_reloc.c vers.c
26
27 .if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} > 40201
28 CWARNFLAGS.self_reloc.c+=       -Wno-error=maybe-uninitialized
29 .endif
30
31 HELP_FILES+=     help.uboot ${BOOTSRC}/fdt/help.fdt
32
33 # Always add MI sources
34 .include        "${BOOTSRC}/loader.mk"
35
36 CFLAGS+=        -ffreestanding -msoft-float
37
38 LDFLAGS=        -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH}
39 LDFLAGS+=       -Wl,-znotext
40
41 # Pull in common loader code
42 .include        "${BOOTSRC}/uboot.mk"
43
44 CFLAGS+=        -fPIC
45
46 DPADD=          ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA}
47 LDADD=          ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA}
48
49 OBJS+=  ${SRCS:N*.h:R:S/$/.o/g}
50
51 ldscript.abs:
52         echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET}
53
54 ldscript.pie:
55         echo "UBLDR_LOADADDR = 0;" >${.TARGET}
56
57 ubldr: ${OBJS} ldscript.abs ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD}
58         ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \
59             -o ${.TARGET} ${OBJS} ${LDADD}
60
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}
64
65 ubldr.bin: ubldr.pie
66         ${OBJCOPY} -S -O binary ubldr.pie ${.TARGET}
67
68 CLEANFILES+=    ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin
69
70 .include <bsd.prog.mk>