Makefile revision 246647
1183878Sraj# $FreeBSD: head/sys/boot/arm/uboot/Makefile 246647 2013-02-11 02:15:26Z kientzle $ 2183878Sraj 3209125Sraj.include <bsd.own.mk> 4209125Sraj 5183878SrajPROG= ubldr 6183878SrajNEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} 7183878SrajBINDIR?= /boot 8183878SrajINSTALLFLAGS= -b 9183878SrajWARNS?= 1 10236159Skientzle# Address at which ubldr will be loaded. 11236159Skientzle# This varies for different boards and SOCs. 12236159SkientzleUBLDR_LOADADDR?= 0x1000000 13183878Sraj 14183878Sraj# Architecture-specific loader code 15183878SrajSRCS= start.S conf.c vers.c 16183878Sraj 17240277Sae.if !defined(LOADER_NO_DISK_SUPPORT) 18185099SrajLOADER_DISK_SUPPORT?= yes 19240277Sae.else 20240277SaeLOADER_DISK_SUPPORT= no 21240277Sae.endif 22185099SrajLOADER_UFS_SUPPORT?= yes 23183878SrajLOADER_CD9660_SUPPORT?= no 24183878SrajLOADER_EXT2FS_SUPPORT?= no 25235537Sgber.if ${MK_NAND} != "no" 26235537SgberLOADER_NANDFS_SUPPORT?= yes 27235537Sgber.else 28235537SgberLOADER_NANDFS_SUPPORT?= no 29235537Sgber.endif 30183878SrajLOADER_NET_SUPPORT?= yes 31183878SrajLOADER_NFS_SUPPORT?= yes 32183878SrajLOADER_TFTP_SUPPORT?= no 33183878SrajLOADER_GZIP_SUPPORT?= no 34183878SrajLOADER_BZIP2_SUPPORT?= no 35209125Sraj.if ${MK_FDT} != "no" 36208538SrajLOADER_FDT_SUPPORT= yes 37208538Sraj.else 38208538SrajLOADER_FDT_SUPPORT= no 39208538Sraj.endif 40183878Sraj 41183878Sraj.if ${LOADER_DISK_SUPPORT} == "yes" 42183878SrajCFLAGS+= -DLOADER_DISK_SUPPORT 43183878Sraj.endif 44183878Sraj.if ${LOADER_UFS_SUPPORT} == "yes" 45183878SrajCFLAGS+= -DLOADER_UFS_SUPPORT 46183878Sraj.endif 47183878Sraj.if ${LOADER_CD9660_SUPPORT} == "yes" 48183878SrajCFLAGS+= -DLOADER_CD9660_SUPPORT 49183878Sraj.endif 50183878Sraj.if ${LOADER_EXT2FS_SUPPORT} == "yes" 51183878SrajCFLAGS+= -DLOADER_EXT2FS_SUPPORT 52183878Sraj.endif 53235537Sgber.if ${LOADER_NANDFS_SUPPORT} == "yes" 54235537SgberCFLAGS+= -DLOADER_NANDFS_SUPPORT 55235537Sgber.endif 56183878Sraj.if ${LOADER_GZIP_SUPPORT} == "yes" 57183878SrajCFLAGS+= -DLOADER_GZIP_SUPPORT 58183878Sraj.endif 59183878Sraj.if ${LOADER_BZIP2_SUPPORT} == "yes" 60183878SrajCFLAGS+= -DLOADER_BZIP2_SUPPORT 61183878Sraj.endif 62183878Sraj.if ${LOADER_NET_SUPPORT} == "yes" 63183878SrajCFLAGS+= -DLOADER_NET_SUPPORT 64183878Sraj.endif 65183878Sraj.if ${LOADER_NFS_SUPPORT} == "yes" 66183878SrajCFLAGS+= -DLOADER_NFS_SUPPORT 67183878Sraj.endif 68183878Sraj.if ${LOADER_TFTP_SUPPORT} == "yes" 69183878SrajCFLAGS+= -DLOADER_TFTP_SUPPORT 70183878Sraj.endif 71208538Sraj.if ${LOADER_FDT_SUPPORT} == "yes" 72208538SrajCFLAGS+= -I${.CURDIR}/../../fdt 73208538SrajCFLAGS+= -I${.OBJDIR}/../../fdt 74208538SrajCFLAGS+= -DLOADER_FDT_SUPPORT 75208538SrajLIBFDT= ${.OBJDIR}/../../fdt/libfdt.a 76208538Sraj.endif 77183878Sraj 78183878Sraj.if !defined(NO_FORTH) 79183878Sraj# Enable BootForth 80183878SrajBOOT_FORTH= yes 81183878SrajCFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/arm 82183878SrajLIBFICL= ${.OBJDIR}/../../ficl/libficl.a 83183878Sraj.endif 84183878Sraj 85183878Sraj# Always add MI sources 86183878Sraj.PATH: ${.CURDIR}/../../common 87183878Sraj.include "${.CURDIR}/../../common/Makefile.inc" 88183878SrajCFLAGS+= -I${.CURDIR}/../../common 89183878SrajCFLAGS+= -I. 90183878Sraj 91185375SrajCLEANFILES+= vers.c loader.help 92183878Sraj 93183878SrajCFLAGS+= -ffreestanding 94183878Sraj 95236159SkientzleLDFLAGS= -nostdlib -static 96236159SkientzleLDFLAGS+= -T ldscript.generated 97236159SkientzleLDFLAGS+= -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH} 98183878Sraj 99183878Sraj# Pull in common loader code 100183878Sraj.PATH: ${.CURDIR}/../../uboot/common 101183878Sraj.include "${.CURDIR}/../../uboot/common/Makefile.inc" 102183878SrajCFLAGS+= -I${.CURDIR}/../../uboot/common 103183878Sraj 104183878Sraj# U-Boot standalone support library 105183878SrajLIBUBOOT= ${.OBJDIR}/../../uboot/lib/libuboot.a 106183878SrajCFLAGS+= -I${.CURDIR}/../../uboot/lib 107183878SrajCFLAGS+= -I${.OBJDIR}/../../uboot/lib 108183878Sraj 109183878Sraj# where to get libstand from 110183878SrajCFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ 111183878Sraj 112244278Sandrew# clang doesn't understand %D as a specifier to printf 113244278SandrewNO_WERROR.clang= 114244278Sandrew 115246369SandrewDPADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND} 116246369SandrewLDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} -lstand 117183878Sraj 118183878Srajvers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version 119183878Sraj sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 120183878Sraj 121246647Skientzleloader.help: help.common help.uboot ${.CURDIR}/../../fdt/help.fdt 122183878Sraj cat ${.ALLSRC} | \ 123183878Sraj awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 124183878Sraj 125236159Skientzle${PROG}: ldscript.generated ${.CURDIR}/ldscript.${MACHINE_CPUARCH} 126236159Skientzle 127236159Skientzleldscript.generated:: 128236159Skientzle rm -f ldscript.generated.tmp 129236159Skientzle echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >ldscript.generated.tmp 130236159Skientzle if diff ldscript.generated ldscript.generated.tmp > /dev/null; then \ 131236159Skientzle true; \ 132236159Skientzle else \ 133236159Skientzle rm -f ldscript.generated; \ 134236159Skientzle mv ldscript.generated.tmp ldscript.generated; \ 135236159Skientzle fi 136236159Skientzle 137183878Sraj.PATH: ${.CURDIR}/../../forth 138185375SrajFILES= loader.help 139183878Sraj 140183878Sraj.include <bsd.prog.mk> 141