1 |
mlosch |
1.1 |
--- /scratch/users/mlosch/MITgcm/tools/genmake2 2014-11-03 10:48:01.154070057 +0100 |
2 |
|
|
+++ genmake2 2014-12-10 09:23:33.121567223 +0100 |
3 |
|
|
@@ -3124,6 +3124,19 @@ |
4 |
|
|
|
5 |
|
|
cat >>$MAKEFILE <<EOF |
6 |
|
|
|
7 |
|
|
+# ... Utilities ... |
8 |
|
|
+remove_comments: |
9 |
|
|
+ sed -i.bak -f \$(TOOLSDIR)/remove_comments_sed \$(AD_FILES) |
10 |
|
|
+ @-rm -f \$(AD_FILES:.$FS=.$FS.bak) |
11 |
|
|
+adj_sed: |
12 |
|
|
+ sed -i.bak -f \$(TOOLSDIR)/adjoint_sed \$(AD_FILES:.$FS=_ad.$FS) |
13 |
|
|
+ @-rm -f \$(AD_FILES:.$FS=_ad.$FS.bak) |
14 |
|
|
+ftl_sed: |
15 |
|
|
+ sed -i.bak -f \$(TOOLSDIR)/adjoint_sed \$(AD_FILES:.$FS=_tl.$FS) |
16 |
|
|
+ @-rm -f \$(AD_FILES:.$FS=_tl.$FS.bak) |
17 |
|
|
+adobjfiles: \$(AD_FILES:.$FS=_ad.o) |
18 |
|
|
+ftlobjfiles: \$(AD_FILES:.$FS=_tl.o) |
19 |
|
|
+ |
20 |
|
|
# ... AD ... |
21 |
|
|
adall: ad_exe_target |
22 |
|
|
adtaf: ad_taf_output.$FS |
23 |
|
|
@@ -3144,19 +3157,25 @@ |
24 |
|
|
@\$(MAKE) -f \$(MAKEFILE) \$(FLOWFILES) |
25 |
|
|
cat \$(FLOWFILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ad_input_code.$FS |
26 |
|
|
|
27 |
|
|
-ad_taf_output.$FS: ad_input_code.$FS |
28 |
|
|
- @-rm -f ad_input_code_ad.$FS ; echo '' |
29 |
|
|
- \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS |
30 |
|
|
- ls -l ad_input_code_ad.$FS |
31 |
|
|
- cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS |
32 |
|
|
+ad_taf_output.$FS: \$(AD_FLOW_FILES) \$(AD_FILES) |
33 |
|
|
+ @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "Adjoint version" -bAD_CONFIG_H -DALLOW_ADJOINT_RUN -UALLOW_TANGENTLINEAR_RUN > ad_config.template |
34 |
|
|
+ cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h |
35 |
|
|
+ @-rm -f ad_config.template |
36 |
|
|
+ @\$(MAKE) -f \$(MAKEFILE) \$(F77_PP_SRC_FILES) |
37 |
|
|
+ @\$(MAKE) -f \$(MAKEFILE) \$(FLOWFILES) |
38 |
|
|
+ @-rm -f \$(AD_FILES:.$FS=_ad.$FS) \$(AD_FILES:.$FS=_ad.o); echo '' |
39 |
|
|
+ \$(MAKE) -f \$(MAKEFILE) remove_comments |
40 |
|
|
+ \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) \$(FLOWFILES) \$(AD_FILES) |
41 |
|
|
+ \$(MAKE) -f \$(MAKEFILE) adj_sed |
42 |
|
|
+ \$(MAKE) -f \$(MAKEFILE) adobjfiles |
43 |
|
|
+ cat \$(AD_FILES:.$FS=_ad.$FS) > ad_taf_output.$FS |
44 |
|
|
|
45 |
|
|
adtafonly: |
46 |
|
|
- \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS |
47 |
|
|
- ls -l ad_input_code_ad.$FS |
48 |
|
|
- cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS |
49 |
|
|
+ \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) \$(FLOWFILES) \$(AD_FILES) |
50 |
|
|
+ cat \$(AD_FILES:.$FS=_ad.$FS) | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS |
51 |
|
|
|
52 |
|
|
-\$(EXE_AD): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) |
53 |
|
|
- \$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) |
54 |
|
|
+\$(EXE_AD): \$(SPECIAL_FILES) \$(H_SRC_FILES) ad_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) |
55 |
|
|
+ \$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(AD_FILES:.$FS=_ad.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) |
56 |
|
|
|
57 |
|
|
ad_tamc_output.$FS: ad_input_code.$FS |
58 |
|
|
\$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.$FS |
59 |
|
|
@@ -3171,7 +3190,7 @@ |
60 |
|
|
adtrick: |
61 |
|
|
patch < \$(TOOLSDIR)/ad_taf_output.f.adtrick.diff |
62 |
|
|
|
63 |
|
|
-adobj: ad_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) |
64 |
|
|
+adobj: \$(AD_FILES:.$FS=_ad.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) |
65 |
|
|
|
66 |
|
|
# ... FTL ... |
67 |
|
|
ftlall: ftl_exe_target |
68 |
|
|
@@ -3193,19 +3212,25 @@ |
69 |
|
|
@\$(MAKE) -f \$(MAKEFILE) \$(AD_FLOW_FILES) |
70 |
|
|
cat \$(AD_FLOW_FILES) \$(AD_FILES) | sed -f \$(TOOLSDIR)/remove_comments_sed > ftl_input_code.$FS |
71 |
|
|
|
72 |
|
|
-ftl_taf_output.$FS: ftl_input_code.$FS |
73 |
|
|
- @-rm -f ftl_input_code_tl.$FS ; echo '' |
74 |
|
|
- \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS |
75 |
|
|
- ls -l ftl_input_code_tl.$FS |
76 |
|
|
- cat ftl_input_code_tl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS |
77 |
|
|
+ftl_taf_output.$FS: \$(AD_FLOW_FILES) \$(AD_FILES) |
78 |
|
|
+ @$BASH\$(TOOLSDIR)/convert_cpp_cmd2defines "TangLin version" -bAD_CONFIG_H -UALLOW_ADJOINT_RUN -DALLOW_TANGENTLINEAR_RUN > ad_config.template |
79 |
|
|
+ cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h |
80 |
|
|
+ @-rm -f ad_config.template |
81 |
|
|
+ @\$(MAKE) -f \$(MAKEFILE) \$(F77_PP_SRC_FILES) |
82 |
|
|
+ @\$(MAKE) -f \$(MAKEFILE) \$(AD_FLOW_FILES) |
83 |
|
|
+ @-rm -f \$(AD_FILES:.$FS=_tl.$FS) \$(AD_FILES:.$FS=_tl.o); echo '' |
84 |
|
|
+ \$(MAKE) -f \$(MAKEFILE) remove_comments |
85 |
|
|
+ \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) \$(AD_FLOW_FILES) \$(AD_FILES) |
86 |
|
|
+ \$(MAKE) -f \$(MAKEFILE) ftl_sed |
87 |
|
|
+ \$(MAKE) -f \$(MAKEFILE) ftlobjfiles |
88 |
|
|
+ cat \$(AD_FILES:.$FS=_tl.$FS) > ftl_taf_output.$FS |
89 |
|
|
|
90 |
|
|
ftltafonly: |
91 |
|
|
\$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS |
92 |
|
|
- ls -l ftl_input_code_tl.$FS |
93 |
|
|
- cat ftl_input_code_tl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS |
94 |
|
|
+ cat \$(AD_FILES:.$FS=_tl.$FS) | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS |
95 |
|
|
|
96 |
|
|
-\$(EXE_FTL): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) |
97 |
|
|
- \$(LINK) -o \${EXE_FTL} \$(FFLAGS) \$(FOPTIM) ftl_taf_output.o \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) |
98 |
|
|
+\$(EXE_FTL): \$(SPECIAL_FILES) \$(H_SRC_FILES) ftl_taf_output.$FS \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(EMBEDDED_FILES) |
99 |
|
|
+ \$(LINK) -o \${EXE_FTL} \$(FFLAGS) \$(FOPTIM) \$(AD_FILES:.$FS=_tl.o) \$(NON_AD_F77_SRC_FILES:.F=.o) \$(F90_SRC_FILES:.F90=.o) \$(C_SRC_FILES:.c=.o) \$(LIBS) |
100 |
|
|
|
101 |
|
|
ftl_tamc_output.$FS: ftl_input_code.$FS |
102 |
|
|
\$(TAMC) \$(FTL_TAMC_FLAGS) \$(TAMC_EXTRA) ftl_input_code.$FS |