Manual Page Search Parameters

BSD.PORT.ARCH.MK(5) File Formats Manual BSD.PORT.ARCH.MK(5)

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

.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:
and optionally, if the default won't be appropriate

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


is perfectly admissible, since it will be used only after LP64_ARCHS is defined.

A more detailed description of each variable is available in bsd.port.mk(5).

All the constant values ARCH, ALL_ARCHS, COMPILER_VERION, GCC2_ARCHS, GCC3_ARCHS, GCC4_ARCHS, LP64_ARCHS, NO_SHARED_ARCHS and PROPERTIES are also available from MODULES and from ${.CURDIR}/../Makefile.inc. Note that due to historical accident, NO_SHARED_LIBS is not such a constant. Test PROPERTIES to assert whether a given platform supports shared libraries.


bsd.port.arch.mk was split from bsd.port.mk(5) in OpenBSD 5.1.
December 8, 2011 OpenBSD-5.1