BSD.PORT.ARCH.MK(5) | File Formats Manual | BSD.PORT.ARCH.MK(5) |
bsd.port.arch.mk
—
ports tree Makefile fragment, concerned with arch
issues
# Set up such as MULTI_PACKAGES = -main -special ONLY_FOR_ARCHS-special = i386
.include <bsd.port.arch.mk>
#some more lines such as .if ${BUILD_PACKAGES:M-special} CONFIGURE_ARGS += --enable-special .endif
.include <bsd.port.mk>
bsd.port.arch.mk
holds the logic used for
arch-dependent builds in the ports tree. It is normally included as part of
the larger
bsd.port.mk(5), but it
is also available separately for ports that require it.
bsd.port.arch.mk
assumes the following
variables are already defined:
NOT_FOR_ARCHS[-<sub>]
ONLY_FOR_ARCHS[-<sub>]
It will set up the following variables for use in the rest of the Makefile:
Most importantly, BUILD_PACKAGES
will be
correctly set up, taking
ONLY_FOR_ARCHS[-<sub>]
and
NOT_FOR_ARCHS[-<sub>]
limitations into
account, as well as pseudo-flavors.
Note that thanks to the way make(1) variables are evaluated, a setup such as
ONLY_FOR_ARCHS-foo = ${LP64_ARCHS} .include <bsd.port.arch.mk>
is perfectly admissible, since
ONLY_FOR_ARCHS-foo
will be used only after
LP64_ARCHS
is defined.
Also, you do not need to explicitly include bsd.port.arch.mk just to define
ONLY_FOR_ARCHS = ${LP64_ARCHS}
since bsd.port.mk does define arch
constants before evaluating ONLY_FOR_ARCHS
. A more
detailed description of each variable is available in
bsd.port.mk(5).
All the constant values ARCH
,
ALL_ARCHS
, COMPILER_VERSION
,
GCC3_ARCHS
, GCC4_ARCHS
,
LP64_ARCHS
and PROPERTIES
are also available from MODULES
and from
${.CURDIR}/../Makefile.inc.
bsd.port.arch.mk
was split from
bsd.port.mk(5) in
OpenBSD 5.1.
December 8, 2019 | OpenBSD-6.8 |