- Timestamp:
- 03/22/11 16:33:29 (13 years ago)
- Location:
- XMLIO_V2/dev/dev_rv
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/Makefile.wk
r142 r143 1 <<<<<<< .mine 1 2 ################################################################################ 2 3 ################### Projet xios - xmlioserver ##################### 3 4 # # 4 # * Copyright © OZDOBA Hervé (herve.ozdoba@lsce.ipsl.fr) * #5 # * © MEURDESOIF Yann (yann.meurdesoif@cea.fr) * #5 # * Copyright © OZDOBA Hervé (herve.ozdoba@lsce.ipsl.fr) * # 6 # * © MEURDESOIF Yann (yann.meurdesoif@cea.fr) * # 6 7 # * Avril 2010 - Octobre 2011 * # 7 8 # # … … 11 12 12 13 DEBUG = yes 13 MCOLOR = no14 MCOLOR = yes 14 15 SHOWCMD = yes 15 16 VTK = no 16 17 GUI = no 17 18 NPROC = 2 18 CSUITE = intel19 PFORME = platine-wk19 CSUITE = gnu 20 PFORME = fedora-wk 20 21 FORTEXT = .f90 21 22 DEV_PATH = $(PWD) … … 26 27 27 28 #################################### Chemins ################################### 28 29 ifeq ($(PFORME), platine-wk)30 NETCDF_PATH = /applications/netcdf-4.1.131 INTEL_PATH =32 BOOST_PATH = /applications/boost-1.37.0/gnu/include/boost-1_3733 HDF5_PATH = /applications/hdf5-1.8.534 MPI_PATH = /applications/openmpi-1.2.935 endif36 29 37 30 ifeq ($(PFORME), fedora-wk) … … 48 41 VERSTR = version $(CSUITE) 49 42 50 ifeq ($(COMPTOOL), intel-platine-wk)51 CCPP = $(A)icc52 CFORT = $(A)ifort53 LINK = $(A)$(MPI_PATH)/bin/mpif90 -nofor-main54 AR = $(A)ar55 T2F = # indisponible56 RMDIR = $(A)rm -rf57 REMOVE = $(A)rm -f58 COPY = $(A)cp59 DOX = # indisponible60 TAR = # indisponible61 GZIP = # indisponible62 EXNET = # indisponible63 MPIRUN = $(A)$(MPI_PATH)/bin/mpirun64 endif65 66 43 ifeq ($(COMPTOOL), gnu-fedora-wk) 67 44 CCPP = $(A)g++ 68 45 CFORT = $(A)gfortran 69 LINK = $(A) $(MPI_PATH)/bin/mpif9046 LINK = $(A)/usr/lib/openmpi/bin/mpif90 70 47 AR = $(A)ar 71 48 T2F = $(A)txt2tags … … 83 60 CCPP = $(A)icc 84 61 CFORT = $(A)ifort 85 LINK = $(A) $(MPI_PATH)/bin/mpif9062 LINK = $(A)mpif90 86 63 AR = $(A)ar 87 64 T2F = $(A)txt2tags … … 167 144 ####################### Chemins vers la bibliothÚque VTK ####################### 168 145 146 INCLUDE += -I /usr/include/vtk 147 148 ####################### Chemins vers la bibliothÚque NETCDF #################### 149 150 NETCDF_BIN = $(NETCDF_PATH)/bin 151 NETCDF_LIB = $(NETCDF_PATH)/lib 152 NETCDF_INCL = $(NETCDF_PATH)/include 153 154 HDF5_INCL = $(HDF5_PATH)/include 155 HDF5_LIB = $(HDF5_PATH)/lib 156 157 LIBS_PATH += -L $(NETCDF_LIB) -L $(HDF5_LIB) 158 LIBS += -lnetcdf -lhdf5_hl -lhdf5 -lz 159 INCLUDE += -I $(NETCDF_INCL) 160 161 ####################### Chemins vers la bibliothÚque MPI ####################### 162 163 MPI_LIB = $(MPI_PATH)/bin/ 164 MPI_LIB = $(MPI_PATH)/lib 165 MPI_INCL = /usr/include/openmpi-i386/ 166 167 LIBS_PATH += -L $(MPI_LIB) 168 LIBS += -lmpi_cxx -lmpi 169 INCLUDE += -I $(MPI_INCL) 170 FFLAGS += -I $(MPI_INCL) 171 172 ################################ VARIABLES ##################################### 173 174 LIBS += -lstdc++ 175 INCLUDE += -I $(SRC_PATH) 176 DEFINE = -D XIOS_LIBRARY 177 178 ifeq ($(VTK), yes) 179 LIBS += -lvtkCommon -lvtkIO -lvtkFiltering -lvtkRendering -lvtkHybrid 180 endif 181 182 ifeq ($(COMPTOOL), intel-fedora-wk) 183 LIBS_PATH += -L $(INTEL_PATH)/lib 184 LIBS += -lifcore -lintlc 185 endif 186 187 NODEPS = clean clean-all 188 189 FFLAGS += -D XIOS_LIBRARY 190 CFLAGS = -ansi $(DEFINE) $(INCLUDE) 191 LDFLAGS = $(LIBS_PATH) $(LIBS) 192 193 ifeq ($(CSUITE), intel) 194 FFLAGS += -module $(LIB_PATH) 195 CFLAGS += -diag-disable 1125 196 endif 197 ifeq ($(CSUITE), gnu) 198 FFLAGS += -J $(LIB_PATH) 199 CFLAGS += -W -Wall -Wno-unused-parameter -Wno-long-long -Wno-deprecated 200 endif 201 202 ifeq ($(DEBUG), yes) 203 CFLAGS += -D XIOS_DEBUG -g 204 endif 205 206 EXENAME = $(BIN_PATH)/xmlioserver.exe 207 LIBSTATIC = $(LIB_PATH)/libxmlioserver.a 208 209 ################################### SOURCES #################################### 210 211 # Source de l'interface C (contenue dans dans le dossier src/iface) 212 ICSOURCE = interface 213 214 # Sources de l'interface fortran (contenues dans le dossier src/fortran) 215 IFSOURCE = ixmlioserver 216 217 # Sources de la bibliothÚque (contenues dans le dossier src) 218 LSOURCE = object exception \ 219 date calendar duration calendar_util \ 220 attribute attribute_map attribute_template \ 221 object_factory group_factory \ 222 indent xml_node xml_parser \ 223 buffer linear_buffer circular_buffer \ 224 buffer_list buffer_pair \ 225 data_treatment data_output \ 226 rebuild functor mask configure 227 228 # Sources des gestionnaires (contenues dans le dossier manager) 229 MSOURCE = tree_manager mpi_manager xios_manager 230 231 # Sources pour le traitement des noeuds xml (contenues dans le dossier node) 232 NSOURCE = axis domain field file grid context 233 234 # Sources pour les opérations à effectuer sur les champs (contenues dans le dossier functor) 235 FSOURCE = once instant average 236 237 # Sources contenant les différents type de calendriers (contenues dans le dossier date) 238 DSOURCE = julian gregorian noleap allleap d360 239 240 # Sources pour l'interface graphique (contenues dans le dossier qt) 241 ifeq ($(GUI), yes) 242 QSOURCE = # vidé # 243 endif 244 245 # Sources pour le lecteur vtk (contenues dans le dossier vtk) 246 ifeq ($(VTK), yes) 247 VSOURCE = lscereader 248 endif 249 250 # Sources pour les entrées (contenues dans le dossier input) 251 ISOURCE = inetcdf4 nc4_data_input 252 253 # Sources pour les sorties (contenues dans le dossier output) 254 OSOURCE = onetcdf4 nc4_data_output 255 256 # Source des faux client 257 TSOURCE = fake_nemo fake_lmdz fake_orchidee 258 259 # Nom du fichier contenant les points d'entrée des programmes 260 MAINNAME = main 261 262 DOC_T2T = $(wildcard *.t2t) 263 COM_T2T = $(patsubst %.t2t,%.html,$(DOC_T2T)) 264 265 ############################## Modifications ################################## 266 267 ELEMS_FOR = $(TSOURCE) $(IFSOURCE) 268 269 ELEMS_CPP = $(ICSOURCE) $(OSOURCE) $(ISOURCE) $(LSOURCE) \ 270 $(VSOURCE) $(QSOURCE) $(DSOURCE) $(FSOURCE) \ 271 $(NSOURCE) $(MSOURCE) 272 273 ELEMS_ALL = $(ELEMS_CPP) $(ELEMS_FOR) 274 275 OBJECTS = $(addprefix $(OBJ_PATH)/, $(addsuffix .o, $(ELEMS_ALL))) $(OBJ_PATH)/impi_interface.o 276 DEPENDS = $(addprefix $(DEP_PATH)/, $(addsuffix .d, $(ELEMS_CPP))) 277 278 ################################### RÚgles ##################################### 279 280 all: depend build 281 282 build: preproc $(EXENAME) 283 284 .PHONY: t2t 285 t2t: $(COM_T2T) 286 287 .PHONY: run 288 run: all clean-dat 289 $(call COLORMSG, $(C_White),"Exécution du serveur d'E/S de l'IPSL ($(VERSTR) C++) ...") 290 $(MPIRUN) -np $(NPROC) $(EXENAME) 291 292 .PHONY: depend 293 depend: preproc $(DEPENDS) 294 295 .PHONY: preproc 296 preproc : $(FSRC_PATH)/$(IFSOURCE)$(FORTEXT) $(CSRC_PATH)/$(ICSOURCE).cpp 297 298 .PHONY: clean-depend 299 clean-depend: 300 $(REMOVE) $(DEP_PATH)/*.d 301 302 clean-t2t: 303 #$(REMOVE) $(COM_T2T) 304 305 clean-doc: clean-t2t 306 $(RMDIR) $(DOC_PATH)/html 307 $(REMOVE) $(DEV_PATH)/doxygen.log 308 309 clean-exe: 310 $(REMOVE) $(BIN_PATH)/*.exe 311 312 clean-lib: 313 $(REMOVE) $(LIB_PATH)/*.a 314 315 clean-mod: 316 $(REMOVE) $(LIB_PATH)/*.mod 317 318 clean-dll: 319 $(REMOVE) $(BIN_PATH)/*.dll 320 321 clean-gen: 322 $(REMOVE) $(SRC_PATH)/iface/interface.cpp 323 $(REMOVE) $(SRC_PATH)/fortran/ixmlioserver$(FORTEXT) 324 325 clean-obj: 326 $(REMOVE) $(OBJ_PATH)/*.o 327 328 clean-dat: 329 $(REMOVE) $(DATA_PATH)/*.dat 330 $(REMOVE) $(DATA_PATH)/*.nc 331 $(REMOVE) $(DATA_PATH)/def/* 332 333 .PHONY: clean 334 clean : clean-obj \ 335 clean-mod \ 336 clean-gen \ 337 clean-depend 338 339 .PHONY: clean-all 340 clean-all : clean \ 341 clean-exe \ 342 clean-dll \ 343 clean-dat \ 344 clean-lib \ 345 clean-doc 346 347 .PHONY: doc 348 doc: t2t 349 $(DOX) 350 $(REMOVE) $(DOC_PATH)/doc.tar.gz 351 $(TAR) $(DOC_PATH)/doc/doc.tar doc/html > $(DEV_PATH)/tar_output 352 $(REMOVE) $(DEV_PATH)/tar_output 353 $(GZIP) $(DOC_PATH)/doc/doc.tar 354 355 .PHONY: show-doc 356 show-doc: doc 357 $(EXNET) $(DOC_PATH)/doc/html/index.html 358 359 ################################ Compilation ################################### 360 361 $(OBJ_PATH)/$(MAINNAME)_server.o: $(DEP_PATH)/$(MAINNAME)_server.d 362 363 $(EXENAME): $(OBJ_PATH)/$(MAINNAME)_server.o $(LIBSTATIC) 364 $(call COLORMSG, $(C_Purple),"Génération du serveur d'E/S de l'IPSL ($(VERSTR) C++) ...") 365 $(LINK) -o $@ $^ $(LDFLAGS) 366 367 $(LIBSTATIC) : $(OBJECTS) 368 $(call COLORMSG, $(C_Green),"Génération de l'archive de la bibliothÚque d'E/S de l'IPSL...") 369 $(AR) crs $@ $^ 370 371 ################################ Dépendances ################################### 372 373 374 ifeq (0, $(words $(findstring $(MAKECMDGOALS), $(NODEPS)))) 375 -include $(DEPENDS) 376 endif 377 378 379 ################################################################################ 380 381 %.html: %.t2t 382 $(T2F) -t html $< 383 384 # Preproc 385 $(FSRC_PATH)/%$(FORTEXT): %.f03.in $(FSRC_PATH)/macro.inc 386 $(F90ROC) $@ $< 387 388 $(CSRC_PATH)/%.cpp: %.cpp.in $(CSRC_PATH)/macro.inc 389 $(CPPROC) $@ $< 390 391 # Dépendances 392 $(DEP_PATH)/%.d: %.cpp 393 $(CCPP) $(CFLAGS) -D XIOS_NO_EXTERN -MT $(OBJ_PATH)/$(patsubst %.d,%.o,$(@F)) -MM -MF $@ $< 394 395 # Objets cpp 396 $(OBJ_PATH)/%.o: %.cpp %.d 397 $(CCPP) $(CFLAGS) -o $@ -c $< 398 399 # Objets fortran 400 401 $(FSRC_PATH)/%.f03: %.f90 402 $(COPY) $< $@ 403 404 $(FAKE_PATH)/%.f03: %.f90 405 $(COPY) $< $@ 406 407 $(LIB_PATH)/%.mod: $(OBJ_PATH)/%.o 408 409 $(OBJ_PATH)/%.o: $(FSRC_PATH)/%$(FORTEXT) 410 $(CFORT) $(FFLAGS) -o $@ -c $< 411 412 $(OBJ_PATH)/%.o: $(FAKE_PATH)/%$(FORTEXT) $(OBJ_PATH)/ixmlioserver.o 413 $(CFORT) $(FFLAGS) -o $@ -c $< 414 415 #################################### FIN ####################################### 416 ======= 417 ################################################################################ 418 ################### Projet xios - xmlioserver ##################### 419 # # 420 # * Copyright © OZDOBA Hervé (herve.ozdoba@lsce.ipsl.fr) * # 421 # * ©MEURDESOIF Yann (yann.meurdesoif@cea.fr) * # 422 # * Avril 2010 - Octobre 2011 * # 423 # # 424 ################################################################################ 425 426 ################################# Configuration ################################ 427 428 DEBUG = yes 429 MCOLOR = no 430 SHOWCMD = yes 431 VTK = no 432 GUI = no 433 NPROC = 2 434 CSUITE = intel 435 PFORME = platine-wk 436 FORTEXT = .f90 437 DEV_PATH = $(PWD) 438 439 ifeq ($(SHOWCMD), no) 440 A = @ 441 endif 442 443 #################################### Chemins ################################### 444 445 ifeq ($(PFORME), platine-wk) 446 NETCDF_PATH = /applications/netcdf-4.1.1 447 INTEL_PATH = 448 BOOST_PATH = /applications/boost-1.37.0/gnu/include/boost-1_37 449 HDF5_PATH = /applications/hdf5-1.8.5 450 MPI_PATH = /applications/openmpi-1.2.9 451 endif 452 453 ifeq ($(PFORME), fedora-wk) 454 NETCDF_PATH = $(DEV_PATH)/netcdf4 455 INTEL_PATH = /work/intel/composerxe 456 BOOST_PATH = /usr/include 457 HDF5_PATH = $(DEV_PATH)/hdf5 458 MPI_PATH = /usr/lib/openmpi 459 endif 460 461 ######################## Outils de compilations standard ####################### 462 463 COMPTOOL = $(CSUITE)-$(PFORME) 464 VERSTR = version $(CSUITE) 465 466 ifeq ($(COMPTOOL), intel-platine-wk) 467 CCPP = $(A)icc 468 CFORT = $(A)ifort 469 LINK = $(A)$(MPI_PATH)/bin/mpif90 -nofor-main 470 AR = $(A)ar 471 T2F = # indisponible 472 RMDIR = $(A)rm -rf 473 REMOVE = $(A)rm -f 474 COPY = $(A)cp 475 DOX = # indisponible 476 TAR = # indisponible 477 GZIP = # indisponible 478 EXNET = # indisponible 479 MPIRUN = $(A)$(MPI_PATH)/bin/mpirun 480 endif 481 482 ifeq ($(COMPTOOL), gnu-fedora-wk) 483 CCPP = $(A)g++ 484 CFORT = $(A)gfortran 485 LINK = $(A)$(MPI_PATH)/bin/mpif90 486 AR = $(A)ar 487 T2F = $(A)txt2tags 488 RMDIR = $(A)rm -rf 489 REMOVE = $(A)rm -f 490 COPY = $(A)cp 491 DOX = $(A)doxygen -s 492 TAR = $(A)tar -cvf 493 GZIP = $(A)gzip -9 -q 494 EXNET = $(A)firefox 495 MPIRUN = $(A)$(MPI_PATH)/bin/mpirun 496 endif 497 498 ifeq ($(COMPTOOL), intel-fedora-wk) 499 CCPP = $(A)icc 500 CFORT = $(A)ifort 501 LINK = $(A)$(MPI_PATH)/bin/mpif90 502 AR = $(A)ar 503 T2F = $(A)txt2tags 504 RMDIR = $(A)rm -rf 505 REMOVE = $(A)rm -f 506 COPY = $(A)cp 507 DOX = $(A)doxygen -s 508 TAR = $(A)tar -cvf 509 GZIP = $(A)gzip -9 -q 510 EXNET = $(A)firefox 511 MPIRUN = $(A)$(MPI_PATH)/bin/mpirun 512 endif 513 514 ################################ Sortie couleur ################################ 515 516 C_Black = "\033[0;30m" 517 C_Blue = "\033[0;34m" 518 C_Green = "\033[0;32m" 519 C_Cyan = "\033[0;36m" 520 C_Red = "\033[0;31m" 521 C_Purple = "\033[0;35m" 522 C_Brown = "\033[0;33m" 523 C_Light_Gray = "\033[0;37m" 524 C_Dark_Gray = "\033[1;30m" 525 C_Light_Blue = "\033[1;34m" 526 C_Light_Green = "\033[1;32m" 527 C_Light_Cyan = "\033[1;36m" 528 C_Light_Red = "\033[1;31m" 529 C_Light_Purple = "\033[1;35m" 530 C_Yellow = "\033[1;33m" 531 C_White = "\033[1;37m" 532 NO_COLOUR = "\033[0m" 533 534 ifeq ($(MCOLOR), yes) 535 COLORMSG = @echo -e "\033[1m" $1 $2 $(NO_COLOUR) 536 else 537 COLORMSG = @echo $2 538 endif 539 540 ############################# Répertoire du projet ############################# 541 542 OBJ_PATH = $(DEV_PATH)/obj 543 BIN_PATH = $(DEV_PATH)/bin 544 LIB_PATH = $(DEV_PATH)/lib 545 SRC_PATH = $(DEV_PATH)/src 546 DOC_PATH = $(DEV_PATH)/doc 547 DEP_PATH = $(DEV_PATH)/dep 548 DATA_PATH = $(DEV_PATH)/data 549 CONF_PATH = $(DEV_PATH)/conf 550 SCRT_PATH = $(DEV_PATH)/script 551 552 # Sous-répertoires des sources : 553 554 FSRC_PATH = $(SRC_PATH)/fortran 555 CSRC_PATH = $(SRC_PATH)/iface 556 557 NODE_PATH = $(SRC_PATH)/node 558 FUNC_PATH = $(SRC_PATH)/functor 559 DATE_PATH = $(SRC_PATH)/date 560 GUI_PATH = $(SRC_PATH)/qt 561 VTK_PATH = $(SRC_PATH)/vtk 562 INPT_PATH = $(SRC_PATH)/input 563 OUPT_PATH = $(SRC_PATH)/output 564 MNGR_PATH = $(SRC_PATH)/manager 565 566 FAKE_PATH = $(SRC_PATH)/fake_client 567 568 ################################################################################ 569 570 VPATH = $(DEP_PATH):$(SRC_PATH):$(CSRC_PATH):$(NODE_PATH)\ 571 :$(FUNC_PATH):$(DATE_PATH):$(GUI_PATH):$(VTK_PATH):$(INPT_PATH)\ 572 :$(OUPT_PATH):$(MNGR_PATH):$(FAKE_PATH):$(FSRC_PATH) 573 574 ######################## Outils de traitements internes ######################## 575 576 CPPROC = $(SCRT_PATH)/preprocess_cpp.sh 577 F90ROC = $(SCRT_PATH)/preprocess_f03.sh 578 579 ####################### Chemins vers la bibliothÚque BOOST ##################### 580 581 INCLUDE = -I $(BOOST_PATH) 582 583 ####################### Chemins vers la bibliothÚque VTK ####################### 584 169 585 ifeq ($(VTK), yes) 170 586 INCLUDE += -I /usr/include/vtk … … 447 863 448 864 #################################### FIN ####################################### 865 >>>>>>> .r142 -
XMLIO_V2/dev/dev_rv/xmlioserver.geany
r141 r143 19 19 20 20 [files] 21 current_page=0 21 current_page=4 22 FILE_NAME_0=9872;Make;0;16;1;1;0;/work/dev_rv/Makefile.wk;0;3 23 FILE_NAME_1=0;C++;0;16;0;1;0;/work/dev_rv/src/output/onetcdf4.hpp;0;3 24 FILE_NAME_2=0;C++;0;16;0;1;0;/work/dev_rv/src/manager/mpi_manager.hpp;0;3 25 FILE_NAME_3=0;C++;0;16;0;1;0;/work/dev_rv/src/output/nc4_data_output.hpp;0;3 26 FILE_NAME_4=687;C++;0;16;0;1;0;/work/dev_rv/src/output/onetcdf4.cpp;0;3 22 27 23 28 [build-menu]
Note: See TracChangeset
for help on using the changeset viewer.