-
-
Notifications
You must be signed in to change notification settings - Fork 604
build system
The core part of the build system is triggered by the make command and is based on a global single Makefile.
The global Makefile will detect the host system and will default the build system to be equal to the target system. To override that, one has to provide the ARCH environment variable. Currently supported values for ARCH are "x64" and "aarch64".
Example: make -j8 ARCH=aarch64
The ARCH variable will be later translated into an internal "arch" Make variable which is checked all over the place to build the right modules for the right target.
The "all" target triggers the ant parts of the build, then finally the submake for the specific architecture and mode.
There are two modes: release and debug. Currently, for AArch64 we use only release, as we have enough problems already rather than trying to make two different builds.
The submake Makefile triggered is for example:
build/release.aarch64/Makefile
for the AArch64 release build,
build/release.x64/Makefile
for the X86_64 release build.
Those builds can in theory coexist. Those makefiles then invoke the global ** build.mk **.