Skip to content

Commit c2beb25

Browse files
committed
Add a fobos file
Add a fobos file with all the build.sh features plus some others. Why: With a fobos file it is very easy to build inter-dependent projects by means of FoBiS.py. Moreover, some other helpers are present into the fobos file (intel build-flags, automatic rebuild cfalgs_heritage-based...). This change addresses the need by: Add "fobos" file to the root of project. Side effects: Nothing.
1 parent 3e91de1 commit c2beb25

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

fobos

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
[modes]
2+
modes = static-gnu static-gnu-debug
3+
static-intel static-intel-debug
4+
tests-gnu tests-gnu-debug
5+
tests-intel tests-intel-debug
6+
7+
[common-variables]
8+
$CSTATIC_GNU = -c -fbacktrace -Wall -Wextra -Wno-maybe-uninitialized -Wno-unused-function -pedantic -std=f2008
9+
$CSTATIC_INT = -c -std08
10+
$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
11+
$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
12+
$OPTIMIZE = -O2
13+
14+
# main modes
15+
# library
16+
[static-gnu]
17+
description = Build library with GNU gfortran by optmized-static flags
18+
compiler = gnu
19+
cflags = $CSTATIC_GNU $OPTIMIZE
20+
cflags_heritage = True
21+
build_dir = ./lib/
22+
mod_dir = ./mod/
23+
obj_dir = ./obj/
24+
src = ./src/
25+
colors = True
26+
quiet = False
27+
log = False
28+
jobs = 2
29+
mklib = static
30+
target = pyplot_module.f90
31+
output = libpyplot.a
32+
33+
[static-gnu-debug]
34+
description = Build library with GNU gfortran by debug-static flags
35+
compiler = gnu
36+
cflags = $CSTATIC_GNU $DEBUG_GNU
37+
cflags_heritage = True
38+
build_dir = ./lib/
39+
mod_dir = ./mod/
40+
obj_dir = ./obj/
41+
src = ./src/
42+
colors = True
43+
quiet = False
44+
log = False
45+
jobs = 2
46+
mklib = static
47+
target = pyplot_module.f90
48+
output = libpyplot.a
49+
50+
[static-intel]
51+
description = Build library with Intel Fortran by optmized-static flags
52+
compiler = intel
53+
cflags = $CSTATIC_INT $OPTIMIZE
54+
cflags_heritage = True
55+
build_dir = ./lib/
56+
mod_dir = ./mod/
57+
obj_dir = ./obj/
58+
src = ./src/
59+
colors = True
60+
quiet = False
61+
log = False
62+
jobs = 2
63+
mklib = static
64+
target = pyplot_module.f90
65+
output = libpyplot.a
66+
67+
[static-intel-debug]
68+
description = Build library with Intel Fortran by debug-static flags
69+
compiler = gnu
70+
cflags = $CSTATIC_INT $DEBUG_INT
71+
cflags_heritage = True
72+
build_dir = ./lib/
73+
mod_dir = ./mod/
74+
obj_dir = ./obj/
75+
src = ./src/
76+
colors = True
77+
quiet = False
78+
log = False
79+
jobs = 2
80+
mklib = static
81+
target = pyplot_module.f90
82+
output = libpyplot.a
83+
84+
# test programs
85+
[tests-gnu]
86+
description = Build all tests with GNU gfortran by optmized-static flags
87+
compiler = gnu
88+
cflags = $CSTATIC_GNU $OPTIMIZE
89+
cflags_heritage = True
90+
build_dir = ./bin/
91+
mod_dir = ./mod/
92+
obj_dir = ./obj/
93+
src = ./src/
94+
colors = True
95+
quiet = False
96+
log = False
97+
jobs = 2
98+
99+
[tests-gnu-debug]
100+
description = Build all tests with GNU gfortran by debug-static flags
101+
compiler = gnu
102+
cflags = $CSTATIC_GNU $DEBUG_GNU
103+
cflags_heritage = True
104+
build_dir = ./bin/
105+
mod_dir = ./mod/
106+
obj_dir = ./obj/
107+
src = ./src/
108+
colors = True
109+
quiet = False
110+
log = False
111+
jobs = 2
112+
113+
[tests-intel]
114+
description = Build all tests with Intel Fortran by optmized-static flags
115+
compiler = intel
116+
cflags = $CSTATIC_INT $OPTIMIZE
117+
cflags_heritage = True
118+
build_dir = ./bin/
119+
mod_dir = ./mod/
120+
obj_dir = ./obj/
121+
src = ./src/
122+
colors = True
123+
quiet = False
124+
log = False
125+
jobs = 2
126+
127+
[tests-intel-debug]
128+
description = Build all tests with Intel Fortran by debug-static flags
129+
compiler = gnu
130+
cflags = $CSTATIC_INT $DEBUG_INT
131+
cflags_heritage = True
132+
build_dir = ./bin/
133+
mod_dir = ./mod/
134+
obj_dir = ./obj/
135+
src = ./src/
136+
colors = True
137+
quiet = False
138+
log = False
139+
jobs = 2
140+
141+
# auxiliary rules
142+
[rule-makedoc]
143+
help = Rule for building documentation from source files
144+
rule_1 = ford pyplot-fortran.md

0 commit comments

Comments
 (0)