github.com/apptainer/singularity@v3.1.1+incompatible/makeit/README.md (about) 1 # MAKEIT 2 3 ## Goals: 4 * To generate **native Makefiles** for the system *makeit* is running on. 5 To accomplish that, we transform a set of Makefile fragments and 6 module config files into a non-recursive Makefile that uses features 7 available to all reasonable versions of Make (GNU, BSD, SVR4, etc). 8 9 * If **makeit** can be called a build system, it should stay so small and 10 platform independent that it could be included in each project that 11 it helps to build. 12 13 * To include/install and setup *makeit* for your project take a look at the 14 INSTALL.md file. 15 16 ## Module (*.mconf) Keywords: 17 * **name** : name of the module, just a handle 18 * **prog** : name of a program to link 19 * **lib** : name of a library to create, without the **lib** prefix 20 * **data** : name of a data file (symbols, pictures, text, etc.) to embed 21 * **asrc** : list of (.S) assembly source files 22 * **csrc** : list of C source files to build 23 * **win_asrc** : windows only list of C source files to build 24 * **win_csrc** : windows only list of C source files to build 25 * **unix_asrc** : unix only list of C source files to build 26 * **unix_csrc** : unix only list of C source files to build 27 * **depends** : list of module **name**'s that a prog or a lib depends on 28 * **cflags** : list of CFLAGS to add for this module 29 * **ldflags** : list of LDFLAGS to add for this module 30 * **extralibs** : list of extra libs needed by the program (e.g., -lgcc) 31 * **cleanfiles** : list of extra files to remove when *make clean* is called 32 33 ## Implementation: 34 * POSIX portable tools mainly awk and sh with system commands