xref: /freebsd/stand/Makefile (revision d9a42747950146bf03cda7f6e25d219253f8a57a)
1# $FreeBSD$
2
3.include <src.opts.mk>
4
5# For amd64 we have to build 32 and 64 bit versions of things. For
6# others we don't. LIB32LIST is a list of libraries, which if
7# included, need to be built 32-bit as well.
8.if ${MACHINE_ARCH} == "amd64"
9LIB32LIST=libsa
10.if ${MK_FORTH} != "no"
11LIB32LIST+=		ficl
12.endif
13.if ${MK_LOADER_LUA} != "no"
14LIB32LIST+=		liblua
15.endif
16.endif
17
18S.yes+=			libsa
19
20S.${MK_LOADER_OFW}+=	libofw
21S.${MK_FDT}+=		fdt
22
23S.${MK_FORTH}+=		ficl
24S.${MK_FORTH}+=		forth
25S.${MK_LOADER_LUA}+=	liblua
26S.${MK_LOADER_LUA}+=	lua
27S.yes+=			defaults
28S.yes+=			fonts
29S.yes+=			images
30S.yes+=			man
31
32.if ${MK_FORTH} != "no"
33INTERP_DEPENDS+=	forth
34.endif
35.if ${MK_LOADER_LUA} != "no"
36INTERP_DEPENDS+=	lua
37.endif
38
39.include <bsd.arch.inc.mk>
40
41S.${MK_EFI}+=		efi
42.if ${MK_FDT} != "no"
43S.${MK_LOADER_KBOOT}+=	kboot
44.endif
45S.${MK_LOADER_UBOOT}+=	uboot
46
47.if defined(LIB32LIST)
48LIB32DEPENDS=	${LIB32LIST:S/$/32/}
49.endif
50
51.if exists(${.CURDIR}/${MACHINE}/.)
52S.yes+=         ${MACHINE}
53SUBDIR_DEPEND_${MACHINE}+=	${INTERP_DEPENDS}
54.if ${MK_FDT} != "no"
55SUBDIR_DEPEND_${MACHINE}+=	fdt
56.endif
57.if ${MK_LOADER_UBOOT} != "no"
58SUBDIR_DEPEND_${MACHINE}+=	uboot
59.endif
60.if ${MK_LOADER_OFW} != "no"
61SUBDIR_DEPEND_${MACHINE}+=	libofw
62.endif
63.endif
64
65# Build the actual subdir list from S.yes, adding in the 32-bit
66# variant if necessary.
67.for _x in ${S.yes}
68SUBDIR+=${_x}
69.if defined(LIB32LIST) && ${LIB32LIST:M${_x}}
70SUBDIR+=${_x}32
71.endif
72.if ${_x} != "libsa"
73SUBDIR_DEPEND_${_x}+=	libsa
74SUBDIR_DEPEND_${_x}32+=	libsa32
75.endif
76.endfor
77
78# Remaining dependencies
79SUBDIR_DEPEND_forth+=	ficl
80SUBDIR_DEPEND_lua+=	liblua
81
82SUBDIR_DEPEND_efi+=	${INTERP_DEPENDS}
83SUBDIR_DEPEND_kboot+=	${INTERP_DEPENDS}
84.if ${MK_FDT} != "no"
85SUBDIR_DEPEND_efi+=	fdt
86SUBDIR_DEPEND_kboot+=	fdt
87.endif
88
89SUBDIR_DEPEND_uboot+=	${INTERP_DEPENDS}
90.if ${MK_FDT} != "no"
91SUBDIR_DEPEND_uboot+=	fdt
92.endif
93
94SUBDIR_PARALLEL=	yes
95
96.include <bsd.subdir.mk>
97
98# Simplified way to build-test the most important build combinations for the
99# loader.
100universe:
101	sh ${SRCTOP}/tools/boot/universe.sh
102