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