Salome HOME
Porting to CAS-6.2.sp1
[modules/filter.git] / adm_local / unix / make_conclude.in
1 #=======================================================================
2 # This section of this makefile comes from the file 
3 # 'adm/unix/make_conclude' which was generated with config.status
4 # from file adm/unix/make_conclude.in
5 #=======================================================================
6 # -* Makefile *- 
7 #
8 # Authors : Patrick GOLDBRONN (CEA) - Marc Tajchman (CEA)
9 # Date : 6/07/2001
10 # $Header$
11 #
12
13 # ORB Specifics rules
14 @CORBA@
15
16 # transform idl reference in appropriate obj file
17 LIB_CLIENT_SRC = $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_CXX))
18 LIB_SERVER_SRC = $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_CXX))
19 LIB_MOC_SRC = $(LIB_MOC:%.h=%_moc.cxx)
20 LIB_SRC+=$(LIB_MOC_SRC)
21 LIB_SWIG_SRC = $(SWIG_DEF:%.i=%_wrap.cxx)
22 LIB_DEP= $(LIB_SRC) $(LIB_CLIENT_SRC) $(LIB_SERVER_SRC) $(LIB_SWIG_SRC)
23  
24 LIB_CLIENT_OBJ = $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_OBJ))
25 LIB_SERVER_OBJ = $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_OBJ))
26
27 # declare dependences between SWIG input files
28 $(LIB_SWIG_SRC): $(SWIG_DEP:%=$(inc_builddir)/%)
29  
30 # transform c file in appropriate libtool obj file (.c, .cc and .cxx)
31 LIB_OBJ_C   = $(patsubst %.c,   %.lo, $(filter %.c, $(LIB_SRC))) 
32 LIB_OBJ_CC  = $(patsubst %.cc,  %.lo, $(filter %.cc, $(LIB_SRC))) 
33 LIB_OBJ_CXX = $(patsubst %.cxx, %.lo, $(filter %.cxx, $(LIB_SRC))) 
34 LIB_SWIG_OBJ = $(LIB_SWIG_SRC:%.cxx=%.lo)
35 LIB_OBJ_F    = $(patsubst %.f,   %.lo, $(filter %.f, $(LIB_SRC))) 
36
37 # all libtool obj file in library
38 LIB_OBJ = $(LIB_OBJ_CXX) $(LIB_OBJ_CC) $(LIB_OBJ_C) $(LIB_CLIENT_OBJ:%.o=%.lo) $(LIB_SERVER_OBJ:%.o=%.lo) $(LIB_SWIG_OBJ) $(LIB_OBJ_F)
39
40 # LIB_BUILD = $(LIB:%.la=$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.la)
41 LIB_BUILD = $(patsubst %.la, $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.la, $(filter %.la, $(LIB)))
42 LIB_BUILD_A = $(patsubst %.a, $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.a, $(filter %.a, $(LIB)))
43
44 ifneq ($(findstring cmodule.la,$(filter %.la, $(LIB))),)
45 LIB_SWIG = $(patsubst %cmodule.la,%.so, $(filter %.la, $(LIB)))
46 else
47 LIB_SWIG = 
48 endif
49
50 lib: $(LIB_BUILD) $(LIB_CLIENT_PY)
51 # we don't build static library !
52
53 $(LIB_BUILD): $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.la: %.la
54         -$(RM) $@
55         -$(RM) $(patsubst %.la, %.so, $@)
56         -$(RM) $(patsubst %.la, %.a, $@)
57         ln -sf $(CURDIR)/$< $@ || true
58         ln -sf $(patsubst %.la, %.so, $(CURDIR)/.libs/$<) \
59               $(patsubst %.la, %.so, $@) || true
60         ln -sf $(patsubst %.la, %.so, $(CURDIR)/.libs/$<).0 \
61               $(patsubst %.la, %.so, $@).0 || true
62
63         if test "X$(LIB_SWIG)" != X; then \
64            ln -sf $(patsubst %.la,%.so, $(CURDIR)/.libs/$<) $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/_$(LIB_SWIG) || true;\
65         fi;
66
67 $(LIB_BUILD_A): $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/%.a: %.a
68         -$(RM) $@
69         ln -sf $(CURDIR)/$< $@ || true
70
71 $(LIB): $(LIB_OBJ)
72         @$(LT) --mode=link $(CXX) -rpath $(libdir) -o $@ $(CXXFLAGS) $(LIB_OBJ) $(LDFLAGS) $(LIBS)
73
74 # transform idl reference in appropriate obj file
75 BIN_CLIENT_SRC = $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_CXX))
76 BIN_SERVER_SRC = $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_CXX))
77 BIN_MOC_SRC = $(BIN_MOC:%.h=%_moc.cxx)
78 BIN_SRC+=$(BIN_MOC_SRC)
79 BIN_DEP=$(BIN:%=%.cxx) $(BIN_SRC) $(BIN_CLIENT_SRC) $(BIN_SERVER_SRC)
80
81 BIN_CLIENT_OBJ = $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_OBJ))
82 BIN_SERVER_OBJ = $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_OBJ)) 
83 # transform c file in appropriate libtool obj file (.c)
84 BIN_OBJ_C =  $(patsubst %.c,  %.o, $(filter %.c, $(BIN_SRC)))
85 # transform c++ file in appropriate libtool obj file (.cc and .cxx)
86 BIN_OBJ_CC = $(patsubst %.cc,  %.o, $(filter %.cc, $(BIN_SRC)))
87 BIN_OBJ_CXX = $(patsubst %.cxx,  %.o, $(filter %.cxx, $(BIN_SRC)))
88 # all obj file in bin target
89 BIN_OBJ = $(BIN_OBJ_CC) $(BIN_OBJ_CXX) $(BIN_OBJ_C) $(BIN_CLIENT_OBJ) $(BIN_SERVER_OBJ) 
90
91 bin: $(BIN:%=$(top_builddir)/bin/salome/%) $(BIN) $(LIB) pyscripts sharedpyscripts
92
93 BIN_LIB=$(LIB:lib%.la=-l%)
94
95 $(BIN:%=$(top_builddir)/bin/salome/%) $(TEST_PROGS:%=$(top_builddir)/bin/salome/%): $(top_builddir)/bin/salome/%: %
96         -$(RM) $@
97         ln -sf $(CURDIR)/$< $@
98
99 $(BIN) $(TEST_PROGS): %: %.lo $(BIN_OBJ)
100         $(CXX) $(CXXFLAGS) -o $@ $^ $(BIN_LIB) $(LDFLAGSFORBIN) $(LIBSFORBIN)
101
102 # copy python scripts in $(top_builddir)/bin/salome
103 #
104 DEST_PYSCRIPTS = $(EXPORT_PYSCRIPTS:%=$(top_builddir)/bin/salome/%)
105 pyscripts: $(DEST_PYSCRIPTS)
106 $(DEST_PYSCRIPTS): $(top_builddir)/bin/salome/%: %
107         cp -f $< $@
108
109 # copy pyqt files in $(PYTHON_SHARED_SITE)
110 #
111 PYTHON_SHARED_SITE=$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules
112
113 $(PYTHON_SHARED_SITE):
114         $(INSTALL) -d  $@
115
116 DEST_SHAREDPYSCRIPTS = $(EXPORT_SHAREDPYSCRIPTS:%=$(PYTHON_SHARED_SITE)/%)
117 sharedpyscripts: $(PYTHON_SHARED_SITE) $(DEST_SHAREDPYSCRIPTS)
118 $(DEST_SHAREDPYSCRIPTS): $(PYTHON_SHARED_SITE)/%: %
119         cp -f $< $@
120
121 #check: test !!!!   version before AG changes
122
123 #tests: test      !!!!   version before AG changes
124
125 #test: $(LIB) $(TEST_PROGS:%=$(top_builddir)/bin/salome/%)  !!!!   version before AG changes
126
127 check: tests
128
129
130
131
132
133 runtest_%:
134         @( LD_LIBRARY_PATH=$(top_builddir)/src/MEDMEM/.libs:$(top_builddir)/src/MEDWrapper/V2_1/Core/.libs:$${LD_LIBRARY_PATH} ; \
135         SALOME_trace=local ; \
136         export SALOME_trace ; \
137         x=$@ ; \
138         x=$${x#runtest_*} ; \
139         echo -n "Passing test : "$$x ; \
140         ./$$x > /dev/null ; \
141         if test $$? != "0"; then  \
142           echo $$'\033'[1\;31m [ FAILED ] $$'\033'[0m ; \
143           exit 2;                                       \
144         else  \
145           echo  $$'\033'[1\;32m [ OK ] $$'\033'[0m \ ; \
146         fi; )
147
148 runpytest_%:
149         @( LD_LIBRARY_PATH=$(top_builddir)/src/MEDMEM/.libs:$(top_builddir)/src/MEDWrapper/V2_1/Core/.libs:$${LD_LIBRARY_PATH} ; \
150         PYTHONPATH=$(top_builddir)/src/MEDMEM_SWIG:$${PYTHONPATH} ; \
151         SALOME_trace=local ; \
152         export SALOME_trace ; \
153         x=$@ ; \
154         x=$${x#runpytest_*} ; \
155         echo -n "Passing python test : "$$x ; \
156         python $(srcdir)/$$x > /dev/null ; \
157         if test $$? != "0"; then  \
158           echo $$'\033'[1\;31m [ FAILED ] $$'\033'[0m ; \
159           exit 2;                                       \
160         else  \
161           echo  $$'\033'[1\;32m [ OK ] $$'\033'[0m \ ; \
162         fi; )
163
164 ALL_CHECK_TARGETS = $(patsubst %, runtest_%, $(TEST_PROGS)) 
165
166 tests: $(LIB) $(TEST_PROGS) $(ALL_CHECK_TARGETS)
167         @ln -fs $(top_builddir)/src/MEDMEM_SWIG/.libs/libMEDMEM_Swigcmodule.so $(top_builddir)/src/MEDMEM_SWIG/_libMEDMEM_Swig.so ; \
168         for f in $(TEST_PYSCRIPTS); do            \
169           if [ x"$${f#*test}" != x"$${f}" ]; then    \
170              $(MAKE) runpytest_$$f ; \
171              if test $$? != "0"; then  \
172                 rm -f $(top_builddir)/src/MEDMEM_SWIG/_libMEDMEM_Swig.so ; \
173                 exit 2; \
174              fi; \
175           fi;  \
176         done ; \
177         rm -f $(top_builddir)/src/MEDMEM_SWIG/_libMEDMEM_Swig.so ;
178
179
180
181
182 # copy header file in $(inc_builddir)
183 #
184 DEST_HEADERS = $(EXPORT_HEADERS:%=$(inc_builddir)/%)
185 inc: $(DEST_HEADERS)
186 $(DEST_HEADERS): $(inc_builddir)/%: %
187         cp -f $< $@
188
189 # build resources file (icons and messages) : .qm file from .po file
190 resources: $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%.qm)
191
192 # Make installation directories if they don't exist.
193 $(libdir) $(includedir) $(bindir) $(datadir) $(idldir) $(sharedpydir):
194         $(INSTALL) -d $@ && chmod 755 $@
195
196 # Install the library, the public header files, and programs.
197 install: $(LIB) $(BIN) $(TEST_PROGS) $(libdir) $(includedir) $(bindir) $(datadir) $(idldir) install-python install-sharedpyqt install-qm
198 #install: $(LIB) $(BIN) $(libdir) $(includedir) $(bindir) $(datadir) $(idldir) install-python install-sharedpyqt install-qm
199         @for f in X $(LIB); do                                                \
200            if test $$f != X; then                                             \
201               ($(LT_INSTALL_LIB) $$f $(libdir)/. || exit 1);                  \
202            fi;                                                                \
203         done
204         @if test "X$(LIB_SWIG)" != X ; then                                   \
205           (cd $(libdir); ln -sf $(patsubst %.so, %cmodule.so, $(LIB_SWIG)) _$(LIB_SWIG)  || true); \
206         fi;                                                                   
207         @for f in X $(BIN); do                                                \
208            if test $$f != X; then                                             \
209              ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1);                  \
210            fi;                                                                \
211         done
212 # Install tests programmes in bindir
213         @for f in X $(TEST_PROGS); do                                         \
214            if test $$f != X; then                                             \
215              ($(LT_INSTALL_PROG) $$f $(bindir)/. || exit 1);                  \
216            fi;                                                                \
217         done
218 # Install exported includes in includedir
219         @for f in X $(EXPORT_HEADERS:%=$(srcdir)/%); do                       \
220            if test $$f != X; then                                             \
221              (cp -p -f $$f $(includedir) || exit 1);                          \
222            fi;                                                                \
223         done
224
225 # Install python script in $(bindir)
226 install-python: $(bindir) $(EXPORT_PYSCRIPTS:%=install-%)
227
228 $(EXPORT_PYSCRIPTS:%=install-%): install-%: %
229         $(INSTALL_PROGRAM) $< $(bindir)/.
230
231 #install-python: $(bindir) $(EXPORT_PYSCRIPTS)
232 #       @for f in X $(EXPORT_PYSCRIPTS); do                           \
233 #          if test $$f != X; then                                     \
234 #            ($(INSTALL_PROGRAM) $$f $(bindir)/. || exit 1);          \
235 #          fi;                                                        \
236 #       done
237
238 # Install pyqt script in $(install-sharedpyqt)
239 install-sharedpyqt: $(sharedpydir) $(EXPORT_SHAREDPYSCRIPTS:%=install-%) 
240
241 $(EXPORT_SHAREDPYSCRIPTS:%=install-%): install-%: %
242         $(INSTALL_PROGRAM) $< $(sharedpydir)/.
243
244
245 # generic rule to install .qm files :
246 install-qm: resources
247         $(INSTALL) -d $(datadir)/resources/$(MODULE_NAME)
248         @for f in X $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%.qm); do \
249            if test $$f != X; then                                                        \
250              ($(INSTALL_DATA) $$f $(datadir)/resources/$(MODULE_NAME)/. || exit 1);                      \
251            fi;                                                                           \
252         done
253
254 # Removes those things that `make install' (would have) installed.
255 uninstall:
256         @if test "X$(LIB)" != X; then                                         \
257            for f in $(LIB); do                                                \
258               $(LT_UNINSTALL) $(libdir)/$$f;                                  \
259            done;                                                              \
260         fi
261         @if test "X$(BIN)" != X; then                                         \
262            for f in $(BIN); do                                                \
263               $(LT_UNINSTALL) $(bindir)/$$f;                                  \
264            done;                                                              \
265         fi
266         @for f in X $(TEST_PROGS); do                                         \
267            if test $$f != X; then                                             \
268              $(LT_UNINSTALL) $(bindir)/$$f;                                   \
269            fi;                                                                \
270         done
271 # Uninstall exported includes in includedir
272         @for f in X $(EXPORT_HEADERS); do                                     \
273            if test $$f != X; then                                             \
274              $(LT_UNINSTALL) $(includedir)/$$f;                               \
275            fi;                                                                \
276         done
277 # Uninstall python script in $(bindir)
278         @for f in X $(EXPORT_PYSCRIPTS); do                                   \
279            if test $$f != X; then                                             \
280              $(LT_UNINSTALL) $(bindir)/$$f ;                  \
281            fi;                                                                \
282         done
283
284 # Uninstall pyqt script in $(sharedpydir)
285         @for f in X $(EXPORT_SHAREDPYSCRIPTS); do                                     \
286            if test $$f != X; then                                             \
287              $(LT_UNINSTALL) $(sharedpydir)/$$f ;                     \
288            fi;                                                                \
289         done
290
291 # Uninstall qm files
292         @for f in X $(PO_FILES:%.po=%.qm); do         \
293            if test $$f != X; then                                             \
294              $(LT_UNINSTALL) $(datadir)/resources/$(MODULE_NAME)/$$f ;                        \
295            fi;                                                                \
296         done
297
298 # remove all dependencies files
299 #
300 cleandep:
301         -$(RM) .dep*
302
303 # Removes temporary files without removing the final target files.  That is,
304 # remove things like object files but not libraries or executables.
305 #
306 mostlyclean: cleandep
307         -$(RM) $(LIB_OBJ) $(LIB_OBJ:.lo=.o)
308         -$(RM) $(BIN_OBJ) $(BIN:%=%.o)
309         -$(RM) $(TEST_OBJ) $(TEST_OBJ:.lo=.o)
310         -$(RM) $(PROG_OBJ) $(PROG_OBJ:.lo=.o) $(MOSTLYCLEAN)
311
312 # Like `mostlyclean' except it also removes the final targets: things like
313 # libraries and executables.  This target doesn't remove any file that
314 # is part of the SALOME distribution.
315 #
316 clean: mostlyclean
317         -$(RM) $(LIB) $(TEST_PROGS) $(BIN) $(CLEAN)
318         -$(RM) TAGS *~ *# core *.core 
319         -$(RM) -r .libs
320         -$(RM) $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/$(LIB)
321         -$(RM) $(patsubst %,$(top_builddir)/bin/salome/%, $(BIN))
322         -$(RM) $(patsubst %.la, %.so, $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/$(LIB))
323         -$(RM) $(patsubst %.la, %.a, $(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome/$(LIB))
324 # remove idl generated files (sources)
325         -$(RM) $(LIB_CLIENT_SRC) $(LIB_SERVER_SRC) $(BIN_CLIENT_SRC) $(BIN_SERVER_SRC)
326 # remove idl generated files (headers)
327         -$(RM)  $(LIB_CLIENT_IDL:%.idl=%$(IDL_CLN_H)) $(LIB_SERVER_IDL:%.idl=%$(IDL_SRV_H))
328         -$(RM)  $(BIN_CLIENT_IDL:%.idl=%$(IDL_CLN_H)) $(BIN_SERVER_IDL:%.idl=%$(IDL_SRV_H))
329         -$(RM) $(LIB_MOC_SRC) $(BIN_MOC_SRC)
330         -$(RM) $(LIB_SWIG_SRC)
331
332 # Like `clean' except it also removes files that were created by running
333 # configure.  If you've unpacked the source and built without creating
334 # any other files, then `make distclean' will leave only the files that were
335 # in the distribution.
336 #
337 distclean: clean
338         #remove qm file !
339         -$(RM) $(PO_FILES:%.po=%.qm) $(PO_FILES:%.po=$(top_builddir)/share/salome/resources/$(MODULE_NAME)/%.qm)
340         #remove include files
341         -$(RM) $(DEST_HEADERS)
342         -$(RM) $(DISTCLEAN) *.bak *.old *.new .dep*
343         @if test -f $(srcdir)/Makefile.in; then                               \
344            (@SETX@; $(RM) Makefile);                                          \
345         fi
346
347
348 #implicits rules
349 .cc.o:
350         $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
351
352 .cc.lo:
353         $(LT) --mode=compile $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
354
355 .cxx.o:
356         $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
357
358 .cxx.lo:
359         $(LT) --mode=compile $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $<
360
361 .c.o:
362         $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
363
364 .c.lo:
365         $(LT_COMPILE) $(CFLAGS) $(CPPFLAGS) -c $<
366
367 .f.o:
368         $(FC) $(FFLAGS) -c $< -o $@
369
370 .f.lo:
371         $(LT) --mode=compile $(FC) $(FFLAGS) -c $<
372
373 .ui.h:
374         $(UIC) -o $@  $<
375
376 .ui.cxx:
377         $(UIC) -o $@ -i $*.h $<
378
379 #pattern rules
380 %_moc.cxx : %.h
381         $(MOC) $< -o $@
382
383 %_wrap.cxx : %.i
384         $(SWIG) $(SWIG_FLAGS) -o $@ $<
385
386 $(top_builddir)/share/salome/resources/$(MODULE_NAME)/%.qm: %.po
387                 $(MSG2QM) $< $@ ; \
388
389 #------------------------------------------------------------------------------
390 # The following section of this makefile contains dependencies between the
391 # source files and the header files.  If GNU make and GCC are being used then
392 # the dependencies are in the form of rules that cause the information to
393 # be kept updated automatically.  Otherwise the dependencies are listed
394 # explicitly and come from the `.distdep' files in the various directories.
395 # These files are part of the distribution and are generated automatically on
396 # GNU/GCC systems.
397 #------------------------------------------------------------------------------
398
399 @DEPEND@