Loading repository dataβ¦
Loading repository dataβ¦
riera90 / repository
π The makefile that adapts to your project.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.

For a better experience, please use the generic-CLI, a easy to use generic-technology manager.
The Makefile that can be configured in under 30 seconds and adapts to almost all your C and C++ projects!
Intended for C and C++ under GNU/Linux.
This Makefile supports:
So you don't have to make yours or configure another one for more than 30 seconds.
Clone the repository
git clone https://github.com/riera90/generic-CLI.git
install the generic-CLI with the installation script
cd generic-CLI
./install.sh
install the generic-makefile in your project directory!
cd <project directory>
generic-cli -c makefile
one line instalation command (for the first time only) then use the generic-cli utility
git clone https://github.com/riera90/generic-CLI.git && cd generic-CLI && sudo chmod +x ./install.sh && ./install.sh && generic-cli -c gmf
Clone the repository in your project directory
git clone https://github.com/riera90/generic-makefile.git
Remove the .git of this repository
Remove the .gitignore, all the example folders if you want
rm -rf .git .gitignore example gtests
Move the license and readme to the make-files folder (the license is required to remain in the project)
mv ./*.md ./make-files/
Move all the all the remaining content of the generic-makefile directory to your project directory
mv ./* ./../
Configure the variables in the Makefile file
optional step: if you want googletest, clone it into the make-files directory and remove the .git
cd make-files
git clone https://github.com/google/googletest.git
cd googletest
rm -rf .git
apply the new configuration to the make-files/Makefile
make config
hit make and enjoy!
make

| variable | definition | restrictions |
|---|---|---|
| SRC_DIR | Source directory | Is a directory |
| GTEST_DIR | googletest directory as in | Is a directory |
| OUTPUT_DIR | Directory where the binary will reside | Is a directory |
| EXTRA_LIB_DIR | Directory for extra external libraries | Is a directory |
| TMP_DIR | Temporal directory for objects and libraries | Is a directory |
| SRC_CODE_EXT | Extension for the source code | Is an extension |
| SRC_HEADERS_EXT | Extension for the source headers | Is an extension |
| MAIN_FILE | The file where the main resides, there is no need for the full path, just the filename and the extension is enough | Is an existing filename |
| EXCLUDED_FILES | excluded files from the project as a regular expression, various expressions are allowed, and must be separated by spaces | |
| BIN_NAME | The name the binary will receive | |
| BIN_ARGUMENTS | The arguments the binary will be executed with (if executed with the Makefile) | |
| CXX | The compiler | [gcc/g++] |
| CXXFLAGS | The compilation flags | '-' or '--' is needed |
| EXECUTE_AFTER_COMPILATION | Option for executing of the binary file after the compilation | [YES/NO] |
| ALLOW_FOR_GDB | Activates the GNU debugger | [YES/NO] |
Licensed under the BSD-3 licence
Read CONTRIBUTING.md!
R: just use the generic-CLI utility, in the project directory, type the command
generic-cli -c make
When ask if you want googletest, say yes.