Update of the test
[scilab.git] / scilab / Makefile.incl.am
1
2 # Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 # Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr>
4 # Copyright (C) 2008      - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
5 #
6 # This file must be used under the terms of the CeCILL.
7 # This source file is licensed as described in the file COPYING, which
8 # you should have received as part of this distribution.  The terms
9 # are also available at
10 # http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 #
12
13 ##########
14 ### Makefile included stuff
15 ### Target, variable, suffixes which are supposed to be usefull in every makefile.am
16 ##########
17
18 # Where all the Scilab stuff is installed (macros, help, ...)
19 mydatadir=$(pkgdatadir)/modules/$(modulename)
20
21 # This target enables tests for Scilab
22 check-local: $(top_builddir)/scilab-bin
23         @if test -f build.xml; then \
24                 $(ANT) checkstyle; \
25         fi;\
26         COMMAND="test_run('$(modulename)');quit";\
27         export LANG=C;\
28         $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"
29
30 ########################### JAVA ######################################
31 #### We are delegating java compilation to ant... Thanks to that
32 #### the procedure will be the same with Microsoft Windows (C)
33 #### and Linux/Unix
34 #######################################################################
35
36 TARGETS_ALL=
37 if NEED_JAVA
38 TARGETS_ALL+=java
39 java:
40 # Some configurations needs to export JAVA_HOME in the current env
41         @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
42         if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
43         if test -f build.xml -a $$USEANT -eq 1; then \
44                 $(ANT); \
45         fi
46
47 clean-java:
48 # Some configurations needs to export JAVA_HOME in the current env
49         @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \
50         if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \
51         if test -f build.xml -a $$USEANT -eq 1; then \
52                 $(ANT) clean; \
53         fi;
54 endif
55
56 if SWIG
57
58 # If the user request for the SWIG generation of the wrappers Java => C/C++ 
59 # We call the target swig-build on the variable SWIG_WRAPPERS
60
61 ## build Swig Java => C wrappers
62 swig: $(SWIG_WRAPPERS)
63         @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \
64         SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \
65         if test ! -z "$(SWIG_WRAPPERS)"; then \
66                 for file in $(SWIG_WRAPPERS) ; do \
67                         echo "Swig process of $$file ..."; \
68                         $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME  -outdir $$SWIG_OUTDIR $$file; \
69                 done; \
70         fi
71
72 endif
73
74 if GIWS
75
76 # If the user request for the SWIG generation of the wrappers Java => C/C++ 
77 # We call the target swig-build on the variable SWIG_WRAPPERS
78
79 ## build Swig Java => C wrappers
80 giws: $(GIWS_WRAPPERS)
81         @GIWS_OUTPUTDIR=src/jni/;\
82         if test ! -z "$(GIWS_WRAPPERS)"; then \
83                 for file in $(GIWS_WRAPPERS) ; do \
84                         echo "GIWS process of $$file ..."; \
85                         $(GIWS_BIN) --output-dir $$GIWS_OUTPUTDIR --throws-exception-on-error --description-file $$file; \
86                 done; \
87         fi
88
89 endif
90
91
92 ## Build the macros of the module
93 macros:
94         -@( if test ! -x $(top_builddir)/scilab-bin; then \
95                 echo "Error : Cannot build $< : Scilab has not been built"; \
96         else \
97                 $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\
98         fi)
99
100
101 # Removes the macros
102 clean-macros:
103 # Removes macros (*.bin generated from .sci)
104         @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
105                 echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \
106                 rm -f $(builddir)/$$dir/$(MACROBINMASK); \
107         done
108
109
110 all-local: $(TARGETS_ALL)
111
112 ################ MACROS ######################
113 # Rule to build a macro
114 # NOT USED  AT THE MOMENT
115 SUFFIXES = .sci 
116
117 .sci.bin:
118         -@( if test ! -x $(top_builddir)/scilab-bin; then \
119         echo "Error : Cannot build $< : Scilab has not been build"; \
120         else \
121         echo "Creating $@"; \
122         $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \
123         fi )
124
125 ########### INSTALL DOCUMENTATION ###################
126
127 # Install documentation files into the right target
128 # We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because
129 # automake needs the html files to be present which is not the case when
130 # we are building Scilab
131
132 # Where it should be installed
133 pkgdocdir = $(mydatadir)
134
135 # What is the mask of the help source
136 DOCMASKXML = *.xml
137
138 install-html-local:
139 if INSTALL_HELP_XML
140 # If the user wants the help sources to be installed
141         @echo "-------- Install of XML sources of help files --------"; \
142         for lang in $(ALL_LINGUAS); do \
143          if test -d $(srcdir)/help/$$lang; then \
144           $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \
145                 if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \
146                   for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \
147                     echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \
148                 $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \
149                   done ; \
150                 fi; \
151          fi; \
152         done
153 endif
154
155 ########### INSTALL DATA ###################
156 # Install macros
157 # Where it should be installed
158 pkgmacrosdir = $(mydatadir)
159 # Which directory we process
160 MACRODIRS = macros/
161 # Mask of the Scilab sources macros
162 MACROMASK = *.sci
163 # Mask of the Scilab executable sources macros
164 MACROBUILDMASK = *.sce
165 # Mask of the Scilab compiled macros
166 MACROBINMASK = *.bin
167 # List of the function of a module
168 TESTS_DIR=tests/benchmarks tests/nonreg_tests tests/unit_tests
169 # Where to export JAVA files (.jar)
170 JARDIR=jar/
171 # JAR files
172 JARMASK=*.jar
173 # Chapter file 
174 HELP_CHAPTERDIR=help/
175 HELP_CHAPTERFILE=addchapter.sce
176 install-data-local:
177 # Install the tests
178         @echo "-------- Install tests (if any) --------"; \
179         for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \
180           if test -d $(srcdir)/$$dir/; then \
181             $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
182                   for file in `find $(srcdir)/$$dir | grep -v '\.svn' | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \
183                     if test -d "$(srcdir)/$$dir/$$file"; then \
184                           echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \
185                           $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \
186                     else \
187                       echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
188                   $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \
189                     fi \
190                   done; \
191           fi; \
192         done 
193 # Install the help chapter
194         @echo "-------- Install the help chapter (if any) --------"; \
195         for lang in $(ALL_LINGUAS); do \
196                 HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \
197                 if test -f $$HELPFILE; then \
198                         echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
199                         $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \
200                         echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
201                         $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \
202                 fi; \
203         done
204 # Install the macros
205         @echo "-------- Install macros (if any) --------"; \
206         for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \
207           $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \
208                 if test -d $(srcdir)/$$dir/; then \
209                         FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\
210                         for specialExt in $(MACROSSPECIALEXT); do \
211                                 specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \
212                         done; \
213                         FILELIST="$$FILELIST $$specialExtDir"; \
214                   for file in `ls -1 $$FILELIST 2>/dev/null`; do \
215                     echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \
216                 $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \
217                   done; \
218                 fi; \
219         done
220 # Install java files (.jar)
221         @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \
222         echo "-------- Install jar files --------"; \
223     $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \
224           for file in $(srcdir)/$(JARDIR)$(JARMASK); do\
225                     echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \
226                 $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \
227           done ; \
228         fi
229
230 ########### CLEAN ###################
231 # Clean macros and help (generated automatically by Scilab)
232 if NEED_JAVA
233 clean-local: clean-java clean-macros
234 else
235 clean-local: clean-macros
236 endif
237
238
239 .PHONY: macros java swig giws