Makefile [SRC] [CPP] [JOB] [SCAN]
SOURCESTOOLS/BALANCE_FLUX [=]
TOOLS/DOM2ASCII [=]
TOOLS/INCONVERT [=]
TOOLS/INITBC [=]
TOOLS/OUTCONVERT [=]
TOOLS/PREDATAS [=]
TOOLS/QUAD_TRACING [=]
TOOLS/RAY [=]
SEQCODE [=]
TOOLS/SOLINIT [=]
TOOLS/SOLINIT_AVBP [=]
TOOLS/TABFSK [=]
TOOLS/TRACK_CELLS [=]
TOOLS/VISU [=]



   1 | include $(DOMHOME)/HOSTS/$(DOM_HOSTTYPE)/makefile.h
   2 | 
   3 | #
   4 | #  Version and outpath
   5 | #  -------------------
   6 | #
   7 | 
   8 | HOST = $(DOMHOME)/HOSTS/$(DOM_HOSTTYPE)
   9 | OUT = $(HOST)
  10 | 
  11 | #
  12 | #  Remove .f files? (yes/no)
  13 | #  -----------------
  14 | #
  15 | 
  16 | CLEANf = yes
  17 | 
  18 | 
  19 | #
  20 | #  Sources directories
  21 | #  -------------------
  22 | #
  23 | 
  24 | FUNC   = $(DOMHOME)/SOURCES/FUNCTIONS
  25 | INOUT  = $(DOMHOME)/SOURCES/INOUT
  26 | MAIN   = $(DOMHOME)/SOURCES/MAIN
  27 | MASTR  = $(DOMHOME)/SOURCES/MAIN/MASTER
  28 | MODEL  = $(DOMHOME)/SOURCES/MODEL
  29 | MODIR  = $(DOMHOME)/SOURCES/MODULES
  30 | QUAD   = $(DOMHOME)/SOURCES/QUADRATURE
  31 | SCHM   = $(DOMHOME)/SOURCES/SCHEMES
  32 | SLAVE  = $(DOMHOME)/SOURCES/MAIN/SLAVE
  33 | 
  34 | INCFILE = $(HOST)/dom.inc
  35 | 
  36 | #
  37 | #  Suffixes
  38 | #  --------
  39 | 
  40 | .SUFFIXES:
  41 | .SUFFIXES:.o .F .HH .h
  42 | 
  43 | #
  44 | #  Executable files
  45 | #  ----------------
  46 | #
  47 | 
  48 | DOMEXEC = $(OUT)/mpiprissma_$(DOM_VERSION).e_$(DOM_HOSTTYPE)
  49 | LIBDOM  = $(OUT)/mpiprissma.a
  50 | 
  51 | #
  52 | #  Modules
  53 | #  -------
  54 | #
  55 | 
  56 | MODULES = \
  57 |  $(MAIN)/mod_pmm \
  58 |  $(MAIN)/mod_inout \
  59 |  $(SLAVE)/mod_slave \
  60 |  $(MASTR)/mod_prissma
  61 | 
  62 | #
  63 | #  File dependency
  64 | #  ---------------
  65 | #
  66 | 
  67 | D1 = $(MAIN)/mod_pmm
  68 | D2 = $(MAIN)/mod_inout
  69 | D3 = $(SLAVE)/mod_slave
  70 | D4 = $(MASTR)/mod_prissma
  71 | 
  72 | D5 = $(MASTR)/mod_prissma $(MAIN)/mod_inout $(SLAVE)/mod_slave
  73 | 
  74 | D8 = $(MASTR)/mod_prissma $(MAIN)/mod_inout $(MAIN)/mod_pmm
  75 | D9 = $(SLAVE)/mod_slave $(MAIN)/mod_inout $(MAIN)/mod_pmm
  76 | 
  77 | D10= $(MAIN)/mod_pmm $(MAIN)/mod_inout
  78 | D11= $(SLAVE)/mod_slave $(MAIN)/mod_pmm
  79 | 
  80 | #
  81 | #  Independent files
  82 | #  -----------------
  83 | #
  84 | 
  85 | FUNC_= \
  86 |  $(FUNC)/blae \
  87 |  $(FUNC)/planck
  88 | 
  89 | INOUT_ = \
  90 |  $(INOUT)/readtab
  91 | 
  92 | MODEL_= \
  93 |  $(MODEL)/findi \
  94 |  $(MODEL)/tmno
  95 | 
  96 | QUAD_= \
  97 |  $(QUAD)/cdss \
  98 |  $(QUAD)/pdf \
  99 |  $(QUAD)/cofg \
 100 |  $(QUAD)/gauleg \
 101 |  $(QUAD)/k_distributeur
 102 | 
 103 | SCHM_= \
 104 |  $(SCHM)/exposcheme \
 105 |  $(SCHM)/mfscheme
 106 | 
 107 | #
 108 | #  Module dependency
 109 | #  -----------------
 110 | #
 111 | 
 112 | SUB_D0 = $(FUNC_) $(INOUT_) $(MODEL_) $(QUAD_) $(SCHM_)
 113 | 
 114 | SUB_D1 = \
 115 |  $(MAIN)/pmm_begin \
 116 |  $(MAIN)/pmm_end \
 117 |  $(MAIN)/pmm_sendpartition \
 118 |  $(MODEL)/emissiv \
 119 |  $(MODEL)/emissiv_snb \
 120 |  $(MAIN)/mpiprissma \
 121 |  $(MASTR)/master \
 122 |  $(SLAVE)/slave_receive \
 123 |  $(MASTR)/master_control
 124 | 
 125 | SUB_D2 = \
 126 |  $(MAIN)/pmm_readinput \
 127 | 
 128 | SUB_D3 = \
 129 |  $(SLAVE)/slave_partition \
 130 |  $(SCHM)/spatial_scheme \
 131 |  $(FUNC)/find_ibnd \
 132 |  $(MODEL)/kbarandphi
 133 | SUB_D4 = \
 134 |  $(MASTR)/master_integrate
 135 | 
 136 | SUB_D5 = \
 137 |  $(INOUT)/outprocessing
 138 | 
 139 | SUB_D8 = \
 140 |  $(INOUT)/read_data \
 141 |  $(MASTR)/partition
 142 | 
 143 | SUB_D9 = \
 144 |  $(SCHM)/band_integ \
 145 |  $(SCHM)/band_integ_snb \
 146 |  $(INOUT)/read_data_slave \
 147 |  $(slave.F.html">SLAVE)/slave \
 148 |  $(SCHM)/deri_kappa \
 149 |  $(SCHM)/deri_kappa_snb
 150 | 
 151 | SUB_D10 = \
 152 |  $(MODEL)/fsk_case \
 153 |  $(MODEL)/tfsk_case \
 154 |  $(MODEL)/fsck_case \
 155 |  $(MODEL)/tfsck_case \
 156 |  $(MODEL)/ck_case \
 157 |  $(MODEL)/wsgg_case \
 158 |  $(INOUT)/postprocessing
 159 | 
 160 | SUB_D11 = \
 161 |  $(INOUT)/param_slave \
 162 |  $(FUNC)/gather \
 163 |  $(FUNC)/gather_faces \
 164 |  $(FUNC)/scatter \
 165 |  $(FUNC)/volaverage
 166 | 
 167 | #
 168 | #  Constants
 169 | #  ---------
 170 | #
 171 | 
 172 | CONSTS = \
 173 |  $(MAIN)/dom_constants.h \
 174 |  $(MAIN)/pmm_constants.h
 175 | 
 176 | #
 177 | #  Subroutine compilation order
 178 | #  ----------------------------
 179 | #
 180 | 
 181 | SUB = \
 182 |  $(SUB_D0) \
 183 |  $(SUB_D1) \
 184 |  $(SUB_D2) \
 185 |  $(SUB_D3) \
 186 |  $(SUB_D4) \
 187 |  $(SUB_D5) \
 188 |  $(SUB_D6) \
 189 |  $(SUB_D8) \
 190 |  $(SUB_D9) \
 191 |  $(SUB_D10) \
 192 |  $(SUB_D11)
 193 | 
 194 | #
 195 | #  All objects
 196 | #  -----------
 197 | #
 198 | 
 199 | ALL_OBJ = $(MODULES:=.o) $(SUB:=.o)
 200 | 
 201 | #
 202 | #  Compilation
 203 | #  -----------
 204 | #
 205 | 
 206 | all : test_lib link_dominc link_const allmodules subroutines
 207 | 	@echo
 208 | 	@echo "****************************************"
 209 | 	@echo
 210 | 	@echo "Linking Object Files ...."
 211 | 	@echo
 212 | 	@$(FF) $(LDFLAGS) -o $(DOMEXEC) $(ALL_OBJ) $(PLIBS)
 213 | 	@chmod a+x $(DOMEXEC)
 214 | 	@echo "Removing include files"
 215 | 	@$(RM) dom.inc *.h *_m4.F90 *.c *.o *.mod
 216 | 	@echo
 217 | 	@echo "Executable created :"
 218 | 	@echo $(DOMEXEC)
 219 | 	@echo
 220 | 	@echo "****************************************"
 221 | 	@echo
 222 | 
 223 | allmodules : $(MODULES:=.o)
 224 | 
 225 | subroutines : $(SUB:=.o)
 226 | 
 227 | $(SUB_D1:=.o) : $(D1:=.mod)
 228 | 
 229 | $(SUB_D2:=.o) : $(D2:=.mod)
 230 | 
 231 | $(SUB_D3:=.o) : $(D3:=.mod)
 232 | 
 233 | $(SUB_D4:=.o) : $(D4:=.mod)
 234 | 
 235 | $(SUB_D5:=.o) : $(D5:=.mod)
 236 | 
 237 | $(SUB_D6:=.o) : $(D6:=.mod)
 238 | 
 239 | $(SUB_D7:=.o) : $(D7:=.mod)
 240 | 
 241 | $(SUB_D8:=.o) : $(D8:=.mod)
 242 | 
 243 | $(SUB_D9:=.o) : $(D9:=.mod)
 244 | 
 245 | $(SUB_D10:=.o) : $(D10:=.mod)
 246 | 
 247 | $(SUB_D11:=.o) : $(D11:=.mod)
 248 | 
 249 | link_dominc :
 250 | 	@echo
 251 | 	@echo "****************************************"
 252 | 	@echo "Linking dom.inc"
 253 | 	@$(RM)  dom.inc
 254 | 	@$(LN)  $(INCFILE) .
 255 | 	@echo "****************************************"
 256 | 	@echo
 257 | 
 258 | link_const : $(CONSTS)
 259 | 	@echo
 260 | 	@echo "****************************************"
 261 | 	@echo "Linking .h files"
 262 | 	@$(RM)  *.h
 263 | 	@$(LN)  $(CONSTS) .
 264 | 	@echo "****************************************"
 265 | 	@echo
 266 | 
 267 | test_lib :
 268 | 	@-if [ -f $(LIBDOM) ]; then echo; fi
 269 | 	@-if [ -f $(LIBDOM) ]; then echo "****************************************"; fi
 270 | 	@-if [ -f $(LIBDOM) ]; then echo "Cleaning previous coupling librairy"; fi
 271 | 	@-if [ -f $(LIBDOM) ]; then touch `grep -Rli USEPALM $(DOMHOME)/SOURCES | grep -v \.svn`; $(RM) $(LIBDOM); fi
 272 | 	@-if [ -f $(LIBDOM) ]; then echo "****************************************"; fi
 273 | 	@-if [ -f $(LIBDOM) ]; then echo; fi
 274 | 
 275 | #
 276 | #  Cleaning
 277 | #  --------
 278 | #
 279 | 
 280 | clean : clean_obj clean_modules clean_const
 281 | 
 282 | clean_const :
 283 | 	@echo
 284 | 	@echo "****************************************"
 285 | 	@echo
 286 | 	@echo "Removing *.h files "
 287 | 	@echo
 288 | 	@$(RM) $(CONSTS)
 289 | 	@$(RM) *.h ./dom.inc
 290 | 	@echo
 291 | 	@echo "****************************************"
 292 | 
 293 | clean_modules :
 294 | 	@echo
 295 | 	@echo "****************************************"
 296 | 	@echo
 297 | 	@echo "Removing *.mod files "
 298 | 	@echo
 299 | 	@$(RM) *.mod
 300 | 	@$(RM) $(MODULES:=.mod)
 301 | 	@echo
 302 | 	@echo "****************************************"
 303 | 
 304 | clean_obj :
 305 | 	@echo
 306 | 	@echo "****************************************"
 307 | 	@echo
 308 | 	@echo "Removing *.f files "
 309 | 	@echo
 310 | 	@$(RM)  $(ALL_OBJ)
 311 | 	@$(RM)  $(ALL_OBJ:%.o=%_m4.F90)
 312 | 	@$(RM)  *.o
 313 | 	@echo
 314 | 	@echo "****************************************"
 315 | 
 316 | #
 317 | #  Suffix rules
 318 | #  ------------
 319 | #
 320 | 
 321 | .F.o  :
 322 | 	@echo
 323 | 	@echo "****************************************"
 324 | 	@echo "Preprocessing " $*.F
 325 | 	@$(M4DIR) $*.F > $*_m4.F90
 326 | 	@sed '1d' $*_m4.F90 > tmp_m4.F90
 327 | 	@$(MV) tmp_m4.F90 $*_m4.F90
 328 | 	@echo "Compiling     " $*_m4.F90
 329 | 	@$(FF) -I./ -I$(MASTR) -I$(MAIN) -I$(SLAVE) -c $(FFLAGS) $*_m4.F90
 330 | 	@-if [ -f $(notdir $*).mod ] ; then $(CP) $(notdir $*).mod $*.mod ; fi
 331 | 	@$(MV) *.o $*.o
 332 | 	@-if(test $(CLEANf) = yes) then $(RM) $*_m4.F90 ; fi
 333 | 	@echo "****************************************"
 334 | 	@echo
 335 | 
 336 | .HH.h  :
 337 | 	@echo
 338 | 	@echo "****************************************"
 339 | 	@echo "Preprocessing " $*.HH
 340 | 	@$(M4DIR) $*.HH > $*.h
 341 | 	@-touch $*.h
 342 | 	@echo "****************************************"
 343 | 	@echo