It works for unix/linux OS.
The script uses: bash
, awk
.
Run in your C/C++ sources folder:
$ ./generator-makefile.sh
The script searches recursively for the files *.cpp
and *.c
. It creates a makefile
file. If the file already exists, the previous version will be saved to the makefile-old
file.
Options in the makefile
file:
-
make
ormake release
compiles in release mode and runs the compiled file. Creates a_release
folder and saves the binary files there. -
make debug
compiles in debug mode and runs in the valgrind environment. Creates a_debug
folder and saves the binary files there. -
make gprof
compiles in debug mode, runs the gprof profiler and writes its result to the standard output. -
make clean
removes binary files (*.o
andmain
) along with the_release
and_debug
folders. -
make 5-minutes
removes binary files (*.o
andmain
) from the_release
and_debug
folders not older than 5 minutes. -
make 10-minutes
removes binary files (*.o
andmain
) from the_release
and_debug
folders not older than 10 minutes. -
make 30-minutes
removes binary files (*.o
andmain
) from the_release
and_debug
folders not older than 30 minutes. -
make 60-minutes
removes binary files (*.o
andmain
) from the_release
and_debug
folders not older than 60 minutes. -
make 1-days
removes binary files (*.o
andmain
) from the_release
and_debug
folders not older than 1 day. -
make doxygen
starts thedoxygen
program.
Skrypt działa w uniksie/linuksie.
Skrypt korzysta z bash
a i awk
.
Uruchom w folderze ze źródłami w C/C++:
$ ./generator-makefile.sh
Skrypt wyszukuje rekurencyjnie pliki *.cpp
i *.c
. Tworzy plik makefile
. Jeżeli plik już istnieje, poprzednia wersja zostanie zapisana do pliku makefile-old
.
Opcje w pliku makefile
:
-
make
lubmake release
kompiluje w trybie release i uruchamia skompilowany plik. Tworzy folder_release
i tam zapisuje pliki binarne. -
make debug
kompiluje w trybie debug i uruchamia w środowiskuvalgrind
. Tworzy folder_debug
i tam zapisuje pliki binarne. -
make gprof
kompiluje w trybie debug, uruchamia profiler gprof i wypisuje jego wynik na standardowe wyjście. -
make clean
usuwa pliki binarne (*.o
imain
) wraz z folderami_release
i_debug
. -
make 5-minutes
usuwa pliki binarne (*.o
imain
) z folderów_release
i_debug
nie starsze niż 5 minut. -
make 10-minutes
usuwa pliki binarne (*.o
imain
) z folderów_release
i_debug
nie starsze niż 10 minut. -
make 30-minutes
usuwa pliki binarne (*.o
imain
) z folderów_release
i_debug
nie starsze niż 30 minut. -
make 60-minutes
usuwa pliki binarne (*.o
imain
) z folderów_release
i_debug
nie starsze niż 60 minut. -
make 1-days
usuwa pliki binarne (*.o
imain
) z folderów_release
i_debug
nie starsze niż 1 dzień. -
make doxygen
uruchamia programdoxygen
.