]>
Commit | Line | Data |
---|---|---|
c90f71dd RD |
1 | # Makefile for producing SWIG runtime libraries. |
2 | # | |
3 | # The SWIG runtime library consists of the pointer-type checker | |
4 | # and other support functions. Multi-file SWIG modules | |
5 | # generally link with these libraries. | |
6 | # | |
7 | # By default, the installation processs will attempt to | |
8 | # build shared libraries. If that doesn't work, a static | |
9 | # library is built instead. | |
10 | ||
11 | prefix = @prefix@ | |
12 | exec_prefix = @exec_prefix@ | |
13 | CC = @CC@ | |
14 | AR = @AR@ | |
15 | RANLIB = @RANLIB@ | |
16 | SO = @SO@ | |
17 | CCSHARED = @CCSHARED@ | |
18 | LDSHARED = @LDSHARED@ | |
19 | DYN_LIBS = libswigtcl8$(SO) libswigtcl$(SO) libswigpl$(SO) libswigpy$(SO) | |
20 | STATIC_LIBS = libswigtcl8.a libswigtcl.a libswigpl.a libswigpy.a | |
21 | LIBS = $(STATIC_LIBS) $(DYN_LIBS) | |
22 | LIB_DIR = $(exec_prefix)/lib | |
23 | ||
24 | INSTALL_DATA = ../install-sh -c -m 644 | |
25 | INSTALL_SHLB = ../install-sh -c -m 555 | |
26 | ||
27 | all: | |
28 | @sh make.sh | |
29 | ||
30 | ||
31 | install: | |
32 | @echo "Installing runtime libraries" | |
33 | @for i in $(STATIC_LIBS); \ | |
34 | do \ | |
35 | if [ -f $$i ]; then \ | |
36 | echo "Installing $$i in $(LIB_DIR)/$$i"; \ | |
37 | $(INSTALL_DATA) $$i $(LIB_DIR)/$$i; \ | |
38 | fi; \ | |
39 | done; | |
40 | @for i in $(DYN_LIBS); \ | |
41 | do \ | |
42 | if [ -f $$i ]; then \ | |
43 | echo "Installing $$i in $(LIB_DIR)/$$i"; \ | |
44 | $(INSTALL_SHLB) $$i $(LIB_DIR)/$$i; \ | |
45 | fi; \ | |
46 | done; | |
47 | ||
48 | ||
49 | clean:: | |
50 | rm -rf *.o *.a *$(SO) *.c *.swg *~ core | |
51 | ||
52 | # ---------------------------------------------------------------------- | |
53 | # Tcl runtime library | |
54 | # ---------------------------------------------------------------------- | |
55 | ||
56 | TCL_INCLUDE = @TCLINCLUDE@ | |
57 | TCL_LIB = @TCLLIB@ | |
58 | ||
59 | # Tcl 7.x shared | |
60 | ||
61 | tcl_shared: | |
62 | ../swig -tcl -co -o libtcl.c -I../swig_lib swigtcl.swg | |
63 | $(CC) $(CCSHARED) -c -DSWIG_GLOBAL libtcl.c | |
64 | $(LDSHARED) libtcl.o -o libswigtcl$(SO) | |
65 | ||
66 | # Tcl 7.x library | |
67 | ||
68 | tcl_lib: | |
69 | ../swig -tcl -co -o libtcl.c -I../swig_lib swigtcl.swg | |
70 | $(CC) -c -DSWIG_GLOBAL libtcl.c | |
71 | $(AR) cr libswigtcl.a libtcl.o | |
72 | ||
73 | # Tcl 8.x shared | |
74 | ||
75 | tcl8_shared: | |
76 | ../swig -tcl -co -o libtcl8.c -I../swig_lib swigtcl8.swg | |
77 | $(CC) $(CCSHARED) -c -DSWIG_GLOBAL $(TCL_INCLUDE) libtcl8.c | |
78 | $(LDSHARED) libtcl8.o -o libswigtcl8$(SO) | |
79 | ||
80 | tcl8_lib: | |
81 | ../swig -tcl -co -o libtcl8.c -I../swig_lib swigtcl8.swg | |
82 | $(CC) -c -DSWIG_GLOBAL $(TCL_INCLUDE) libtcl8.c | |
83 | $(AR) cr libswigtcl8.a libtcl8.o | |
84 | ||
85 | # ---------------------------------------------------------------------- | |
86 | # Python run-time library | |
87 | # ---------------------------------------------------------------------- | |
88 | ||
89 | PYTHON_INCLUDE= -DHAVE_CONFIG_H @PYINCLUDE@ | |
90 | PYTHON_LIB = @PYLIB@ | |
91 | ||
92 | # Python shared | |
93 | ||
94 | py_shared: | |
95 | ../swig -python -co -o libpy.c -I../swig_lib python.swg | |
96 | $(CC) $(CCSHARED) -c -DSWIG_RUNTIME -DSWIG_GLOBAL $(PYTHON_INCLUDE) libpy.c | |
97 | $(LDSHARED) libpy.o -o libswigpy$(SO) | |
98 | ||
99 | # Python library | |
100 | ||
101 | py_lib: | |
102 | ../swig -python -co -o libpy.c -I../swig_lib python.swg | |
103 | $(CC) -c -DSWIG_RUNTIME -DSWIG_GLOBAL $(PYTHON_INCLUDE) libpy.c | |
104 | $(AR) cr libswigpy.a libpy.o | |
105 | ||
106 | # ---------------------------------------------------------------------- | |
107 | # Perl run-time library | |
108 | # ---------------------------------------------------------------------- | |
109 | ||
110 | PERL5_INCLUDE= -I@PERL5EXT@ | |
111 | ||
112 | # Perl shared | |
113 | ||
114 | perl_shared: | |
115 | rm -f libperl.c libperl.swg | |
116 | ../swig -perl5 -co -o libperl.swg -I../swig_lib perl5.swg | |
117 | cat perlrun.h >> libperl.c | |
118 | cat libperl.swg >> libperl.c | |
119 | $(CC) $(CCSHARED) -c -Dexplicit= -Dbool=char -DSWIG_GLOBAL $(PERL5_INCLUDE) libperl.c | |
120 | $(LDSHARED) libperl.o -o libswigpl$(SO) | |
121 | ||
122 | # Perl library | |
123 | ||
124 | perl_lib: | |
125 | rm -f libperl.c libperl.swg | |
126 | ../swig -perl5 -co -o libperl.swg -I../swig_lib perl5.swg | |
127 | cat perlrun.h >> libperl.c | |
128 | cat libperl.swg >> libperl.c | |
129 | $(CC) -c -Dexplicit= -Dbool=char -DSWIG_GLOBAL $(PERL5_INCLUDE) libperl.c | |
130 | $(AR) cr libswigpl.a libperl.o |