Makefile revision 293294
1300829Sgrehan# $FreeBSD: stable/10/sys/boot/sparc64/loader/Makefile 293294 2016-01-07 01:50:50Z dteske $
2336189Saraujo
3336189Saraujo.include <bsd.own.mk>
4300829SgrehanMK_SSP=		no
5300829Sgrehan
6300829SgrehanPROG?=		loader
7300829SgrehanNEWVERSWHAT?=	"bootstrap loader" sparc64
8300829SgrehanINSTALLFLAGS=	-b
9300829Sgrehan
10300829Sgrehan# Architecture-specific loader code
11300829SgrehanSRCS=		locore.S main.c metadata.c vers.c
12300829Sgrehan
13300829SgrehanLOADER_DISK_SUPPORT?=	yes
14300829SgrehanLOADER_UFS_SUPPORT?=	yes
15300829SgrehanLOADER_CD9660_SUPPORT?=	yes
16300829SgrehanLOADER_ZFS_SUPPORT?=	no
17300829SgrehanLOADER_NET_SUPPORT?=	yes
18300829SgrehanLOADER_NFS_SUPPORT?=	yes
19300829SgrehanLOADER_TFTP_SUPPORT?=	yes
20300829SgrehanLOADER_GZIP_SUPPORT?=	yes
21300829SgrehanLOADER_BZIP2_SUPPORT?=	no
22300829SgrehanLOADER_DEBUG?=		no
23300829Sgrehan
24300829Sgrehan.if ${LOADER_DEBUG} == "yes"
25300829SgrehanCFLAGS+=	-DLOADER_DEBUG
26300829Sgrehan.endif
27300829Sgrehan.if ${LOADER_DISK_SUPPORT} == "yes"
28300829SgrehanCFLAGS+=	-DLOADER_DISK_SUPPORT
29300829Sgrehan.endif
30300829Sgrehan.if ${LOADER_UFS_SUPPORT} == "yes"
31300829SgrehanCFLAGS+=	-DLOADER_UFS_SUPPORT
32300829Sgrehan.endif
33300829Sgrehan.if ${LOADER_CD9660_SUPPORT} == "yes"
34300829SgrehanCFLAGS+=	-DLOADER_CD9660_SUPPORT
35300829Sgrehan.endif
36300829Sgrehan.if ${LOADER_ZFS_SUPPORT} == "yes"
37300829SgrehanCFLAGS+=	-DLOADER_ZFS_SUPPORT
38300829SgrehanCFLAGS+=	-I${.CURDIR}/../../zfs
39300829SgrehanCFLAGS+=	-I${.CURDIR}/../../../cddl/boot/zfs
40300829SgrehanLIBZFSBOOT=	${.OBJDIR}/../../zfs/libzfsboot.a
41300829Sgrehan.endif
42300829Sgrehan.if ${LOADER_GZIP_SUPPORT} == "yes"
43300829SgrehanCFLAGS+=	-DLOADER_GZIP_SUPPORT
44300829Sgrehan.endif
45300829Sgrehan.if ${LOADER_BZIP2_SUPPORT} == "yes"
46300829SgrehanCFLAGS+=	-DLOADER_BZIP2_SUPPORT
47300829Sgrehan.endif
48300829Sgrehan.if ${LOADER_NET_SUPPORT} == "yes"
49300829SgrehanCFLAGS+=	-DLOADER_NET_SUPPORT
50300829Sgrehan.endif
51300829Sgrehan.if ${LOADER_NFS_SUPPORT} == "yes"
52300829SgrehanCFLAGS+=	-DLOADER_NFS_SUPPORT
53300829Sgrehan.endif
54300829Sgrehan.if ${LOADER_TFTP_SUPPORT} == "yes"
55300829SgrehanCFLAGS+=	-DLOADER_TFTP_SUPPORT
56300829Sgrehan.endif
57300829Sgrehan
58300829Sgrehan.if ${MK_FORTH} != "no"
59300829Sgrehan# Enable BootForth
60320891SgrehanBOOT_FORTH=	yes
61300829SgrehanCFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl
62300829SgrehanCFLAGS+=	-I${.CURDIR}/../../ficl/sparc64
63300829SgrehanLIBFICL=	${.OBJDIR}/../../ficl/libficl.a
64300829Sgrehan.endif
65300829Sgrehan
66300829Sgrehan# Always add MI sources
67300829Sgrehan.PATH:		${.CURDIR}/../../common
68300829Sgrehan.include	"${.CURDIR}/../../common/Makefile.inc"
69300829SgrehanCFLAGS+=	-I${.CURDIR}/../../common
70300829SgrehanCFLAGS+=	-I.
71300829Sgrehan# Avoid the open-close-dance for every file access as some firmwares perform
72300829Sgrehan# an auto-negotiation on every open of the network interface and thus causes
73300829Sgrehan# netbooting to take horribly long.
74300829SgrehanCFLAGS+=	-DNETIF_OPEN_CLOSE_ONCE
75300829Sgrehan
76300829SgrehanCLEANFILES+=	vers.c loader.help
77300829Sgrehan
78300829SgrehanLDFLAGS=	-static
79300829Sgrehan
80300829Sgrehan# Open Firmware standalone support library
81300829SgrehanLIBOFW=		${.OBJDIR}/../../ofw/libofw/libofw.a
82300829SgrehanCFLAGS+=	-I${.CURDIR}/../../ofw/libofw/
83300829Sgrehan
84300829Sgrehan# where to get libstand from
85300829SgrehanCFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
86300829Sgrehan
87300829SgrehanDPADD=		${LIBFICL} ${LIBZFSBOOT} ${LIBOFW} ${LIBSTAND}
88300829SgrehanLDADD=		${LIBFICL} ${LIBZFSBOOT} ${LIBOFW} -lstand
89300829Sgrehan
90300829Sgrehanvers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version
91300829Sgrehan	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version \
92300829Sgrehan	    ${NEWVERSWHAT}
93300829Sgrehan
94300829Sgrehanloader.help: help.common help.sparc64
95300829Sgrehan	cat ${.ALLSRC} | \
96300829Sgrehan	    awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
97300829Sgrehan
98320567Saraujo.PATH: ${.CURDIR}/../../forth
99300829Sgrehan.include	"${.CURDIR}/../../forth/Makefile.inc"
100300829Sgrehan
101305717SgrehanFILES+= loader.rc menu.rc
102305717Sgrehan
103300829Sgrehan.include <bsd.prog.mk>
104300829Sgrehan