source: XMLIO_V2/dev/dev_rv/Makefile.wk @ 267

Last change on this file since 267 was 267, checked in by hozdoba, 13 years ago
File size: 15.2 KB
RevLine 
[142]1################################################################################
2###################        Projet xios - xmlioserver       #####################
3#                                                                              #
[187]4#                   * © OZDOBA Hervé (herve.ozdoba@lsce.ipsl.fr) *             #
[144]5#                   * © MEURDESOIF Yann (yann.meurdesoif@cea.fr) *             #
[142]6#                                    * Avril 2010 - Octobre 2011 *             #
7#                                                                              #
8################################################################################
9
10################################# Configuration ################################
11
12DEBUG     = yes
13MCOLOR    = no
14SHOWCMD   = yes
[229]15VTK       = yes
[142]16GUI       = no
[256]17NPROC     = 1
[216]18#VERSION   = 4
[229]19CSUITE    = gnu
[150]20PFORME    = fedora-wk
[142]21FORTEXT   = .f90
22DEV_PATH  = $(PWD)
23
[203]24ifeq ($(HOSTNAME), localhost.localdomain)
25        PFORME = fedora-wk
26        CSUITE = gnu
27endif
28
[229]29ifeq ($(HOSTNAME), gaia)
30        PFORME = fedora-wk
31        CSUITE = gnu
32endif
33
[157]34ifeq ($(HOSTNAME), lsce4063.extra.cea.fr)
[182]35        PFORME = fedora-wk
[157]36endif
[154]37
38ifeq ($(HOST), mercure01)
[182]39        CSUITE = sx
40        PFORME = sx8-mercure-wk
[154]41endif
42
[186]43ifeq ($(HOSTNAME), platine1076)
[196]44        CSUITE = gnu
[186]45        PFORME = platine-wk
46endif
47
48
[142]49ifeq ($(SHOWCMD), no)
[144]50        A = @
[142]51endif
52
53#################################### Chemins ###################################
54
55ifeq ($(PFORME), platine-wk)
[144]56        NETCDF_PATH = /applications/netcdf-4.1.1
57        INTEL_PATH  =
[157]58        BOOST_PATH  = $(DEV_PATH)/extra/boost-1.44
59        RXML_PATH   = $(DEV_PATH)/extra/rapidxml-1.13
[144]60        HDF5_PATH   = /applications/hdf5-1.8.5
[146]61        MPI_PATH    = /opt/mpi/mpibull2-1.3.9-18.s
[157]62
[146]63        DEFINE     += -D MPIBULL_SKIP_MPICXX
[142]64endif
65
[149]66ifeq ($(PFORME), sx8-mercure-wk)
[158]67        NETCDF_PATH = $(DEV_PATH)/netcdf4
[157]68        INTEL_PATH  =
[158]69        BOOST_PATH  = $(DEV_PATH)/extra/boost-1.44
[157]70        RXML_PATH   = $(DEV_PATH)/extra/rapidxml-1.13
[158]71        HDF5_PATH   = $(DEV_PATH)/hdf5
[157]72        MPI_PATH    = /applications/mpisx-8.0.10
[149]73endif
74
[142]75ifeq ($(PFORME), fedora-wk)
[208]76        NETCDF_PATH = $(DEV_PATH)/extra/netcdf4
[142]77        INTEL_PATH  = /work/intel/composerxe
[157]78        BOOST_PATH  = $(DEV_PATH)/extra/boost-1.44
79        RXML_PATH   = $(DEV_PATH)/extra/rapidxml-1.13
[208]80        HDF5_PATH   = $(DEV_PATH)/extra/hdf5
[142]81        MPI_PATH    = /usr/lib/openmpi
82endif
83
[229]84ifeq ($(HOSTNAME), gaia)
85        BOOST_PATH  = /usr/include
86endif
87
[142]88######################## Outils de compilations standard #######################
89
90COMPTOOL = $(CSUITE)-$(PFORME)
91VERSTR   = version $(CSUITE)
92
[149]93
[208]94RMDIR  = $(A)rm -rf
95REMOVE = $(A)rm -f
96COPY   = $(A)cp -f
97MKDIR  = $(A)mkdir -p
98
[149]99ifeq ($(COMPTOOL), sx-sx8-mercure-wk)
[157]100        CDEP   = $(A)g++
[158]101        CCPP   = $(A)sxc++
[157]102        CFORT  = $(A)sxf90
103        LINK   = $(A)sxmpif90 -nofor-main
104        AR     = $(A)sxar
105        T2F    = # indisponible
106        DOX    = # indisponible
107        TAR    = # indisponible
108        GZIP   = # indisponible
109        EXNET  = # indisponible
110        MPIRUN = $(A)$(MPI_PATH)/bin/mpirun
[149]111endif
112
113
[142]114ifeq ($(COMPTOOL), intel-platine-wk)
[149]115        CDEP   = $(A)icc
[144]116        CCPP   = $(A)icc
117        CFORT  = $(A)ifort
118        LINK   = $(A)$(MPI_PATH)/bin/mpif90 -nofor-main
119        AR     = $(A)ar
120        T2F    = # indisponible
121        DOX    = # indisponible
122        TAR    = # indisponible
123        GZIP   = # indisponible
124        EXNET  = # indisponible
125        MPIRUN = $(A)$(MPI_PATH)/bin/mpirun
[142]126endif
127
128ifeq ($(COMPTOOL), gnu-fedora-wk)
[149]129        CDEP   = $(A)g++
[144]130        CCPP   = $(A)g++
131        CFORT  = $(A)gfortran
132        LINK   = $(A)$(MPI_PATH)/bin/mpif90
133        AR     = $(A)ar
134        T2F    = $(A)txt2tags
135        DOX    = $(A)doxygen -s
[215]136        TAR    = $(A)tar -cf
[144]137        GZIP   = $(A)gzip -9 -q
138        EXNET  = $(A)firefox
139        MPIRUN = $(A)$(MPI_PATH)/bin/mpirun
[142]140endif
141
142ifeq ($(COMPTOOL), intel-fedora-wk)
[149]143        CDEP   = $(A)icc
[144]144        CCPP   = $(A)icc
145        CFORT  = $(A)ifort
146        LINK   = $(A)$(MPI_PATH)/bin/mpif90
147        AR     = $(A)ar
148        T2F    = $(A)txt2tags
149        DOX    = $(A)doxygen -s
150        TAR    = $(A)tar -cvf
151        GZIP   = $(A)gzip -9 -q
152        EXNET  = $(A)firefox
153        MPIRUN = $(A)$(MPI_PATH)/bin/mpirun
[142]154endif
155
156################################ Sortie couleur ################################
157
158C_Black         = "\033[0;30m"
159C_Blue          = "\033[0;34m"
160C_Green         = "\033[0;32m"
161C_Cyan          = "\033[0;36m"
162C_Red           = "\033[0;31m"
163C_Purple        = "\033[0;35m"
164C_Brown         = "\033[0;33m"
165C_Light_Gray    = "\033[0;37m"
166C_Dark_Gray     = "\033[1;30m"
167C_Light_Blue    = "\033[1;34m"
168C_Light_Green   = "\033[1;32m"
169C_Light_Cyan    = "\033[1;36m"
170C_Light_Red     = "\033[1;31m"
171C_Light_Purple  = "\033[1;35m"
172C_Yellow        = "\033[1;33m"
173C_White         = "\033[1;37m"
174NO_COLOUR       = "\033[0m"
175
176ifeq ($(MCOLOR), yes)
177        COLORMSG = @echo -e "\033[1m" $1 $2 $(NO_COLOUR)
178else
179        COLORMSG = @echo $2
180endif
181
182############################# Répertoire du projet #############################
183
[213]184WK_PATH   = $(DEV_PATH)/wk
[142]185
[213]186OBJ_PATH  = $(WK_PATH)/obj
187BIN_PATH  = $(WK_PATH)/bin
188LIB_PATH  = $(WK_PATH)/lib
189DOC_PATH  = $(WK_PATH)/doc
190DEP_PATH  = $(WK_PATH)/dep
191INC_PATH  = $(WK_PATH)/inc
192DATA_PATH = $(WK_PATH)/data
193CONF_PATH = $(WK_PATH)/conf
194DEF_PATH  = $(WK_PATH)/def
195
196SRC_PATH  = $(DEV_PATH)/src$(VERSION)/xmlio
197
[142]198# Sous-répertoires des sources :
199
200FSRC_PATH = $(SRC_PATH)/fortran
201CSRC_PATH = $(SRC_PATH)/iface
202
[157]203CONF_PATH = $(SRC_PATH)/config
[253]204BUFF_PATH = $(SRC_PATH)/buffer
[142]205NODE_PATH = $(SRC_PATH)/node
206FUNC_PATH = $(SRC_PATH)/functor
207DATE_PATH = $(SRC_PATH)/date
208INPT_PATH = $(SRC_PATH)/input
209OUPT_PATH = $(SRC_PATH)/output
210MNGR_PATH = $(SRC_PATH)/manager
[238]211MPII_PATH = $(SRC_PATH)/mpi
[229]212NCDF_PATH = $(SRC_PATH)/netcdf
[257]213ATT_PATH = $(SRC_PATH)/attribute
[215]214GUI_PATH  = $(SRC_PATH)/qt
215VTK_PATH  = $(SRC_PATH)/vtk
216XML_PATH  = $(SRC_PATH)/xml
[142]217
[238]218
[142]219FAKE_PATH = $(SRC_PATH)/fake_client
220
221################################################################################
222
[253]223VPATH = $(DEP_PATH):$(SRC_PATH):$(CSRC_PATH):$(NODE_PATH):$(XML_PATH):$(BUFF_PATH)\
[257]224:$(FUNC_PATH):$(DATE_PATH):$(GUI_PATH):$(VTK_PATH):$(INPT_PATH):$(NCDF_PATH):$(ATT_PATH)\
[238]225:$(OUPT_PATH):$(MNGR_PATH):$(FAKE_PATH):$(FSRC_PATH):$(CONF_PATH):$(MPII_PATH)
[142]226
227######################## Outils de traitements internes ########################
228
[208]229CPPROC  = $(CSRC_PATH)/preprocess_cpp.sh
230F90ROC  = $(FSRC_PATH)/preprocess_f03.sh
[142]231
232####################### Chemins vers la bibliothÚque BOOST #####################
233
[146]234INCLUDE    = -I $(BOOST_PATH)
[142]235
[157]236####################### Chemins vers la bibliothÚque RAPIDXML ##################
237
238INCLUDE   += -I $(RXML_PATH)
239
[142]240####################### Chemins vers la bibliothÚque VTK #######################
241
242ifeq ($(VTK), yes)
[144]243        INCLUDE += -I /usr/include/vtk
244        LIBS    += -lvtkCommon -lvtkIO -lvtkFiltering -lvtkRendering -lvtkHybrid
245        DEFINE  += -D XIOS_VTK
[142]246endif
247
248####################### Chemins vers la bibliothÚque NETCDF ####################
249
250NETCDF_BIN  = $(NETCDF_PATH)/bin
251NETCDF_LIB  = $(NETCDF_PATH)/lib
252NETCDF_INCL = $(NETCDF_PATH)/include
253
254HDF5_INCL   = $(HDF5_PATH)/include
255HDF5_LIB    = $(HDF5_PATH)/lib
256
[144]257LIBS_PATH  += -L $(NETCDF_LIB) -L $(HDF5_LIB)
[254]258LIBS       +=  -lnetcdf -lhdf5_hl -lhdf5 -lz
[144]259INCLUDE    += -I $(NETCDF_INCL)
[142]260
261####################### Chemins vers la bibliothÚque MPI #######################
262
[144]263MPI_LIB     = $(MPI_PATH)/bin
264MPI_LIB     = $(MPI_PATH)/lib
265MPI_INCL    = $(MPI_PATH)/include
[142]266
267ifeq ($(PFORME), fedora-wk)
268        MPI_INCL = /usr/include/openmpi-i386
269endif
270
[144]271LIBS_PATH   += -L $(MPI_LIB)
[146]272LIBS        += -lmpi
[144]273INCLUDE     += -I $(MPI_INCL)
274FFLAGS      += -I $(MPI_INCL)
[142]275
[146]276ifeq ($(PFORME), fedora-wk)
[157]277        LIBS        += -lmpi_cxx
[146]278endif
279
[142]280################################ VARIABLES #####################################
281
[157]282INCLUDE += -I $(INC_PATH)
[216]283DEFINE  += -D __XIOS_LIBRARY
[142]284
[146]285LIBS      += -lstdc++
[142]286
287ifeq ($(COMPTOOL), intel-fedora-wk)
288        LIBS_PATH += -L $(INTEL_PATH)/lib
289        LIBS      += -lifcore -lintlc
290endif
291
[208]292NODEPS   = clean clean-all dir-tree
[142]293
[216]294FFLAGS  += -D __XIOS_LIBRARY
[213]295CFLAGS  += $(DEFINE) $(INCLUDE)
296LDFLAGS += $(LIBS_PATH) $(LIBS)
[142]297
298ifeq ($(CSUITE), intel)
299        FFLAGS  += -module $(LIB_PATH)
[171]300        CFLAGS  += -ansi  -diag-disable 1125 -diag-disable 279
[142]301endif
302
303ifeq ($(CSUITE), gnu)
304        FFLAGS += -J $(LIB_PATH)
[149]305        CFLAGS += -ansi -W -Wall -Wno-unused-parameter -Wno-long-long -Wno-deprecated
[142]306endif
307
[158]308ifeq ($(CSUITE), sx)
309        DEF_SX  = -D BOOST_NO_IS_ABSTRACT -D BOOST_NO_RVALUE_REFERENCES -D BOOST_NO_STATIC_ASSERT
310        DEFLAGS = $(DEFINE) $(INCLUDE) $(DEF_SX)
311        CFLAGS += -K exceptions -K rtti -Xp -size_t64 $(DEF_SX)
312        FFLAGS += -f2003 cbind -size_t64
313else
314        DEFLAGS = $(CFLAGS)
315endif
316
[142]317ifeq ($(DEBUG), yes)
[215]318        CFLAGS += -D __XIOS_DEBUG -g
[142]319endif
320
321EXENAME   = $(BIN_PATH)/xmlioserver.exe
322LIBSTATIC = $(LIB_PATH)/libxmlioserver.a
323
324################################### SOURCES ####################################
325
326# Source de l'interface C (contenue dans dans le dossier src/iface)
327ICSOURCE = interface
328
329# Sources de l'interface fortran (contenues dans le dossier src/fortran)
330IFSOURCE = ixmlioserver
331
332# Sources de la bibliothÚque (contenues dans le dossier src)
333LSOURCE  = object exception                                 \
334           date calendar duration calendar_util             \
335           attribute attribute_map attribute_template       \
336           object_factory group_factory                     \
337           indent xml_node xml_parser                       \
338           buffer linear_buffer circular_buffer             \
339           buffer_list buffer_pair                          \
340           data_treatment data_output                       \
[190]341           rebuild functor client server configure
[142]342
343# Sources des gestionnaires (contenues dans le dossier manager)
344MSOURCE  = tree_manager mpi_manager xios_manager
345
346# Sources pour le traitement des noeuds xml (contenues dans le dossier node)
[267]347NSOURCE  = axis domain field file grid variable context
[142]348
[144]349# Sources pour les opérations à effectuer sur les champs (contenues dans le dossier functor)
[267]350FSOURCE  = once instant average maximum minimum
[142]351
352# Sources contenant les différents type de calendriers (contenues dans le dossier date)
353DSOURCE = julian gregorian noleap allleap d360
354
355# Sources pour l'interface graphique (contenues dans le dossier qt)
356ifeq ($(GUI), yes)
357        QSOURCE = # vidé #
358endif
359
360# Sources pour le lecteur vtk (contenues dans le dossier vtk)
361ifeq ($(VTK), yes)
362        VSOURCE = lscereader
363endif
364
365# Sources pour les entrées (contenues dans le dossier input)
366ISOURCE = inetcdf4 nc4_data_input
367
368# Sources pour les sorties (contenues dans le dossier output)
369OSOURCE = onetcdf4 nc4_data_output
370
[157]371# Source des faux clients
[142]372TSOURCE = fake_nemo fake_lmdz fake_orchidee
373
374# Nom du fichier contenant les points d'entrée des programmes
375MAINNAME = main
376
377DOC_T2T = $(wildcard *.t2t)
378COM_T2T = $(patsubst %.t2t,%.html,$(DOC_T2T))
379
[215]380PREPROC = $(FSRC_PATH)/$(IFSOURCE)$(FORTEXT) $(CSRC_PATH)/$(ICSOURCE).cpp
381
382ifeq ($(VERSION), 4)
383        PREPROC = #vide
384endif
385
[142]386##############################  Modifications ##################################
387
[157]388AHEADERS  =  \
389$(notdir $(wildcard $(SRC_PATH)/*/*.conf))\
390$(notdir $(wildcard $(SRC_PATH)/*/*.hpp))\
391$(notdir $(wildcard $(SRC_PATH)/*.hpp))
392           
393HEADERS   = $(addprefix $(INC_PATH)/, $(AHEADERS))
394
[142]395ELEMS_FOR = $(TSOURCE) $(IFSOURCE)
[215]396
397ifeq ($(VERSION), 4)
[249]398        ELEMS_FOR = idate \
399               domain_interface domaingroup_interface idomain \
400               field_interface  fieldgroup_interface  ifield  \
401               file_interface   filegroup_interface   ifile   \
402               axis_interface   axisgroup_interface   iaxis   \
403               grid_interface   gridgroup_interface   igrid   \
404               context_interface icontext ixml_tree idata   
[215]405endif
[142]406           
407ELEMS_CPP = $(ICSOURCE) $(OSOURCE) $(ISOURCE) $(LSOURCE) \
408            $(VSOURCE)  $(QSOURCE) $(DSOURCE) $(FSOURCE) \
409            $(NSOURCE)  $(MSOURCE)
410
[215]411ifeq ($(VERSION), 4)
[258]412        ELEMS_CPP = object exception xml_node xml_parser inetcdf4 inetcdf4_adv onetcdf4  mpi_interface\
[264]413        attribute attribute_template attribute_map buffer circular_buffer
[256]414               
[215]415endif
416
[142]417ELEMS_ALL = $(ELEMS_CPP) $(ELEMS_FOR)
418             
[267]419OBJECTS = $(addprefix $(OBJ_PATH)/, $(addsuffix .o, $(ELEMS_ALL)))
[215]420ifeq ($(VERSION), 4)
421        OBJECTS = $(addprefix $(OBJ_PATH)/, $(addsuffix .o, $(ELEMS_ALL)))
422endif
423
[142]424DEPENDS = $(addprefix $(DEP_PATH)/, $(addsuffix .d, $(ELEMS_CPP)))
425
426################################### RÚgles #####################################
427all: depend build
428
429build: preproc $(EXENAME)
430
431.PHONY: t2t
432t2t: $(COM_T2T)
433
[208]434.PHONY: dir-tree
435dir-tree :
436        $(MKDIR) $(OBJ_PATH)
437        $(MKDIR) $(BIN_PATH)
438        $(MKDIR) $(LIB_PATH)
439        $(MKDIR) $(DOC_PATH)
440        $(MKDIR) $(DEP_PATH)
441        $(MKDIR) $(INC_PATH)
442        $(MKDIR) $(DATA_PATH)
443        $(MKDIR) $(CONF_PATH)
444        $(MKDIR) $(DEF_PATH)
445
[142]446.PHONY: run
447run: all clean-dat
448        $(call COLORMSG, $(C_White),"Exécution du serveur d'E/S de l'IPSL ($(VERSTR) C++) ...")
449        $(MPIRUN) -np $(NPROC) $(EXENAME)
450
451.PHONY: depend
[157]452depend: preproc $(DEPENDS) cheaders
[142]453
[157]454.PHONY: cheaders
455cheaders: $(HEADERS)
456
[142]457.PHONY: preproc
[215]458preproc : $(PREPROC)
[142]459
460.PHONY: clean-depend
461clean-depend:
462        $(REMOVE) $(DEP_PATH)/*.d
[157]463        $(REMOVE) $(DEP_PATH)/mark
[142]464
465clean-t2t:
466#$(REMOVE) $(COM_T2T)
467
[213]468.PHONY: clean-dir
469clean-dir:
470        $(RMDIR) $(WK_PATH)
471
[157]472clean-h:
473        $(REMOVE) $(INC_PATH)/*.hpp
474        $(REMOVE) $(INC_PATH)/*.conf
475       
[142]476clean-doc: clean-t2t
477        $(RMDIR)  $(DOC_PATH)/html
478        $(REMOVE) $(DEV_PATH)/doxygen.log
479
480clean-exe:
481        $(REMOVE) $(BIN_PATH)/*.exe
482
483clean-lib:
484        $(REMOVE) $(LIB_PATH)/*.a
485
486clean-mod:
487        $(REMOVE) $(LIB_PATH)/*.mod
488
489clean-dll:
490        $(REMOVE) $(BIN_PATH)/*.dll
491
492clean-gen:
493        $(REMOVE) $(SRC_PATH)/iface/interface.cpp
494        $(REMOVE) $(SRC_PATH)/fortran/ixmlioserver$(FORTEXT)
495
496clean-obj:
497        $(REMOVE) $(OBJ_PATH)/*.o
498
499clean-dat:
500        $(REMOVE) $(DATA_PATH)/*.dat
[174]501#$(REMOVE) $(DATA_PATH)/*.bin
[142]502        $(REMOVE) $(DATA_PATH)/*.nc
503        $(REMOVE) $(DATA_PATH)/def/*
504
505.PHONY: clean
506clean : clean-obj    \
507        clean-mod    \
508        clean-gen    \
[157]509        clean-h      \
[142]510        clean-depend
511
512.PHONY: clean-all
513clean-all : clean     \
514            clean-exe \
515            clean-dll \
516            clean-dat \
517            clean-lib \
518            clean-doc
519.PHONY: doc
520doc: t2t
521        $(DOX)
[215]522        $(REMOVE) $(DEV_PATH)/doc.tar.gz
523        $(TAR)    $(DEV_PATH)/doc.tar $(DOC_PATH)/html > $(DEV_PATH)/tar_output
[142]524        $(REMOVE) $(DEV_PATH)/tar_output
[215]525        $(GZIP)   $(DEV_PATH)/doc.tar
[142]526
527.PHONY: show-doc
528show-doc: doc
529        $(EXNET) $(DOC_PATH)/doc/html/index.html
530
531################################ Compilation ###################################
532
533$(OBJ_PATH)/$(MAINNAME)_server.o: $(DEP_PATH)/$(MAINNAME)_server.d
534
535$(EXENAME): $(OBJ_PATH)/$(MAINNAME)_server.o $(LIBSTATIC)
536        $(call COLORMSG, $(C_Purple),"Génération du serveur d'E/S de l'IPSL ($(VERSTR) C++) ...")
537        $(LINK) -o $@ $^ $(LDFLAGS)
[157]538
[142]539$(LIBSTATIC) : $(OBJECTS)
540        $(call COLORMSG, $(C_Green),"Génération de l'archive de la bibliothÚque d'E/S de l'IPSL...")
541        $(AR) crs $@ $^
542
543################################ Dépendances ###################################
544
545
546ifeq (0, $(words $(findstring $(MAKECMDGOALS), $(NODEPS))))
547-include $(DEPENDS)
548endif
549
550
551################################################################################
552
553%.html: %.t2t
554        $(T2F) -t html $<
555
556# Preproc
557$(FSRC_PATH)/%$(FORTEXT): %.f03.in $(FSRC_PATH)/macro.inc
558        $(F90ROC) $@ $<
559
560$(CSRC_PATH)/%.cpp: %.cpp.in $(CSRC_PATH)/macro.inc
561        $(CPPROC) $@ $<
562
563# Dépendances
[157]564$(DEP_PATH)/mark: $(HEADERS)
565        @touch $@
566
567$(DEP_PATH)/%.d: %.cpp $(DEP_PATH)/mark
[216]568        $(CDEP) $(DEFLAGS) -D __XIOS_NO_EXTERN -MT $(OBJ_PATH)/$(patsubst %.d,%.o,$(@F)) -MM -MF $@ $<
[142]569
[157]570# Entêtes cpp
571$(INC_PATH)/%.hpp: %.hpp
572        $(COPY) $< $@
573
574$(INC_PATH)/%.conf: %.conf
575        $(COPY) $< $@
576
[142]577# Objets cpp
578$(OBJ_PATH)/%.o: %.cpp %.d
579        $(CCPP) $(CFLAGS) -o $@ -c $<
580
581# Objets fortran
582$(FSRC_PATH)/%.f03: %.f90
583        $(COPY) $< $@
584
585$(FAKE_PATH)/%.f03: %.f90
586        $(COPY) $< $@
587
588$(LIB_PATH)/%.mod: $(OBJ_PATH)/%.o
589
590$(OBJ_PATH)/%.o: $(FSRC_PATH)/%$(FORTEXT) 
591        $(CFORT) $(FFLAGS) -o $@ -c $<
592
593$(OBJ_PATH)/%.o: $(FAKE_PATH)/%$(FORTEXT) $(OBJ_PATH)/ixmlioserver.o
594        $(CFORT) $(FFLAGS) -o $@ -c $<
595
596#################################### FIN #######################################
Note: See TracBrowser for help on using the repository browser.