33This project features a simple and reliable Make-based build system.
44
55To use it, clone the [ GitHub repository] ( https://github.com/aafulei/cpp-today ) ,
6- and use ` make ` to build, run, and test the program.
6+ and use ` make ` to build, run, test and install the program.
77
88``` shell
99make # Build release version
@@ -12,6 +12,8 @@ make run # Build and run release version
1212make run-debug # Build and run debug version
1313make test # Build and test release version
1414make test-debug # Build and test debug version
15+ make install # Build and install release version
16+ make uninstall # Remove installed program
1517make clean # Remove build files
1618```
1719
@@ -36,6 +38,8 @@ Targets:
3638 test - Build and test release version
3739 test-release - Build and test release version
3840 test-debug - Build and test debug version
41+ install - Build and install release version
42+ uninstall - Remove installed program
3943 clean - Remove release and debug build files
4044 clean-release - Remove release build files
4145 clean-debug - Remove debug build files
@@ -47,16 +51,20 @@ Targets:
4751Variables:
4852 CXX - C++ compiler (default: c++).
4953 CXX_STANDARD - C++ standard (default: c++23).
54+ PREFIX - Installation prefix (default: /usr/local)
55+ INSTALL_DIR - Installation directory (default: $PREFIX/bin)
5056
5157Examples:
52- make # Build release version
53- make all # Build release version
54- make release # Build release version
55- make debug # Build debug version
56- make run-debug # Build and run debug version
57- make test-debug # Build and test debug version
58- make CXX=g++ # Build with g++ compiler
59- make CXX_STANDARD=c++20 # Build with C++20 standard
58+ make # Build release version
59+ make all # Build release version
60+ make release # Build release version
61+ make debug # Build debug version
62+ make run-debug # Build and run debug version
63+ make test-debug # Build and test debug version
64+ make CXX=g++ # Build with g++ compiler
65+ make CXX_STANDARD=c++20 # Build with C++20 standard
66+ make PREFIX=/opt/local install # Install to /opt/local/bin
67+ make PREFIX=/opt/local uninstall # Remove program from /opt/local/bin
6068```
6169
6270---
0 commit comments