1 | #+ |
---|
2 | # |
---|
3 | # TODO |
---|
4 | # ==== |
---|
5 | # |
---|
6 | # executable path =f(uname -m, compiler) |
---|
7 | # see cmake |
---|
8 | # |
---|
9 | # missing forcing of little endian in pgf90 and nag (f95) |
---|
10 | # |
---|
11 | # remove -fpstkchk for non i32 (ex: dedale) |
---|
12 | # |
---|
13 | # add test |
---|
14 | # |
---|
15 | # EVOLUTIONS |
---|
16 | # ========== |
---|
17 | # |
---|
18 | # - fplod 2009-02-11T11:16:11Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
19 | # |
---|
20 | # * main source renamed from .f to .F90 |
---|
21 | # * add gfortran |
---|
22 | # * improve nag and g95 options |
---|
23 | # |
---|
24 | # - fplod 2009-02-05T15:22:33Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
25 | # |
---|
26 | # * add pgf90 macros |
---|
27 | # |
---|
28 | # * add nag macros |
---|
29 | # |
---|
30 | # - fplod 2009-02-04T11:41:38Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
31 | # |
---|
32 | # * creation |
---|
33 | # |
---|
34 | #- |
---|
35 | |
---|
36 | DIRBASE = \ |
---|
37 | ../ |
---|
38 | |
---|
39 | DIRSRC = \ |
---|
40 | ./ |
---|
41 | |
---|
42 | DIRBIN = \ |
---|
43 | $(DIRBASE)/bin/ |
---|
44 | |
---|
45 | # uncomment FC, LD and FFLAGS lines to choose compiler/linker |
---|
46 | FC=g95 |
---|
47 | LD=g95 |
---|
48 | |
---|
49 | FFLAGS=-g -O -ffixed-form -fbounds-check \ |
---|
50 | -Wimplicit-none -Wall \ |
---|
51 | -Wextra -Wunused -Wuninitialized -Wprecision-loss \ |
---|
52 | -ftrapv -fexceptions -std=f2003 -fno-static \ |
---|
53 | -freal=nan \ |
---|
54 | -fendian=little \ |
---|
55 | -pedantic-errors |
---|
56 | |
---|
57 | # ++ missing forcing of little endian in pgf90 |
---|
58 | # only -byteswapio (swap) |
---|
59 | #FC=pgf90 |
---|
60 | #LD=pgf90 |
---|
61 | #FFLAGS=-g -Mstandard \ |
---|
62 | #-Ktrap=inv,divz,ovf,denorm,unf -Mdclchk -Mnosave -Minform=inform -C |
---|
63 | |
---|
64 | # ++ missing forcing of little endian in nag fortran |
---|
65 | # ++ -gline inefficient |
---|
66 | #FC=f95 |
---|
67 | #LD=f95 |
---|
68 | #FFLAGS=-g -fixed -strict95 -gline \ |
---|
69 | #-ieee=stop -nan -info -C |
---|
70 | |
---|
71 | # |
---|
72 | #FC=ifort |
---|
73 | #LD=ifort |
---|
74 | #FFLAGS=-g -O0 -inline_debug_info -fixed -stand f90 \ |
---|
75 | #-fpe:0 -ftz- -check all -warn all \ |
---|
76 | #-convert little_endian |
---|
77 | #LDOPTS=-g -O0 |
---|
78 | |
---|
79 | # 32 bits -fpe:0 -ftz- -fpstkchk -check all -warn all \ |
---|
80 | |
---|
81 | # !! -fconvert in gfortran only works for main program |
---|
82 | #FC=gfortran |
---|
83 | #LD=gfortran |
---|
84 | #FFLAGS=-g -ffixed-form -fbounds-check |
---|
85 | #-std=f95 -fall-intrinsics -pedantic-errors -Wall \ |
---|
86 | #-ffpe-trap=invalid,zero,overflow,underflow,precision,denormal \ |
---|
87 | #-frange-check \ |
---|
88 | #-fconvert=little-endian |
---|
89 | #LDOPTS=-g |
---|
90 | |
---|
91 | LDFLAGS=$(LDOPTS) |
---|
92 | |
---|
93 | LOADLIBES=$(BIBLIO) |
---|
94 | |
---|
95 | help : |
---|
96 | @echo "tapez la commande :" |
---|
97 | @echo " $$ make exec" |
---|
98 | |
---|
99 | clean : |
---|
100 | @-/bin/rm -i *.lis |
---|
101 | @-/bin/rm -i *.o |
---|
102 | @-/bin/rm -i $(DIRBIN)/*.x |
---|
103 | |
---|
104 | $(DIRBIN)/progfiltrage_simulation.x : \ |
---|
105 | progfiltrage_simulation.o \ |
---|
106 | forfilter.o |
---|
107 | @$(LD) $(LDFLAGS) \ |
---|
108 | progfiltrage_simulation.o \ |
---|
109 | forfilter.o \ |
---|
110 | $(LOADLIBES) -o $@ |
---|
111 | |
---|
112 | progfiltrage_simulation.o: \ |
---|
113 | $(DIRSRC)/SIMULS_IRCAAM/progfiltrage_simulation.F90 |
---|
114 | @$(FC) -c $(FFLAGS) -o $@ \ |
---|
115 | $(DIRSRC)/SIMULS_IRCAAM/progfiltrage_simulation.F90 |
---|
116 | |
---|
117 | forfilter.o: \ |
---|
118 | $(DIRSRC)/forfilter.f |
---|
119 | @$(FC) -c $(FFLAGS) -o $@ \ |
---|
120 | $(DIRSRC)/forfilter.f |
---|
121 | |
---|
122 | exec: \ |
---|
123 | $(DIRBIN)/progfiltrage_simulation.x |
---|