comparison lib/swig/swigwin-2.0.11/Makefile.in @ 1899:b3009adc0e2f

Adding swig, gitignore, hgignore
author Nomad
date Mon, 21 Oct 2013 10:42:27 +0200
parents
children
comparison
equal deleted inserted replaced
1867:eb580660bbbb 1899:b3009adc0e2f
1 #######################################################################
2 # SWIG top level Makefile
3 #######################################################################
4
5 .PHONY: ccache source swig
6
7 prefix = @prefix@
8 exec_prefix = @exec_prefix@
9 srcdir = @srcdir@
10 datarootdir = @datarootdir@
11
12 ##############################################################################
13 # Compiler and system configuration
14 ##############################################################################
15
16 SHELL = /bin/sh
17 SWIG_LIB = @swig_lib@
18 BIN_DIR = @bindir@
19 ENABLE_CCACHE = @ENABLE_CCACHE@
20 TARGET_NOEXE= swig
21 TARGET = $(TARGET_NOEXE)@EXEEXT@
22 SOURCE = Source
23 CCACHE = CCache
24 DOCS = Doc/Manual
25 RUNPIPE = \>/dev/null
26
27 swig: libfiles source ccache
28
29 source:
30 @cd $(SOURCE) && $(MAKE)
31
32 ccache:
33 test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE))
34
35 libfiles: $(srcdir)/Lib/swigwarn.swg
36
37 # Files required just for the tarball
38 maintainer: libfiles
39 @cd $(SOURCE) && $(MAKE) CParse/parser.h
40
41 #####################################################################
42 # Documentation
43 #####################################################################
44
45 docs: docs-main docs-ccache
46
47 docs-main:
48 @echo making docs
49 @test -d $(DOCS) || exit 0; cd $(DOCS) && $(MAKE) all clean-baks
50
51 docs-ccache:
52 test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) docs)
53
54 #####################################################################
55 # All the languages SWIG speaks (when it wants to)
56 #####################################################################
57
58 skip-tcl = test -n "@SKIP_TCL@"
59 skip-perl5 = test -n "@SKIP_PERL5@"
60 skip-python = test -n "@SKIP_PYTHON@"
61 skip-java = test -n "@SKIP_JAVA@"
62 skip-guile = test -n "@SKIP_GUILE@"
63 skip-mzscheme = test -n "@SKIP_MZSCHEME@"
64 skip-ruby = test -n "@SKIP_RUBY@"
65 skip-php = test -n "@SKIP_PHP@"
66 skip-ocaml = test -n "@SKIP_OCAML@"
67 skip-octave = test -n "@SKIP_OCTAVE@"
68 skip-pike = test -n "@SKIP_PIKE@"
69 skip-chicken = test -n "@SKIP_CHICKEN@"
70 skip-csharp = test -n "@SKIP_CSHARP@"
71 skip-modula3 = test -n "@SKIP_MODULA3@"
72 skip-lua = test -n "@SKIP_LUA@"
73 skip-allegrocl = test -n "@SKIP_ALLEGROCL@"
74 skip-clisp = test -n "@SKIP_CLISP@"
75 skip-cffi = test -n "@SKIP_CFFI@"
76 skip-uffi = test -n "@SKIP_UFFI@"
77 skip-r = test -n "@SKIP_R@"
78 skip-go = test -n "@SKIP_GO@"
79 skip-d = test -n "@SKIP_D@"
80
81 # Additional dependencies for some tests
82 skip-gcj = test -n "@SKIP_GCJ@"
83 skip-android = test -n "@SKIP_ANDROID@"
84
85 #####################################################################
86 # CHECK
87 #####################################################################
88
89 ACTION = check
90 NOSKIP =
91
92 chk-set-swiglib = SWIG_LIB=@ROOT_DIR@/Lib
93 chk-set-swig = SWIG=@ROOT_DIR@/$(TARGET)
94 chk-set-env = $(chk-set-swiglib) $(chk-set-swig)
95
96 check-aliveness:
97 test -x ./$(TARGET)
98 ./$(TARGET) -version
99 ./$(TARGET) -help
100 @$(skip-tcl) || ./$(TARGET) -tcl -help
101 @$(skip-perl5) || ./$(TARGET) -perl -help
102 @$(skip-python) || ./$(TARGET) -python -help
103 @$(skip-java) || ./$(TARGET) -java -help
104 @$(skip-guile) || ./$(TARGET) -guile -help
105 @$(skip-mzscheme) || ./$(TARGET) -mzscheme -help
106 @$(skip-ruby) || ./$(TARGET) -ruby -help
107 @$(skip-ocaml) || ./$(TARGET) -ocaml -help
108 @$(skip-octave) || ./$(TARGET) -octave -help
109 @$(skip-php) || ./$(TARGET) -php -help
110 @$(skip-pike) || ./$(TARGET) -pike -help
111 @$(skip-chicken) || ./$(TARGET) -chicken -help
112 @$(skip-csharp) || ./$(TARGET) -csharp -help
113 @$(skip-modula3) || ./$(TARGET) -modula3 -help
114 @$(skip-allegrocl)|| ./$(TARGET) -allegrocl -help
115 @$(skip-clisp) || ./$(TARGET) -clisp -help
116 @$(skip-uffi) || ./$(TARGET) -uffi -help
117 @$(skip-cffi) || ./$(TARGET) -cffi -help
118 @$(skip-lua) || ./$(TARGET) -lua -help
119 @$(skip-r) || ./$(TARGET) -r -help
120 @$(skip-go) || ./$(TARGET) -go -help
121 @$(skip-d) || ./$(TARGET) -d -help
122
123 check-ccache:
124 test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) check)
125
126 # Checks / displays versions of each target language
127 check-versions: \
128 check-tcl-version \
129 check-perl5-version \
130 check-python-version \
131 check-java-version \
132 check-android-version \
133 check-guile-version \
134 check-mzscheme-version \
135 check-ruby-version \
136 check-ocaml-version \
137 check-octave-version \
138 check-php-version \
139 check-pike-version \
140 check-chicken-version \
141 check-csharp-version \
142 check-modula3-version \
143 check-lua-version \
144 check-allegrocl-version \
145 check-clisp-version \
146 check-uffi-version \
147 check-cffi-version \
148 check-r-version \
149 check-go-version \
150 check-d-version
151
152 # all examples
153 check-%-version :
154 @if test -z "$(skip-$*)"; then \
155 echo $* unknown; \
156 exit 1; \
157 fi
158 @if $(skip-$*); then \
159 echo skipping $* version; \
160 else \
161 echo showing $* version; \
162 (cd Examples && $(MAKE) -s $*_version) \
163 fi
164
165 # Checks examples for compilation (does not run them)
166 check-examples: \
167 check-tcl-examples \
168 check-perl5-examples \
169 check-python-examples \
170 check-java-examples \
171 check-android-examples \
172 check-guile-examples \
173 check-mzscheme-examples \
174 check-ruby-examples \
175 check-ocaml-examples \
176 check-octave-examples \
177 check-php-examples \
178 check-pike-examples \
179 check-chicken-examples \
180 check-csharp-examples \
181 check-modula3-examples \
182 check-lua-examples \
183 check-allegrocl-examples \
184 check-clisp-examples \
185 check-uffi-examples \
186 check-cffi-examples \
187 check-r-examples \
188 check-go-examples \
189 check-d-examples
190
191 tcl_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/tcl/check.list)
192 perl5_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/perl5/check.list)
193 python_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/python/check.list)
194 java_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/java/check.list)
195 android_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/android/check.list)
196 guile_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/guile/check.list)
197 mzscheme_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/mzscheme/check.list)
198 ruby_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/ruby/check.list)
199 ocaml_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/ocaml/check.list)
200 octave_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/octave/check.list)
201 php_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/php/check.list)
202 pike_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/pike/check.list)
203 chicken_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/chicken/check.list)
204 csharp_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/csharp/check.list)
205 modula3_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/modula3/check.list)
206 lua_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/lua/check.list)
207 allegrocl_examples :=
208 clisp_examples :=
209 uffi_examples :=
210 cffi_examples :=
211 r_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/r/check.list)
212 go_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/go/check.list)
213 d_examples :=$(shell sed '/^\#/d' $(srcdir)/Examples/d/check.list)
214
215 # all examples
216 check-%-examples :
217 @if test -z "$(skip-$*)"; then \
218 echo $* unknown; \
219 exit 1; \
220 fi
221 @if $(skip-$*); then \
222 echo skipping $* $(ACTION); \
223 elif test -z "$($(strip $*_examples))"; then \
224 echo empty $* $(ACTION); \
225 else \
226 $(MAKE) -k -s $($*_examples:=.actionexample) LANGUAGE=$* ACTION=$(ACTION); \
227 fi
228
229 # individual example
230 %.actionexample:
231 @echo $(ACTION)ing Examples/$(LANGUAGE)/$*
232 @(cd Examples/$(LANGUAGE)/$* && $(MAKE) -s $(chk-set-env) $(ACTION) RUNPIPE=$(RUNPIPE))
233
234 # gcj individual example
235 java.actionexample:
236 @if $(skip-gcj); then \
237 echo "skipping Examples/$(LANGUAGE)/java $(ACTION) (gcj test)"; \
238 else \
239 echo $(ACTION)ing Examples/$(LANGUAGE)/java; \
240 (cd Examples/$(LANGUAGE)/java && $(MAKE) -s $(chk-set-env) $(ACTION)) \
241 fi
242
243 # Checks testcases in the test-suite excluding those which are known to be broken
244 check-test-suite: \
245 check-tcl-test-suite \
246 check-perl5-test-suite \
247 check-python-test-suite \
248 check-java-test-suite \
249 check-guile-test-suite \
250 check-mzscheme-test-suite \
251 check-ruby-test-suite \
252 check-ocaml-test-suite \
253 check-octave-test-suite \
254 check-php-test-suite \
255 check-pike-test-suite \
256 check-csharp-test-suite \
257 check-modula3-test-suite \
258 check-lua-test-suite \
259 check-allegrocl-test-suite \
260 check-clisp-test-suite \
261 check-uffi-test-suite \
262 check-cffi-test-suite \
263 check-chicken-test-suite \
264 check-r-test-suite \
265 check-go-test-suite \
266 check-d-test-suite
267
268 check-%-test-suite:
269 @if test -z "$(skip-$*)"; then \
270 echo $* unknown; \
271 exit 1; \
272 fi
273 @passed=true; \
274 dir="Examples/test-suite/$*"; \
275 if $(skip-$*) -a "$(NOSKIP)" != "1"; then \
276 echo skipping $* test-suite $(ACTION); \
277 elif [ ! -d $$dir ]; then \
278 echo warning: cannot $(ACTION) $* test-suite "(no dir $$dir)";\
279 else \
280 echo $(ACTION)ing $* test-suite; \
281 (cd $$dir && $(MAKE) -k -s $(ACTION)) \
282 || passed=false; \
283 fi; \
284 test $$passed = true
285
286 # Partial test-suite check - it only invokes SWIG, ie no compilation and no runtime testing
287 partialcheck-test-suite:
288 @$(MAKE) -k -s check-test-suite ACTION=partialcheck NOSKIP=1
289
290 partialcheck-%-test-suite:
291 @$(MAKE) -k -s check-$*-test-suite ACTION=partialcheck NOSKIP=1
292
293 check: check-aliveness check-ccache check-versions check-examples check-test-suite
294
295 # Run known-to-be-broken as well as not broken testcases in the test-suite
296 all-test-suite: \
297 all-tcl-test-suite \
298 all-perl5-test-suite \
299 all-python-test-suite \
300 all-java-test-suite \
301 all-guile-test-suite \
302 all-mzscheme-test-suite \
303 all-ruby-test-suite \
304 all-ocaml-test-suite \
305 all-octave-test-suite \
306 all-php-test-suite \
307 all-pike-test-suite \
308 all-csharp-test-suite \
309 all-modula3-test-suite \
310 all-lua-test-suite \
311 all-allegrocl-test-suite \
312 all-clisp-test-suite \
313 all-uffi-test-suite \
314 all-cffi-test-suite \
315 all-chicken-test-suite \
316 all-r-test-suite \
317 all-go-test-suite \
318 all-d-test-suite
319
320 all-%-test-suite:
321 @$(MAKE) -k -s check-$*-test-suite ACTION=all
322
323 # Run known-to-be-broken testcases in the test-suite
324 broken-test-suite: \
325 broken-tcl-test-suite \
326 broken-perl5-test-suite \
327 broken-python-test-suite \
328 broken-java-test-suite \
329 broken-guile-test-suite \
330 broken-mzscheme-test-suite \
331 broken-ruby-test-suite \
332 broken-ocaml-test-suite \
333 broken-octave-test-suite \
334 broken-php-test-suite \
335 broken-pike-test-suite \
336 broken-csharp-test-suite \
337 broken-modula3-test-suite \
338 broken-lua-test-suite \
339 broken-allegrocl-test-suite \
340 broken-clisp-test-suite \
341 broken-uffi-test-suite \
342 broken-cffi-test-suite \
343 broken-chicken-test-suite \
344 broken-r-test-suite \
345 broken-go-test-suite \
346 broken-d-test-suite
347
348 broken-%-test-suite:
349 @$(MAKE) -k -s check-$*-test-suite ACTION=broken
350
351 #####################################################################
352 # CLEAN
353 #####################################################################
354
355 clean: clean-objects clean-examples clean-test-suite
356
357 clean-objects: clean-source clean-ccache
358
359 clean-source:
360 @echo cleaning Source
361 @cd $(SOURCE) && $(MAKE) -s clean
362 @rm -f $(TARGET)
363
364 clean-examples:
365 @$(MAKE) -k -s check-examples ACTION=clean
366
367 clean-test-suite:
368 @$(MAKE) -k -s check-test-suite ACTION=clean NOSKIP=1
369
370 clean-%-examples:
371 @$(MAKE) -k -s check-$*-examples ACTION=clean
372
373 clean-%-test-suite:
374 @$(MAKE) -k -s check-$*-test-suite ACTION=clean NOSKIP=1
375
376 clean-ccache:
377 test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) -s clean)
378
379 #####################################################################
380 # DISTCLEAN - clean what configure built
381 #####################################################################
382
383 DISTCLEAN-DEAD = config.status config.log config.cache swig.spec Makefile mkmf.log libtool preinst-swig Lib/ocaml/swigp4.ml
384
385 distclean-helper: distclean-test-suite distclean-examples distclean-dead
386
387 distclean: distclean-source distclean-ccache distclean-helper
388
389 distclean-source:
390 @echo distcleaning Source
391 @cd $(SOURCE) && $(MAKE) -s distclean
392 @rm -f $(TARGET)
393
394 distclean-test-suite:
395 @echo distcleaning Examples/test-suite
396 @$(MAKE) -k -s check-test-suite ACTION=distclean NOSKIP=1
397
398 distclean-examples:
399 @echo distcleaning Examples
400 @$(MAKE) -k -s clean-examples
401 @cd Examples && $(MAKE) -k -s distclean
402
403 distclean-ccache:
404 @test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) -s distclean)
405
406 distclean-dead:
407 rm -f $(DISTCLEAN-DEAD)
408 rm -rf autom4te.cache
409
410 #####################################################################
411 # MAINTAINER CLEAN - clean what the maintainer builds and ships in
412 # the distributed tarball - should not delete anything needed to run
413 # ./configure && make
414 #####################################################################
415
416 maintainer-clean:
417 @echo maintainer-cleaning source
418 @cd $(SOURCE) && $(MAKE) -k -s maintainer-clean
419 @echo maintainer-cleaning CCache
420 @test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) -s maintainer-clean)
421 @echo maintainer-cleaning docs
422 @cd $(DOCS) && $(MAKE) -k -s maintainer-clean
423 @echo maintainer-cleaning Lib files
424 @rm -f $(srcdir)/Lib/swigwarn.swg
425 @echo distcleaning
426 @$(MAKE) -k -s distclean-helper
427
428 #####################################################################
429 # Update the Lib/swigwarn.swg file
430 # Note: Generated into the source tree rather than build tree
431 #####################################################################
432
433 $(srcdir)/Lib/swigwarn.swg: $(srcdir)/Source/Include/swigwarn.h
434 mkdir -p Lib
435 echo "/* SWIG warning codes */" > $@
436 cat $? | grep "^#define WARN\|/\*.*\*/\|^[ \t]*$$" | sed 's/^#define \(WARN.*[0-9][0-9]*\)\(.*\)$$/%define SWIG\1 %enddef\2/' >> $@
437
438 #####################################################################
439 # TARGETS: install & friends
440 #####################################################################
441
442 INSTALL = @abs_srcdir@/Tools/config/install-sh -c
443 INSTALL_DATA = ${INSTALL} -m 644
444 INSTALL_PROGRAM = ${INSTALL} -m 755
445 MKINSTDIRS = @abs_srcdir@/Tools/config/install-sh -m 0755 -d
446 # Use standard autoconf approach to transform executable name using --program-prefix and --program-suffix
447 transform = @program_transform_name@
448
449 install: install-main install-lib install-ccache
450 @echo "Installation complete"
451
452 install-main:
453 @echo "Installing SWIG executable"
454 @$(MKINSTDIRS) $(DESTDIR)$(BIN_DIR)
455 @echo "Installing $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@"
456 @$(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@
457
458 lib-languages = gcj typemaps tcl perl5 python guile java mzscheme ruby php ocaml octave \
459 pike chicken csharp modula3 allegrocl clisp lua cffi uffi r go d
460
461 lib-modules = std
462
463
464 install-lib:
465 @echo "Installing the SWIG library"
466 @$(MKINSTDIRS) $(DESTDIR)$(SWIG_LIB)
467 @for file in $(srcdir)/Lib/*.i $(srcdir)/Lib/*.swg ; do \
468 i=`basename $$file` ; \
469 echo "Installing $(DESTDIR)$(SWIG_LIB)/$$i"; \
470 $(INSTALL_DATA) $$file $(DESTDIR)$(SWIG_LIB)/$$i; \
471 done;
472 @for lang in $(lib-languages) $(lib-modules); \
473 do \
474 echo "Installing language specific files for $$lang"; \
475 dst=$(DESTDIR)$(SWIG_LIB)/$$lang; \
476 $(MKINSTDIRS) $$dst; \
477 (doti="`cd $(srcdir)/Lib/$$lang && ls *.i 2>/dev/null || echo ''`"; \
478 dotswg="`cd $(srcdir)/Lib/$$lang && ls *.swg 2>/dev/null || echo ''`"; \
479 if [ -f $(srcdir)/Lib/$$lang/extra-install.list ]; then \
480 extra="`sed '/^#/d' $(srcdir)/Lib/$$lang/extra-install.list`"; \
481 fi; \
482 files="`echo $$doti $$dotswg $$extra`"; \
483 if [ x"$$files" = x ]; then \
484 echo "Installing nothing from Lib/$$lang"; \
485 else for file in $$doti $$dotswg $$extra; \
486 do \
487 echo "Installing $$dst/$$file"; \
488 $(INSTALL_DATA) $(srcdir)/Lib/$$lang/$$file $$dst/$$file; \
489 done; \
490 fi) ; \
491 done
492
493 install-ccache:
494 @test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) -s install)
495
496
497 #####################################################################
498 # TARGETS: uninstall & friends
499 #####################################################################
500
501 uninstall: uninstall-main uninstall-lib uninstall-ccache
502 @echo "Uninstall complete"
503
504 uninstall-main:
505 @echo "Uninstalling SWIG executable $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@"
506 rm -f $(DESTDIR)$(BIN_DIR)/`echo $(TARGET_NOEXE) | sed '$(transform)'`@EXEEXT@
507
508 uninstall-lib:
509 @echo "Uninstalling the SWIG library"
510 rm -rf $(DESTDIR)$(SWIG_LIB)/
511
512 uninstall-ccache:
513 test -z "$(ENABLE_CCACHE)" || (cd $(CCACHE) && $(MAKE) uninstall)
514
515 ############################################################################
516 # DIST and other maintenance
517 ############################################################################
518
519 # distribution directory
520 dd = @PACKAGE_NAME@-@PACKAGE_VERSION@
521 srpm = @PACKAGE_NAME@-@PACKAGE_VERSION@
522
523 dist:
524 @echo "not implemented - use Tools/makedist.py instead."
525 false
526
527 srcrpm:
528 rm -fr $(srpm) $(srpm).src.rpm
529 echo "TODO: update to use git instead of cvs"
530 cvs export -d $(srpm) -r HEAD SWIG
531 cp swig.spec $(srpm)
532 tar -cf - $(srpm) | gzip --best > $(srpm).tar.gz
533 rm -fr $(srpm)
534 rpmbuild -ts $(srpm).tar.gz
535
536 # Update the autoconf files for detecting host/targets. Automake will do this in
537 # version 1.10 for our case of not having a top level Makefile.am. Until then we
538 # can fetch them manually and will have to commit them to Git.
539 configfiles:
540 wget ftp://ftp.gnu.org/pub/gnu/config/config.guess -O Tools/config/config.guess
541 chmod a+x Tools/config/config.guess
542 wget ftp://ftp.gnu.org/pub/gnu/config/config.sub -O Tools/config/config.sub
543 chmod a+x Tools/config/config.sub
544
545 # Regenerate Makefile if Makefile.in or config.status have changed.
546 Makefile: $(srcdir)/Makefile.in config.status
547 $(SHELL) ./config.status
548
549 # This target is usually called from Source/Makefile when configure.ac has
550 # changed.
551 am--refresh: $(srcdir)/configure
552
553 $(srcdir)/configure: $(srcdir)/configure.ac
554 @echo "Build system is out of date. If the following commands fail, please reconfigure by hand (rerun: ./autogen.sh && ./configure)"
555 cd $(srcdir) && ./autogen.sh
556 $(SHELL) ./config.status --recheck
557
558 ############################################################################
559 # Tools
560 ############################################################################
561
562 # Coverity static code analyser build and submit - EMAIL and PASSWORD need specifying
563 # See http://scan.coverity.com/start/
564 EMAIL=wsf@fultondesigns.co.uk
565 PASSWORD=
566 coverity:
567 test -n "$(PASSWORD)" || (echo "PASSWORD not set" && false)
568 $(MAKE) clean-source
569 rm -rf cov-int
570 cov-build --dir cov-int $(MAKE) source
571 tar czvf swig-coverity.tgz cov-int
572 curl --form file=@swig-coverity.tgz --form project=swig --form password=$(PASSWORD) --form email=$(EMAIL) http://scan5.coverity.com/cgi-bin/upload.py
573
574 # Makefile ends here