1176349Smarcel# $FreeBSD$
2176349Smarcel
3209125Sraj.include <bsd.own.mk>
4209125Sraj
5176490SmarcelPROG=		ubldr
6176349SmarcelNEWVERSWHAT=	"U-Boot loader" ${MACHINE_ARCH}
7176349SmarcelBINDIR?=	/boot
8176349SmarcelINSTALLFLAGS=	-b
9176490SmarcelNO_MAN=
10176349Smarcel
11176349Smarcel# Architecture-specific loader code
12182724SrajSRCS=		start.S conf.c vers.c
13209920SnwhitehornSRCS+=		ucmpdi2.c
14176349Smarcel
15240277Sae.if !defined(LOADER_NO_DISK_SUPPORT)
16204315SrajLOADER_DISK_SUPPORT?=	yes
17240277Sae.else
18240277SaeLOADER_DISK_SUPPORT=	no
19240277Sae.endif
20204315SrajLOADER_UFS_SUPPORT?=	yes
21176349SmarcelLOADER_CD9660_SUPPORT?=	no
22176349SmarcelLOADER_EXT2FS_SUPPORT?=	no
23176349SmarcelLOADER_NET_SUPPORT?=	yes
24176349SmarcelLOADER_NFS_SUPPORT?=	yes
25176349SmarcelLOADER_TFTP_SUPPORT?=	no
26176349SmarcelLOADER_GZIP_SUPPORT?=	no
27176349SmarcelLOADER_BZIP2_SUPPORT?=	no
28209125Sraj.if ${MK_FDT} != "no"
29208538SrajLOADER_FDT_SUPPORT=	yes
30208538Sraj.else
31208538SrajLOADER_FDT_SUPPORT=	no
32208538Sraj.endif
33176349Smarcel
34176349Smarcel.if ${LOADER_DISK_SUPPORT} == "yes"
35176349SmarcelCFLAGS+=	-DLOADER_DISK_SUPPORT
36176349Smarcel.endif
37176349Smarcel.if ${LOADER_UFS_SUPPORT} == "yes"
38176349SmarcelCFLAGS+=	-DLOADER_UFS_SUPPORT
39176349Smarcel.endif
40176349Smarcel.if ${LOADER_CD9660_SUPPORT} == "yes"
41176349SmarcelCFLAGS+=	-DLOADER_CD9660_SUPPORT
42176349Smarcel.endif
43176349Smarcel.if ${LOADER_EXT2FS_SUPPORT} == "yes"
44176349SmarcelCFLAGS+=	-DLOADER_EXT2FS_SUPPORT
45176349Smarcel.endif
46176349Smarcel.if ${LOADER_GZIP_SUPPORT} == "yes"
47176349SmarcelCFLAGS+=	-DLOADER_GZIP_SUPPORT
48176349Smarcel.endif
49176349Smarcel.if ${LOADER_BZIP2_SUPPORT} == "yes"
50176349SmarcelCFLAGS+=	-DLOADER_BZIP2_SUPPORT
51176349Smarcel.endif
52176349Smarcel.if ${LOADER_NET_SUPPORT} == "yes"
53176349SmarcelCFLAGS+=	-DLOADER_NET_SUPPORT
54176349Smarcel.endif
55176349Smarcel.if ${LOADER_NFS_SUPPORT} == "yes"
56176349SmarcelCFLAGS+=	-DLOADER_NFS_SUPPORT
57176349Smarcel.endif
58176349Smarcel.if ${LOADER_TFTP_SUPPORT} == "yes"
59176349SmarcelCFLAGS+=	-DLOADER_TFTP_SUPPORT
60176349Smarcel.endif
61208538Sraj.if ${LOADER_FDT_SUPPORT} == "yes"
62208538SrajCFLAGS+=	-I${.CURDIR}/../../fdt
63208538SrajCFLAGS+=	-I${.OBJDIR}/../../fdt
64208538SrajCFLAGS+=	-DLOADER_FDT_SUPPORT
65208538SrajLIBFDT=		${.OBJDIR}/../../fdt/libfdt.a
66208538Sraj.endif
67176349Smarcel
68176349Smarcel.if !defined(NO_FORTH)
69176349Smarcel# Enable BootForth
70176349SmarcelBOOT_FORTH=	yes
71176349SmarcelCFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
72176349SmarcelLIBFICL=	${.OBJDIR}/../../ficl/libficl.a
73176349Smarcel.endif
74176349Smarcel
75176349Smarcel# Always add MI sources
76209920Snwhitehorn.PATH:		${.CURDIR}/../../common ${.CURDIR}/../../../libkern
77176349Smarcel.include	"${.CURDIR}/../../common/Makefile.inc"
78209920SnwhitehornCFLAGS+=	-I${.CURDIR}/../../common -I${.CURDIR}/../../..
79176349SmarcelCFLAGS+=	-I.
80176349Smarcel
81176490SmarcelCLEANFILES+=	vers.c ${PROG}.help
82176349Smarcel
83176349SmarcelCFLAGS+=	-ffreestanding
84176349Smarcel
85176349SmarcelLDFLAGS=	-nostdlib -static -T ${.CURDIR}/ldscript.powerpc
86176349Smarcel
87176349Smarcel# Pull in common loader code
88176349Smarcel.PATH:		${.CURDIR}/../../uboot/common
89176349Smarcel.include	"${.CURDIR}/../../uboot/common/Makefile.inc"
90176349SmarcelCFLAGS+=	-I${.CURDIR}/../../uboot/common
91176349Smarcel
92176349Smarcel# U-Boot standalone support library
93176349SmarcelLIBUBOOT=	${.OBJDIR}/../../uboot/lib/libuboot.a
94176349SmarcelCFLAGS+=	-I${.CURDIR}/../../uboot/lib
95176349SmarcelCFLAGS+=	-I${.OBJDIR}/../../uboot/lib
96176349Smarcel
97176349Smarcel# where to get libstand from
98271130SemasteLIBSTAND=	${.OBJDIR}/../../libstand32/libstand.a
99176349SmarcelCFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
100176349Smarcel
101208538SrajDPADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND}
102271130SemasteLDADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND}
103176349Smarcel
104176349Smarcelvers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
105176349Smarcel	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
106176349Smarcel
107246647Skientzleloader.help: help.common help.uboot ${.CURDIR}/../../fdt/help.fdt
108176349Smarcel	cat ${.ALLSRC} | \
109176349Smarcel	    awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
110176349Smarcel
111176349Smarcel.PATH: ${.CURDIR}/../../forth
112204315SrajFILES=	loader.help
113176349Smarcel
114176349Smarcel.include <bsd.prog.mk>
115