https://github.com/szaghi/FLAP
Tip revision: d2185fd5dc6e61c5b569438887878628aaf32b30 authored by Stefano Zaghi on 30 June 2022, 10:24:18 UTC
Firt GitHub Action test
Firt GitHub Action test
Tip revision: d2185fd
fobos
[modes]
modes = shared-gnu static-gnu shared-gnu-debug static-gnu-debug
shared-intel static-intel shared-intel-debug static-intel-debug
tests-gnu tests-gnu-debug
tests-intel tests-intel-debug
[common-variables]
$CSHARED_GNU = -cpp -c -fPIC -frealloc-lhs
$CSHARED_INT = -cpp -c -fpic -assume realloc_lhs
$LSHARED = -shared
$CSTATIC_GNU = -cpp -c -frealloc-lhs
$CSTATIC_INT = -cpp -c -assume realloc_lhs
$DEBUG_GNU = -O0 -g3 -Warray-bounds -Wcharacter-truncation -Wline-truncation -Wimplicit-interface -Wimplicit-procedure -Wunderflow -fcheck=all -fmodule-private -ffree-line-length-132 -fimplicit-none -fbacktrace -fdump-core -finit-real=nan -std=f2008 -fall-intrinsics
$DEBUG_INT = -O0 -debug all -check all -warn all -extend-source 132 -traceback -gen-interfaces#-fpe-all=0 -fp-stack-check -fstack-protector-all -ftrapuv -no-ftz -std08
$OPTIMIZE = -O2
$EXDIRS = FACE/src/tests/ fortran_tester/test/ PENF/src/tests/
# main modes
# GNU
[shared-gnu]
template = template-shared-gnu
target = flap.f90
build_dir = ./shared/
output = libflap.so
mklib = shared
[static-gnu]
template = template-static-gnu
target = flap.f90
build_dir = ./static/
output = libflap.a
mklib = static
[shared-gnu-debug]
template = template-shared-gnu-debug
target = flap.f90
build_dir = ./shared/
output = libflap.so
mklib = shared
[static-gnu-debug]
template = template-static-gnu-debug
target = flap.f90
build_dir = ./static/
output = libflap.a
mklib = static
[tests-gnu]
template = template-static-gnu
build_dir = ./exe/
[tests-gnu-debug]
template = template-static-gnu-debug
build_dir = ./exe/
# Intel
[shared-intel]
template = template-shared-intel
target = flap.f90
build_dir = ./shared/
output = libflap.so
mklib = shared
[static-intel]
template = template-static-intel
target = flap.f90
build_dir = ./static/
output = libflap.a
mklib = static
[shared-intel-debug]
template = template-shared-intel-debug
target = flap.f90
build_dir = ./shared/
output = libflap.so
mklib = shared
[static-intel-debug]
template = template-static-intel-debug
target = flap.f90
build_dir = ./static/
output = libflap.a
mklib = static
[tests-intel]
template = template-static-intel
build_dir = ./exe/
[tests-intel-debug]
template = template-static-intel-debug
build_dir = ./exe/
#templates
[template-shared-gnu]
compiler = gnu
cflags = $CSHARED_GNU $OPTIMIZE
lflags = $LSHARED $OPTIMIZE
preproc = -D_R16P_SUPPORTED
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 2
[template-static-gnu]
compiler = gnu
cflags = $CSTATIC_GNU $OPTIMIZE
preproc = -D_R16P_SUPPORTED
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 2
[template-shared-gnu-debug]
compiler = gnu
cflags = $CSHARED_GNU $DEBUG_GNU
lflags = $LSHARED $DEBUG_GNU
preproc = -D_R16P_SUPPORTED
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 2
[template-static-gnu-debug]
compiler = gnu
cflags = $CSTATIC_GNU $DEBUG_GNU
lflags = $DEBUG_GNU
preproc = -D_R16P_SUPPORTED
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 2
[template-shared-intel]
compiler = intel
cflags = $CSHARED_INT $OPTIMIZE
lflags = $LSHARED $OPTIMIZE
preproc = -D_R16P_SUPPORTED
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 2
[template-static-intel]
compiler = intel
cflags = $CSTATIC_INT $OPTIMIZE
lflags = $OPTIMIZE
preproc = -D_R16P_SUPPORTED
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 2
[template-shared-intel-debug]
compiler = intel
cflags = $CSHARED_INT $DEBUG_INT
lflags = $LSHARED $DEBUG_INT
preproc = -D_R16P_SUPPORTED
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 2
[template-static-intel-debug]
compiler = intel
cflags = $CSTATIC_INT $DEBUG_INT
lflags = $DEBUG_INT
preproc = -D_R16P_SUPPORTED
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 2
# rules
[rule-makedoc]
help = Build documentation from source files
rule_1 = rm -rf doc/html/*
rule_2 = ford doc/main_page.md --debug
rule_3 = cp -r doc/html/publish/* doc/html/
rule_4 = rm -rf doc/html/publish
[rule-deldoc]
help = Delete documentation
rule = rm -rf doc/html/*
[rule-delexe]
help = Delete exes
rule = rm -rf exe/
[rule-clean]
help = Clean the project tree
rule_1 = FoBiS.py rule -ex deldoc
rule_2 = FoBiS.py rule -ex delexe
rule_3 = rm -f *.gcov
[rule-maketar]
help = Make tar archive of the project
rule = tar --xform="s%^%FLAP/%" -czf FLAP.tar.gz *
[rule-makecoverage]
help = Perform coverage analysis
rule_1 = FoBiS.py clean -mode tests-gnu
rule_2 = FoBiS.py build -mode tests-gnu -coverage
rule_3 = ./scripts/run_tests.sh
rule_4 = rm -f exe/obj/face* exe/obj/penf* exe/obj/tester* FLAP.1
rule_5 = gcov -o exe/obj/ src/lib/flap*
rule_6 = rm -f *.gcov
[rule-makecoverage-analysis]
help = Perform coverage analysis and saving reports in markdown
rule_1 = FoBiS.py clean -mode tests-gnu
rule_2 = FoBiS.py build -mode tests-gnu -coverage
rule_3 = ./scripts/run_tests.sh
rule_4 = rm -f exe/obj/face* exe/obj/penf* exe/obj/tester* FLAP.1
rule_5 = gcov -o exe/obj/ src/lib/flap*
rule_6 = FoBiS.py rule -gcov_analyzer wiki/ Coverage-Analysis
rule_7 = rm -f *.gcov