Makefile revision 271130
1# $FreeBSD: stable/10/sys/boot/powerpc/ofw/Makefile 271130 2014-09-04 20:35:53Z emaste $
2
3.include <bsd.own.mk>
4MK_SSP=		no
5
6PROG=		loader
7NEWVERSWHAT=	"Open Firmware loader" ${MACHINE_ARCH}
8BINDIR?=	/boot
9INSTALLFLAGS=	-b
10
11# Architecture-specific loader code
12SRCS=		conf.c metadata.c vers.c start.c
13SRCS+=		ucmpdi2.c
14
15LOADER_DISK_SUPPORT?=	yes
16LOADER_UFS_SUPPORT?=	yes
17LOADER_CD9660_SUPPORT?=	yes
18LOADER_EXT2FS_SUPPORT?=	no
19LOADER_NET_SUPPORT?=	yes
20LOADER_NFS_SUPPORT?=	yes
21LOADER_TFTP_SUPPORT?=	no
22LOADER_GZIP_SUPPORT?=	yes
23LOADER_BZIP2_SUPPORT?=	no
24
25.if ${LOADER_DISK_SUPPORT} == "yes"
26CFLAGS+=	-DLOADER_DISK_SUPPORT
27.endif
28.if ${LOADER_UFS_SUPPORT} == "yes"
29CFLAGS+=	-DLOADER_UFS_SUPPORT
30.endif
31.if ${LOADER_CD9660_SUPPORT} == "yes"
32CFLAGS+=	-DLOADER_CD9660_SUPPORT
33.endif
34.if ${LOADER_EXT2FS_SUPPORT} == "yes"
35CFLAGS+=	-DLOADER_EXT2FS_SUPPORT
36.endif
37.if ${LOADER_GZIP_SUPPORT} == "yes"
38CFLAGS+=	-DLOADER_GZIP_SUPPORT
39.endif
40.if ${LOADER_BZIP2_SUPPORT} == "yes"
41CFLAGS+=	-DLOADER_BZIP2_SUPPORT
42.endif
43.if ${LOADER_NET_SUPPORT} == "yes"
44CFLAGS+=	-DLOADER_NET_SUPPORT
45.endif
46.if ${LOADER_NFS_SUPPORT} == "yes"
47CFLAGS+=	-DLOADER_NFS_SUPPORT
48.endif
49.if ${LOADER_TFTP_SUPPORT} == "yes"
50CFLAGS+=	-DLOADER_TFTP_SUPPORT
51.endif
52
53.if ${MK_FORTH} != "no"
54# Enable BootForth
55BOOT_FORTH=	yes
56CFLAGS+=	-DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/powerpc
57LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
58.endif
59
60# Avoid the open-close-dance for every file access as some firmwares perform
61# an auto-negotiation on every open of the network interface and thus causes
62# netbooting to take horribly long.
63CFLAGS+=	-DNETIF_OPEN_CLOSE_ONCE
64
65# Always add MI sources
66.PATH:		${.CURDIR}/../../common ${.CURDIR}/../../../libkern
67.include	"${.CURDIR}/../../common/Makefile.inc"
68CFLAGS+=	-I${.CURDIR}/../../common -I${.CURDIR}/../../..
69CFLAGS+=	-I.
70
71CLEANFILES+=	vers.c loader.help
72
73CFLAGS+=	-ffreestanding -msoft-float
74# load address. set in linker script
75RELOC?=		0x1C00000
76CFLAGS+=	-DRELOC=${RELOC}
77
78LDFLAGS=	-nostdlib -static -T ${.CURDIR}/ldscript.powerpc
79
80# 64-bit bridge extensions
81CFLAGS+= -Wa,-mppc64bridge
82
83# Pull in common loader code
84.PATH:		${.CURDIR}/../../ofw/common
85.include	"${.CURDIR}/../../ofw/common/Makefile.inc"
86
87# Open Firmware standalone support library
88LIBOFW=		${.OBJDIR}/../../ofw/libofw/libofw.a
89CFLAGS+=	-I${.CURDIR}/../../ofw/libofw
90
91# where to get libstand from
92LIBSTAND=	${.OBJDIR}/../../libstand32/libstand.a
93CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
94
95DPADD=		${LIBFICL} ${LIBOFW} ${LIBSTAND}
96LDADD=		${LIBFICL} ${LIBOFW} ${LIBSTAND}
97
98vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
99	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
100
101loader.help: help.common help.ofw
102	cat ${.ALLSRC} | \
103	    awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
104
105.PATH: ${.CURDIR}/../../forth
106FILES=	loader.help loader.4th support.4th loader.conf
107FILES+=	screen.4th frames.4th
108FILES+=	beastie.4th brand.4th check-password.4th color.4th delay.4th
109FILES+=	menu.4th menu-commands.4th menusets.4th shortcuts.4th version.4th
110FILESDIR_loader.conf=	/boot/defaults
111
112.if !exists(${DESTDIR}/boot/loader.rc)
113FILES+= loader.rc
114.endif
115
116.if !exists(${DESTDIR}/boot/menu.rc)
117FILES+= menu.rc
118.endif
119
120.include <bsd.prog.mk>
121