fmake is a small script for the easy creation of makefile for Fortran (standard 90 or higher) projects. The aim is to easily create the compiling rules with the correct hierarchy for inter-dependent modules, a task that could be very boring for big project with many source files.
The created makefile can produce colorful std-output and save compilation errors and warnings on separate log files.
fmake has a simple help documentation. Run:
fmake -h
and the help printed is as following:
fmake 0.1: a small script for the easy creation of makefile for Fortran (standard 90 or higher) projects
the aim is to easily create the compiling rules with the correct hierarchy for inter-dependent modules
Usage: fmake [options [args]]
Options:
-h
print this help message
-s [dir]
dir = directory containing source files .[fF][90,95,03,08,2k], default './src/'
-m [makefile]
makefile = file name of the output makefile, default 'makefile'
-header or -hd [header]
header = file containing the 'user defined header' of makefile, it is not used by default
Note:
if no header file is used a very basic header of the makefile is automatically created by fmake
and the user must check the makefile before use it
-fc [fortran_compiler]
fortran_compiler = name of Fortran compiler, default 'gfortran'
-dobj [dir_obj]
dir_obj = compiled objects directory name, default './obj/'
-dmod [dir_mod]
dir_mod = module interfaces directory name, default './mod/'
-dexe [dir_exe]
dir_exe = executable programs directory name, default './'
-optc ['compiling_options']
compiling_options = compiling options, default '-c -J$(DMOD)'
-optl ['linking_options']
linking_options = linking options, default ''
-libs ['libraries_list']
libraries_list = external libraries to be linked, default ''
-simple
produce a simple makefile without colorful output and compilation errors/warnings log files
Note:
The hierarchy of compiling rules is made up without the intrinsic modules, namely the 'OMP_LIB' and 'MPI' modules.
Let us assume your source files are in "sources" directory. A colorful makefile without customized header can be created by
fmake -s sources/
A very simple makefile without colourful std-output and log files cab be created by
fmake -s sources/ -simple
If you want a more complicated makefile with customized header you can use your own header file:
fmake -s sources/ -header YourHeaderFile
Note that by default a file named makefile is created. Its name can be changed by the CLI switch "-m YourCustomName"
- Recursive search for source files;
- GUI.
fmake is an open source script, it is distributed under the GPL v3. Anyone is interest to use, to develop or to contribute to fmake is welcome.