Understanding the Make System
Understanding the Make System
The makefile is generated from makefile.sio.xrep and so should never be changed directly (unless one does not want to keep any changes that are made). So when adding/removing/renaming project files (excepting files that belong to or are handled by the Meta application) changes need to be made manually to makefile.sio.xrep.
Once makefile.sio.xrep has been changed run ./genmake to reconstruct the actual makefile.
Generating the makefile with genmake
The genmake bash script constructs the makefile with the use of xrep and xvars.
The xrep tool takes makefile.sio.xrep in order to generate makefile.sio which is in turn used as input by the xvars tool in order to create makefile.vars.xrep.
Finally the xrep tool is used again with a specific makefile template (e.g. makefile.xrep for GCC) along with the previously created makefile.vars.xrep to generate the project makefile.
Minimal make files for make system tools
As the tools xrep and xvars are required in order to construct the makefile a bootstrap problem arises in the situation when a new repository clone is created and ./config is run for the very first time. To resolve this issue a minimal “tools” make (e.g. makefile.tools for GCC) exists in the repository and will be used to build these tools.
