Makefile revision 281843
1179237Sjb# $FreeBSD: stable/10/sys/boot/arm/uboot/Makefile 281843 2015-04-22 01:08:40Z dteske $ 2179237Sjb 3179237Sjb.include <bsd.own.mk> 4179237Sjb 5179237SjbPROG= ubldr 6179237SjbNEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} 7179237SjbBINDIR?= /boot 8179237SjbINSTALLFLAGS= -b 9179237SjbWARNS?= 1 10179237Sjb# Address at which ubldr will be loaded. 11179237Sjb# This varies for different boards and SOCs. 12179237SjbUBLDR_LOADADDR?= 0x1000000 13179237Sjb 14179237Sjb# Architecture-specific loader code 15179237SjbSRCS= start.S conf.c vers.c 16179237Sjb 17179237Sjb.if !defined(LOADER_NO_DISK_SUPPORT) 18179237SjbLOADER_DISK_SUPPORT?= yes 19179237Sjb.else 20179237SjbLOADER_DISK_SUPPORT= no 21179237Sjb.endif 22179237SjbLOADER_UFS_SUPPORT?= yes 23179237SjbLOADER_CD9660_SUPPORT?= no 24179237SjbLOADER_EXT2FS_SUPPORT?= no 25179237Sjb.if ${MK_NAND} != "no" 26179237SjbLOADER_NANDFS_SUPPORT?= yes 27179237Sjb.else 28179237SjbLOADER_NANDFS_SUPPORT?= no 29179237Sjb.endif 30179237SjbLOADER_NET_SUPPORT?= yes 31179237SjbLOADER_NFS_SUPPORT?= yes 32179237SjbLOADER_TFTP_SUPPORT?= no 33179237SjbLOADER_GZIP_SUPPORT?= no 34179237SjbLOADER_BZIP2_SUPPORT?= no 35179237Sjb.if ${MK_FDT} != "no" 36179237SjbLOADER_FDT_SUPPORT= yes 37179237Sjb.else 38179237SjbLOADER_FDT_SUPPORT= no 39179237Sjb.endif 40179237Sjb 41179237Sjb.if ${LOADER_DISK_SUPPORT} == "yes" 42179237SjbCFLAGS+= -DLOADER_DISK_SUPPORT 43179237Sjb.endif 44179237Sjb.if ${LOADER_UFS_SUPPORT} == "yes" 45179237SjbCFLAGS+= -DLOADER_UFS_SUPPORT 46179237Sjb.endif 47179237Sjb.if ${LOADER_CD9660_SUPPORT} == "yes" 48179237SjbCFLAGS+= -DLOADER_CD9660_SUPPORT 49179237Sjb.endif 50211607Srpaulo.if ${LOADER_EXT2FS_SUPPORT} == "yes" 51179237SjbCFLAGS+= -DLOADER_EXT2FS_SUPPORT 52179237Sjb.endif 53179237Sjb.if ${LOADER_NANDFS_SUPPORT} == "yes" 54179237SjbCFLAGS+= -DLOADER_NANDFS_SUPPORT 55179237Sjb.endif 56179237Sjb.if ${LOADER_GZIP_SUPPORT} == "yes" 57179237SjbCFLAGS+= -DLOADER_GZIP_SUPPORT 58179237Sjb.endif 59179237Sjb.if ${LOADER_BZIP2_SUPPORT} == "yes" 60179237SjbCFLAGS+= -DLOADER_BZIP2_SUPPORT 61179237Sjb.endif 62179237Sjb.if ${LOADER_NET_SUPPORT} == "yes" 63179237SjbCFLAGS+= -DLOADER_NET_SUPPORT 64179237Sjb.endif 65179237Sjb.if ${LOADER_NFS_SUPPORT} == "yes" 66179237SjbCFLAGS+= -DLOADER_NFS_SUPPORT 67179237Sjb.endif 68179237Sjb.if ${LOADER_TFTP_SUPPORT} == "yes" 69179237SjbCFLAGS+= -DLOADER_TFTP_SUPPORT 70179237Sjb.endif 71179237Sjb.if ${LOADER_FDT_SUPPORT} == "yes" 72179237SjbCFLAGS+= -I${.CURDIR}/../../fdt 73179237SjbCFLAGS+= -I${.OBJDIR}/../../fdt 74179237SjbCFLAGS+= -DLOADER_FDT_SUPPORT 75179237SjbLIBUBOOT_FDT= ${.OBJDIR}/../../uboot/fdt/libuboot_fdt.a 76179237SjbLIBFDT= ${.OBJDIR}/../../fdt/libfdt.a 77179237Sjb.endif 78179237Sjb 79179237Sjb.if ${MK_FORTH} != "no" 80179237Sjb# Enable BootForth 81179237SjbBOOT_FORTH= yes 82179237SjbCFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/arm 83179237SjbLIBFICL= ${.OBJDIR}/../../ficl/libficl.a 84179237Sjb.endif 85179237Sjb 86179237Sjb# Always add MI sources 87179237Sjb.PATH: ${.CURDIR}/../../common 88179237Sjb.include "${.CURDIR}/../../common/Makefile.inc" 89179237SjbCFLAGS+= -I${.CURDIR}/../../common 90179237SjbCFLAGS+= -I. 91179237Sjb 92179237SjbCLEANFILES+= vers.c loader.help 93179237Sjb 94179237SjbCFLAGS+= -ffreestanding -msoft-float 95179237Sjb 96179237SjbLDFLAGS= -nostdlib -static 97179237SjbLDFLAGS+= -T ldscript.generated 98179237SjbLDFLAGS+= -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH} 99179237Sjb 100179237Sjb# Pull in common loader code 101179237Sjb.PATH: ${.CURDIR}/../../uboot/common 102179237Sjb.include "${.CURDIR}/../../uboot/common/Makefile.inc" 103179237SjbCFLAGS+= -I${.CURDIR}/../../uboot/common 104179237Sjb 105179237Sjb# U-Boot standalone support library 106179237SjbLIBUBOOT= ${.OBJDIR}/../../uboot/lib/libuboot.a 107179237SjbCFLAGS+= -I${.CURDIR}/../../uboot/lib 108179237SjbCFLAGS+= -I${.OBJDIR}/../../uboot/lib 109179237Sjb 110179237Sjb# where to get libstand from 111179237SjbCFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ 112179237Sjb 113179237Sjb# clang doesn't understand %D as a specifier to printf 114179237SjbNO_WERROR.clang= 115179237Sjb 116179237SjbDPADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSTAND} 117179237SjbLDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} -lstand 118179237Sjb 119179237Sjbvers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version 120179237Sjb sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 121179237Sjb 122179237Sjbloader.help: help.common help.uboot ${.CURDIR}/../../fdt/help.fdt 123179237Sjb cat ${.ALLSRC} | \ 124179237Sjb awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET} 125179237Sjb 126179237Sjb${PROG}: ldscript.generated ${.CURDIR}/ldscript.${MACHINE_CPUARCH} 127179237Sjb 128179237Sjbldscript.generated:: 129211607Srpaulo rm -f ldscript.generated.tmp 130211607Srpaulo echo "UBLDR_LOADADDR = ${UBLDR_LOADADDR};" >ldscript.generated.tmp 131211607Srpaulo if diff ldscript.generated ldscript.generated.tmp > /dev/null; then \ 132211607Srpaulo true; \ 133211607Srpaulo else \ 134211607Srpaulo rm -f ldscript.generated; \ 135179237Sjb mv ldscript.generated.tmp ldscript.generated; \ 136179237Sjb fi 137179237Sjb 138179237Sjb.if !defined(LOADER_ONLY) 139179237Sjb.PATH: ${.CURDIR}/../../forth 140.include "${.CURDIR}/../../forth/Makefile.inc" 141 142# Put sample loader.rc and menu.rc on disk but don't enable them 143# by default. 144FILES+= loader.rc 145FILESNAME_loader.rc= loader.rc.sample 146FILES+= menu.rc 147FILESNAME_menu.rc= menu.rc.sample 148.endif 149 150.include <bsd.prog.mk> 151