Makefile [SRC] [CPP] [JOB] [SCAN]
SOURCESTOOLS/DOM2ASCII [=]
TOOLS/INCONVERT [=]
TOOLS/INITBC [=]
TOOLS/OUTCONVERT [=]
TOOLS/PREDATAS [=]
TOOLS/RAY [=]
SEQCODE [=]
TOOLS/SOLINIT [=]
TOOLS/SOLINIT_AVBP [=]
TOOLS/TABFSCK [=]
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 | 
  50 | #
  51 | #  Modules
  52 | #  -------
  53 | #
  54 | 
  55 | MODULES = \
  56 |  $(MAIN)/mod_pmm \
  57 |  $(MAIN)/mod_inout \
  58 |  $(SLAVE)/mod_slave \
  59 |  $(MASTR)/mod_prissma
  60 | 
  61 | #
  62 | #  File dependency
  63 | #  ---------------
  64 | #
  65 | 
  66 | D1 = $(MAIN)/mod_pmm
  67 | D2 = $(MAIN)/mod_inout
  68 | D3 = $(SLAVE)/mod_slave
  69 | D4 = $(MASTR)/mod_prissma
  70 | 
  71 | D5 = $(MASTR)/mod_prissma $(MAIN)/mod_inout $(SLAVE)/mod_slave
  72 | D6 = $(MASTR)/mod_prissma $(MAIN)/mod_pmm
  73 | D7 = $(SLAVE)/mod_slave $(MAIN)/mod_inout
  74 | 
  75 | D8 = $(MASTR)/mod_prissma $(MAIN)/mod_inout $(MAIN)/mod_pmm
  76 | D9 = $(SLAVE)/mod_slave $(MAIN)/mod_inout $(MAIN)/mod_pmm
  77 | 
  78 | D10= $(MAIN)/mod_pmm $(MAIN)/mod_inout
  79 | D11= $(SLAVE)/mod_slave $(MAIN)/mod_pmm
  80 | 
  81 | #
  82 | #  Independent files
  83 | #  -----------------
  84 | #
  85 | 
  86 | FUNC_= \
  87 |  $(FUNC)/blae \
  88 |  $(FUNC)/planck
  89 | 
  90 | INOUT_ = \
  91 |  $(INOUT)/readtab
  92 | 
  93 | MODEL_= \
  94 |  $(MODEL)/kbarandphi \
  95 |  $(MODEL)/findi \
  96 |  $(MODEL)/tmno
  97 | 
  98 | QUAD_= \
  99 |  $(QUAD)/stcd \
 100 |  $(QUAD)/gicd \
 101 |  $(QUAD)/cdss \
 102 |  $(QUAD)/cofg \
 103 |  $(QUAD)/gauleg \
 104 |  $(QUAD)/k_distributeur
 105 | 
 106 | SCHM_= \
 107 |  $(SCHM)/exposcheme \
 108 |  $(SCHM)/mfscheme
 109 | 
 110 | #
 111 | #  Module dependency
 112 | #  -----------------
 113 | #
 114 | 
 115 | SUB_D0 = $(FUNC_) $(INOUT_) $(MODEL_) $(QUAD_) $(SCHM_)
 116 | 
 117 | SUB_D1 = \
 118 |  $(MAIN)/pmm_begin \
 119 |  $(MAIN)/pmm_end \
 120 |  $(MAIN)/pmm_returnvectors \
 121 |  $(MAIN)/pmm_sendpartition \
 122 |  $(MAIN)/pmm_sendvectors \
 123 |  $(MODEL)/emissiv \
 124 |  $(MODEL)/emissiv_snb \
 125 |  $(MAIN)/mpiprissma \
 126 |  $(MASTR)/master \
 127 |  $(SLAVE)/slave_return \
 128 |  $(SLAVE)/slave_receive
 129 | 
 130 | SUB_D2 = \
 131 |  $(MAIN)/pmm_readinput \
 132 | 
 133 | SUB_D3 = \
 134 |  $(INOUT)/param_slave \
 135 |  $(SLAVE)/slave_partition \
 136 |  $(FUNC)/find_ibnd
 137 | 
 138 | SUB_D4 = \
 139 |  $(MASTR)/master_integrate
 140 | 
 141 | SUB_D5 = \
 142 |  $(INOUT)/outprocessing
 143 | 
 144 | SUB_D6 = \
 145 |  $(MASTR)/master_control
 146 | 
 147 | SUB_D7 = \
 148 |  $(SCHM)/band_integ \
 149 |  $(INOUT)/read_data_slave
 150 | 
 151 | SUB_D8 = \
 152 |  $(INOUT)/read_data \
 153 |  $(MASTR)/partition \
 154 |  $(MASTR)/sendtoslaves
 155 | 
 156 | SUB_D9 = \
 157 |  $(SLAVE)/slave_receive_vectors \
 158 |  $(slave.F.html">SLAVE)/slave \
 159 |  $(SLAVE)/slave_vectors
 160 | 
 161 | SUB_D10 = \
 162 |  $(MODEL)/fsck_case \
 163 |  $(MODEL)/tab_case \
 164 |  $(MODEL)/snb_case \
 165 |  $(MODEL)/wsgg_case
 166 | 
 167 | SUB_D11 = \
 168 |  $(FUNC)/gather \
 169 |  $(FUNC)/gather_faces \
 170 |  $(FUNC)/scatter \
 171 |  $(SCHM)/spatial_scheme
 172 | 
 173 | #
 174 | #  Constants
 175 | #  ---------
 176 | #
 177 | 
 178 | CONSTS = \
 179 |  $(MAIN)/dom_constants.h \
 180 |  $(MAIN)/pmm_constants.h
 181 | 
 182 | #
 183 | #  Subroutine compilation order
 184 | #  ----------------------------
 185 | #
 186 | 
 187 | SUB = \
 188 |  $(SUB_D0) \
 189 |  $(SUB_D1) \
 190 |  $(SUB_D2) \
 191 |  $(SUB_D3) \
 192 |  $(SUB_D4) \
 193 |  $(SUB_D5) \
 194 |  $(SUB_D6) \
 195 |  $(SUB_D7) \
 196 |  $(SUB_D8) \
 197 |  $(SUB_D9) \
 198 |  $(SUB_D10) \
 199 |  $(SUB_D11)
 200 | 
 201 | #
 202 | #  All objects
 203 | #  -----------
 204 | #
 205 | 
 206 | ALL_OBJ = $(MODULES:=.o) $(SUB:=.o)
 207 | 
 208 | #
 209 | #  Compilation
 210 | #  -----------
 211 | #
 212 | 
 213 | all : link_dominc link_const allmodules subroutines
 214 | 	@echo
 215 | 	@echo "****************************************"
 216 | 	@echo
 217 | 	@echo "Linking Object Files ...."
 218 | 	@echo
 219 | 	@$(FF) $(LDFLAGS) -o $(DOMEXEC) $(ALL_OBJ) $(PLIBS)
 220 | 	@chmod a+x $(DOMEXEC)
 221 | 	@echo "Removing include files"
 222 | 	@$(RM) dom.inc *.h *_m4.F90 *.c *.o *.mod
 223 | 	@echo
 224 | 	@echo "Executable created :"
 225 | 	@echo $(DOMEXEC)
 226 | 	@echo
 227 | 	@echo "****************************************"
 228 | 	@echo
 229 | 
 230 | allmodules : $(MODULES:=.o)
 231 | 
 232 | subroutines : $(SUB:=.o)
 233 | 
 234 | $(SUB_D1:=.o) : $(D1:=.mod)
 235 | 
 236 | $(SUB_D2:=.o) : $(D2:=.mod)
 237 | 
 238 | $(SUB_D3:=.o) : $(D3:=.mod)
 239 | 
 240 | $(SUB_D4:=.o) : $(D4:=.mod)
 241 | 
 242 | $(SUB_D5:=.o) : $(D5:=.mod)
 243 | 
 244 | $(SUB_D6:=.o) : $(D6:=.mod)
 245 | 
 246 | $(SUB_D7:=.o) : $(D7:=.mod)
 247 | 
 248 | $(SUB_D8:=.o) : $(D8:=.mod)
 249 | 
 250 | $(SUB_D9:=.o) : $(D9:=.mod)
 251 | 
 252 | $(SUB_D10:=.o) : $(D10:=.mod)
 253 | 
 254 | $(SUB_D11:=.o) : $(D11:=.mod)
 255 | 
 256 | link_dominc :
 257 | 	@echo
 258 | 	@echo "****************************************"
 259 | 	@echo "Linking dom.inc"
 260 | 	@$(RM)  dom.inc
 261 | 	@$(LN)  $(INCFILE) .
 262 | 	@echo "****************************************"
 263 | 	@echo
 264 | 
 265 | link_const : $(CONSTS)
 266 | 	@echo
 267 | 	@echo "****************************************"
 268 | 	@echo "Linking .h files"
 269 | 	@$(RM)  *.h
 270 | 	@$(LN)  $(CONSTS) .
 271 | 	@echo "****************************************"
 272 | 	@echo
 273 | 
 274 | #
 275 | #  Cleaning
 276 | #  --------
 277 | #
 278 | 
 279 | clean : clean_obj clean_modules clean_const
 280 | 
 281 | clean_const :
 282 | 	@echo
 283 | 	@echo "****************************************"
 284 | 	@echo
 285 | 	@echo "Removing *.h files "
 286 | 	@echo
 287 | 	@$(RM) $(CONSTS)
 288 | 	@$(RM) *.h ./dom.inc
 289 | 	@echo
 290 | 	@echo "****************************************"
 291 | 
 292 | clean_modules :
 293 | 	@echo
 294 | 	@echo "****************************************"
 295 | 	@echo
 296 | 	@echo "Removing *.mod files "
 297 | 	@echo
 298 | 	@$(RM) *.mod
 299 | 	@$(RM) $(MODULES:=.mod)
 300 | 	@echo
 301 | 	@echo "****************************************"
 302 | 
 303 | clean_obj :
 304 | 	@echo
 305 | 	@echo "****************************************"
 306 | 	@echo
 307 | 	@echo "Removing *.f files "
 308 | 	@echo
 309 | 	@$(RM)  $(ALL_OBJ)
 310 | 	@$(RM)  $(ALL_OBJ:%.o=%_m4.F90)
 311 | 	@$(RM)  *.o
 312 | 	@echo
 313 | 	@echo "****************************************"
 314 | 
 315 | #
 316 | #  Suffix rules
 317 | #  ------------
 318 | #
 319 | 
 320 | .F.o  :
 321 | 	@echo
 322 | 	@echo "****************************************"
 323 | 	@echo "Preprocessing " $*.F
 324 | 	@$(M4DIR) $*.F > $*_m4.F90
 325 | 	@sed '1d' $*_m4.F90 > tmp_m4.F90
 326 | 	@$(MV) tmp_m4.F90 $*_m4.F90
 327 | 	@echo "Compiling     " $*_m4.F90
 328 | 	@$(FF) -I./ -I$(MASTR) -I$(MAIN) -I$(SLAVE) -c $(FFLAGS) $*_m4.F90
 329 | 	@-if [ -f $(notdir $*).mod ] ; then $(CP) $(notdir $*).mod $*.mod ; fi
 330 | 	@$(MV) *.o $*.o
 331 | 	@-if(test $(CLEANf) = yes) then $(RM) $*_m4.F90 ; fi
 332 | 	@echo "****************************************"
 333 | 	@echo
 334 | 
 335 | .HH.h  :
 336 | 	@echo
 337 | 	@echo "****************************************"
 338 | 	@echo "Preprocessing " $*.HH
 339 | 	@$(M4DIR) $*.HH > $*.h
 340 | 	@-touch $*.h
 341 | 	@echo "****************************************"
 342 | 	@echo