Code examples are taken from the book (with slight modifications)
- Rouson, D., Xia, J., and Xiaofeng, X.. 2014. Scientific Software
Design: The Object-Oriented Way.
2nd ed. Cambridge. Cambridge University Press
For more details see the official Fortran webpage
make a new dir
mkdir build
Compile the inner modules (dependencies in order) first
gfortran -std=f2008 -c kind_parameters.f08 -o build/kind_parameters.o -Jbuild/
gfortran -std=f2008 -c conduction_module.f08 -o build/conduction_module.o -Jbuild/
gfortran -std=f2008 -c problem_class.f08 -o build/problem_class.o -Jbuild/
gfortran -std=f2008 -c differentiator_class.f08 -o build/differentiator_class.o -Jbuild/
gfortran -std=f2008 -c conductor_classs.f08 -o build/conductor_classs.o -Jbuild/
followed by the final executable
gfortran -std=f2008 fin_test.f08 -o fin_test.o build/conduction_module.o build/kind_parameters.o build/problem_class.o build/differentiator_class.o build/conductor_classs.o -Jbuild/
option Jbuild/
puts the intermediate build files in the directory build
or in one line using
gfortran -std=f2008 src/kind_parameters.f08 src/conduction_module.f08 src/problem_class.f08 src/differentiator_class.f08 src/conductor_classs.f08 fin_test.f08 -o fin_test.o -Jbuild/
Set the CMakeLists.txt file in root dir
cd build
cmake ..
make
make clean # to clean builds
cd ..
./fin_test.o
./AllcleanMake