Makefile revision 244278
10SN/A# $FreeBSD: head/sys/boot/arm/uboot/Makefile 244278 2012-12-15 21:47:05Z andrew $
29167SN/A
30SN/A.include <bsd.own.mk>
40SN/A
50SN/APROG=		ubldr
60SN/ANEWVERSWHAT=	"U-Boot loader" ${MACHINE_ARCH}
72362SN/ABINDIR?=	/boot
80SN/AINSTALLFLAGS=	-b
92362SN/AWARNS?=		1
100SN/A# Address at which ubldr will be loaded.
110SN/A# This varies for different boards and SOCs.
120SN/AUBLDR_LOADADDR?=	0x1000000
130SN/A
140SN/A# Architecture-specific loader code
150SN/ASRCS=		start.S conf.c vers.c
160SN/A
170SN/A.if !defined(LOADER_NO_DISK_SUPPORT)
180SN/ALOADER_DISK_SUPPORT?=	yes
190SN/A.else
200SN/ALOADER_DISK_SUPPORT=	no
212362SN/A.endif
222362SN/ALOADER_UFS_SUPPORT?=	yes
232362SN/ALOADER_CD9660_SUPPORT?=	no
240SN/ALOADER_EXT2FS_SUPPORT?=	no
250SN/A.if ${MK_NAND} != "no"
260SN/ALOADER_NANDFS_SUPPORT?= yes
270SN/A.else
280SN/ALOADER_NANDFS_SUPPORT?= no
290SN/A.endif
300SN/ALOADER_NET_SUPPORT?=	yes
310SN/ALOADER_NFS_SUPPORT?=	yes
320SN/ALOADER_TFTP_SUPPORT?=	no
330SN/ALOADER_GZIP_SUPPORT?=	no
340SN/ALOADER_BZIP2_SUPPORT?=	no
350SN/A.if ${MK_FDT} != "no"
360SN/ALOADER_FDT_SUPPORT=	yes
370SN/A.else
380SN/ALOADER_FDT_SUPPORT=	no
390SN/A.endif
400SN/A
410SN/A.if ${LOADER_DISK_SUPPORT} == "yes"
420SN/ACFLAGS+=	-DLOADER_DISK_SUPPORT
430SN/A.endif
448241SN/A.if ${LOADER_UFS_SUPPORT} == "yes"
450SN/ACFLAGS+=	-DLOADER_UFS_SUPPORT
460SN/A.endif
470SN/A.if ${LOADER_CD9660_SUPPORT} == "yes"
480SN/ACFLAGS+=	-DLOADER_CD9660_SUPPORT
490SN/A.endif
509167SN/A.if ${LOADER_EXT2FS_SUPPORT} == "yes"
510SN/ACFLAGS+=	-DLOADER_EXT2FS_SUPPORT
520SN/A.endif
530SN/A.if ${LOADER_NANDFS_SUPPORT} == "yes"
540SN/ACFLAGS+=	-DLOADER_NANDFS_SUPPORT
550SN/A.endif
560SN/A.if ${LOADER_GZIP_SUPPORT} == "yes"
570SN/ACFLAGS+=	-DLOADER_GZIP_SUPPORT
580SN/A.endif
590SN/A.if ${LOADER_BZIP2_SUPPORT} == "yes"
600SN/ACFLAGS+=	-DLOADER_BZIP2_SUPPORT
610SN/A.endif
620SN/A.if ${LOADER_NET_SUPPORT} == "yes"
630SN/ACFLAGS+=	-DLOADER_NET_SUPPORT
640SN/A.endif
650SN/A.if ${LOADER_NFS_SUPPORT} == "yes"
660SN/ACFLAGS+=	-DLOADER_NFS_SUPPORT
670SN/A.endif
680SN/A.if ${LOADER_TFTP_SUPPORT} == "yes"
690SN/ACFLAGS+=	-DLOADER_TFTP_SUPPORT
700SN/A.endif
710SN/A.if ${LOADER_FDT_SUPPORT} == "yes"
720SN/ACFLAGS+=	-I${.CURDIR}/../../fdt
730SN/ACFLAGS+=	-I${.OBJDIR}/../../fdt
740SN/ACFLAGS+=	-DLOADER_FDT_SUPPORT
750SN/ALIBFDT=		${.OBJDIR}/../../fdt/libfdt.a
760SN/A.endif
770SN/A
780SN/A.if !defined(NO_FORTH)
790SN/A# Enable BootForth
800SN/ABOOT_FORTH=	yes
810SN/ACFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/arm
820SN/ALIBFICL=	${.OBJDIR}/../../ficl/libficl.a
830SN/A.endif
840SN/A
850SN/A# Always add MI sources
860SN/A.PATH:		${.CURDIR}/../../common
870SN/A.include	"${.CURDIR}/../../common/Makefile.inc"
880SN/ACFLAGS+=	-I${.CURDIR}/../../common
890SN/ACFLAGS+=	-I.
900SN/A
910SN/ACLEANFILES+=	vers.c loader.help
920SN/A
930SN/ACFLAGS+=	-ffreestanding
940SN/A
950SN/ALDFLAGS=	-nostdlib -static
960SN/ALDFLAGS+=	-T ldscript.generated
970SN/ALDFLAGS+=	-T ${.CURDIR}/ldscript.${MACHINE_CPUARCH}
980SN/A
990SN/A# Pull in common loader code
100.PATH:		${.CURDIR}/../../uboot/common
101.include	"${.CURDIR}/../../uboot/common/Makefile.inc"
102CFLAGS+=	-I${.CURDIR}/../../uboot/common
103
104# U-Boot standalone support library
105LIBUBOOT=	${.OBJDIR}/../../uboot/lib/libuboot.a
106CFLAGS+=	-I${.CURDIR}/../../uboot/lib
107CFLAGS+=	-I${.OBJDIR}/../../uboot/lib
108
109# where to get libstand from
110CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
111
112# clang doesn't understand %D as a specifier to printf
113NO_WERROR.clang=
114
115DPADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND}
116LDADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} -lstand
117
118vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
119	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
120
121loader.help: help.common help.uboot
122	cat ${.ALLSRC} | \
123	    awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
124
125${PROG}: ldscript.generated ${.CURDIR}/ldscript.${MACHINE_CPUARCH}
126
127ldscript.generated::
128	rm -f ldscript.generated.tmp
129	echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >ldscript.generated.tmp
130	if diff ldscript.generated ldscript.generated.tmp > /dev/null; then \
131		true; \
132	else \
133		rm -f ldscript.generated; \
134		mv ldscript.generated.tmp ldscript.generated; \
135	fi
136
137.PATH: ${.CURDIR}/../../forth
138FILES=	loader.help
139
140.include <bsd.prog.mk>
141