-
Notifications
You must be signed in to change notification settings - Fork 14
/
fobos
121 lines (107 loc) · 3.33 KB
/
fobos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
[modes]
modes = tests-gnu
tests-gnu-debug
tests-intel
tests-intel-debug
[common-variables]
$CSHARED_GNU = -DGNU -cpp -c -fPIC -frealloc-lhs
$CSHARED_INT = -cpp -c -fpic -assume realloc_lhs
$LSHARED = -shared
$CSTATIC_GNU = -DGNU -cpp -c -frealloc-lhs
$CSTATIC_INT = -cpp -c -assume realloc_lhs
$DEBUG_GNU = -DGNU -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 = BeFoR64/src/tests/ PENF/src/tests/ StringiFor/src/tests/
# main modes
# GNU
[tests-gnu]
template = template-static-gnu
build_dir = exe
[tests-gnu-debug]
template = template-static-gnu-debug
build_dir = exe
# Intel
[tests-intel]
template = template-static-intel
build_dir = exe
[tests-intel-debug]
template = template-static-intel-debug
build_dir = exe
#templates
[template-static-gnu]
compiler = gnu
cflags = $CSTATIC_GNU $OPTIMIZE
cflags_heritage = True
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 10
[template-static-gnu-debug]
compiler = gnu
cflags = $CSTATIC_GNU $DEBUG_GNU
lflags = $DEBUG_GNU
cflags_heritage = True
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 10
[template-static-intel]
compiler = intel
cflags = $CSTATIC_INT $OPTIMIZE
lflags = $OPTIMIZE
cflags_heritage = True
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 10
[template-static-intel-debug]
compiler = intel
cflags = $CSTATIC_INT $DEBUG_INT
lflags = $DEBUG_INT
cflags_heritage = True
exclude_dirs = $EXDIRS
mod_dir = ./mod/
obj_dir = ./obj/
src = ./src/
colors = True
quiet = False
log = True
jobs = 10
[rule-makedoc]
help = Rule for building 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-deldoc]
help = Rule for deleting documentation
rule = rm -rf doc/html/*
[rule-maketar]
help = Rule for making tar archive of the project
rule = tar -czf FoXy.tar.gz *
[rule-makecoverage]
help = Rule for performing coverage analysis
rule_1 = FoBiS.py clean -mode tests-gnu
rule_2 = FoBiS.py build -mode tests-gnu -coverage
rule_3 = ./run_tests.sh
rule_4 = gcov -o exe/obj/ src/lib/foxy*
[rule-coverage-analysis]
help = Rule for performing 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 = ./run_tests.sh
rule_4 = gcov -o exe/obj/ src/lib/*
rule_5 = FoBiS.py rule -gcov_analyzer wiki/ Coverage-Analysis
rule_6 = rm -f *.gcov