1# $FreeBSD$
2
3.include <bsd.own.mk>
4
5PROG=		ubldr
6NEWVERSWHAT=	"U-Boot loader" ${MACHINE_ARCH}
7BINDIR?=	/boot
8INSTALLFLAGS=	-b
9NO_MAN=
10
11# Architecture-specific loader code
12SRCS=		start.S conf.c vers.c
13SRCS+=		ucmpdi2.c
14
15.if !defined(LOADER_NO_DISK_SUPPORT)
16LOADER_DISK_SUPPORT?=	yes
17.else
18LOADER_DISK_SUPPORT=	no
19.endif
20LOADER_UFS_SUPPORT?=	yes
21LOADER_CD9660_SUPPORT?=	no
22LOADER_EXT2FS_SUPPORT?=	no
23LOADER_NET_SUPPORT?=	yes
24LOADER_NFS_SUPPORT?=	yes
25LOADER_TFTP_SUPPORT?=	no
26LOADER_GZIP_SUPPORT?=	no
27LOADER_BZIP2_SUPPORT?=	no
28.if ${MK_FDT} != "no"
29LOADER_FDT_SUPPORT=	yes
30.else
31LOADER_FDT_SUPPORT=	no
32.endif
33
34.if ${LOADER_DISK_SUPPORT} == "yes"
35CFLAGS+=	-DLOADER_DISK_SUPPORT
36.endif
37.if ${LOADER_UFS_SUPPORT} == "yes"
38CFLAGS+=	-DLOADER_UFS_SUPPORT
39.endif
40.if ${LOADER_CD9660_SUPPORT} == "yes"
41CFLAGS+=	-DLOADER_CD9660_SUPPORT
42.endif
43.if ${LOADER_EXT2FS_SUPPORT} == "yes"
44CFLAGS+=	-DLOADER_EXT2FS_SUPPORT
45.endif
46.if ${LOADER_GZIP_SUPPORT} == "yes"
47CFLAGS+=	-DLOADER_GZIP_SUPPORT
48.endif
49.if ${LOADER_BZIP2_SUPPORT} == "yes"
50CFLAGS+=	-DLOADER_BZIP2_SUPPORT
51.endif
52.if ${LOADER_NET_SUPPORT} == "yes"
53CFLAGS+=	-DLOADER_NET_SUPPORT
54.endif
55.if ${LOADER_NFS_SUPPORT} == "yes"
56CFLAGS+=	-DLOADER_NFS_SUPPORT
57.endif
58.if ${LOADER_TFTP_SUPPORT} == "yes"
59CFLAGS+=	-DLOADER_TFTP_SUPPORT
60.endif
61.if ${LOADER_FDT_SUPPORT} == "yes"
62CFLAGS+=	-I${.CURDIR}/../../fdt
63CFLAGS+=	-I${.OBJDIR}/../../fdt
64CFLAGS+=	-DLOADER_FDT_SUPPORT
65LIBFDT=		${.OBJDIR}/../../fdt/libfdt.a
66.endif
67
68.if !defined(NO_FORTH)
69# Enable BootForth
70BOOT_FORTH=	yes
71CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
72LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
73.endif
74
75# Always add MI sources
76.PATH:		${.CURDIR}/../../common ${.CURDIR}/../../../libkern
77.include	"${.CURDIR}/../../common/Makefile.inc"
78CFLAGS+=	-I${.CURDIR}/../../common -I${.CURDIR}/../../..
79CFLAGS+=	-I.
80
81CLEANFILES+=	vers.c ${PROG}.help
82
83CFLAGS+=	-ffreestanding
84
85LDFLAGS=	-nostdlib -static -T ${.CURDIR}/ldscript.powerpc
86
87# Pull in common loader code
88.PATH:		${.CURDIR}/../../uboot/common
89.include	"${.CURDIR}/../../uboot/common/Makefile.inc"
90CFLAGS+=	-I${.CURDIR}/../../uboot/common
91
92# U-Boot standalone support library
93LIBUBOOT=	${.OBJDIR}/../../uboot/lib/libuboot.a
94CFLAGS+=	-I${.CURDIR}/../../uboot/lib
95CFLAGS+=	-I${.OBJDIR}/../../uboot/lib
96
97# where to get libstand from
98CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
99
100DPADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND}
101LDADD=		${LIBFICL} ${LIBUBOOT} ${LIBFDT} -lstand
102
103vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
104	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
105
106loader.help: help.common help.uboot ${.CURDIR}/../../fdt/help.fdt
107	cat ${.ALLSRC} | \
108	    awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
109
110.PATH: ${.CURDIR}/../../forth
111FILES=	loader.help
112
113.include <bsd.prog.mk>
114