]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/arm/uboot/Makefile
Import lib9p 7ddb1164407da19b9b1afb83df83ae65a71a9a66.
[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"
28 CWARNFLAGS.self_reloc.c+=       -Wno-error=maybe-uninitialized
29 .endif
30
31 HELP_FILES=      ${.CURDIR}/help.uboot ${BOOTSRC}/fdt/help.fdt
32
33 # Always add MI sources
34 .include        "${BOOTSRC}/loader.mk"
35
36 LDFLAGS=        -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH}
37 LDFLAGS+=       -Wl,-znotext
38
39 # Pull in common loader code
40 .include        "${BOOTSRC}/uboot.mk"
41
42 CFLAGS+=        -fPIC
43
44 DPADD=          ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA}
45 LDADD=          ${LDR_INTERP} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSA}
46
47 OBJS+=  ${SRCS:N*.h:R:S/$/.o/g}
48
49 ldscript.abs:
50         echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >${.TARGET}
51
52 ldscript.pie:
53         echo "UBLDR_LOADADDR = 0;" >${.TARGET}
54
55 ubldr: ${OBJS} ldscript.abs ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD}
56         ${CC} ${CFLAGS} -T ldscript.abs ${LDFLAGS} \
57             -o ${.TARGET} ${OBJS} ${LDADD}
58
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}
62
63 ubldr.bin: ubldr.pie
64         ${OBJCOPY} -S -O binary ubldr.pie ${.TARGET}
65
66 CLEANFILES+=    ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin
67
68 .include <bsd.prog.mk>