zlib: Don't use PASTE for INTMAX error messages
[jimtcl.git] / Makefile.in
bloba803b07e5c7305dcf34c33f1d3c6d3f40d446c3b
1 # Tools
2 CC = @CCACHE@ @CC@
3 CXX = @CCACHE@ @CXX@
4 RANLIB = @RANLIB@
5 AR = @AR@
6 STRIP = @STRIP@
8 # Configuration
10 SH_CFLAGS ?= @SH_CFLAGS@
11 SH_LDFLAGS ?= @SH_LDFLAGS@
12 @if SH_SOPREFIX
13 SH_LDFLAGS += @SH_SOPREFIX@libjim@LIBSOEXT@
14 @endif
15 SHOBJ_CFLAGS ?= @SHOBJ_CFLAGS@
16 @if JIM_STATICLIB
17 SHOBJ_LDFLAGS ?= @SHOBJ_LDFLAGS@
18 @else
19 SHOBJ_LDFLAGS ?= @SHOBJ_LDFLAGS_R@
20 @endif
21 CFLAGS = @CFLAGS@ @CCOPTS@ @CPPFLAGS@
22 CXXFLAGS = @CXXFLAGS@ @CXXOPTS@
23 LDFLAGS = @LDFLAGS@
24 LDLIBS += @LDLIBS@
25 LIBS += @LIBS@
26 exec_prefix ?= @exec_prefix@
27 prefix ?= @prefix@
28 docdir = @docdir@
30 CC += -Wall $(OPTIM) -I.
31 CXX += -Wall $(OPTIM) -I.
32 @if srcdir != .
33 CFLAGS += -I@srcdir@
34 CXXFLAGS += -I@srcdir@
35 VPATH := @srcdir@
36 @endif
38 @if JIM_STATICLIB
39 LIBJIM := libjim.a
40 @else
41 LIBJIM := libjim@LIBSOEXT@
42 SH_LIBJIM := $(LIBJIM)
43 CC += $(SH_CFLAGS)
44 CXX += $(SH_CFLAGS)
45 DEF_LD_PATH := @LD_LIBRARY_PATH@="@builddir@:$(@LD_LIBRARY_PATH@)"
46 @endif
48 @if HAVE_CXX_EXTENSIONS
49 JIMSH_CC := $(CXX) $(CXXFLAGS)
50 @else
51 JIMSH_CC := $(CC) $(CFLAGS)
52 @endif
54 OBJS := _load-static-exts.o jim-subcmd.o jim-interactive.o jim-format.o jim.o utf8.o jimregexp.o \
55 @EXTRA_OBJS@ @C_EXT_OBJS@ @TCL_EXT_OBJS@
57 JIMSH := jimsh@EXEEXT@
59 @if JIM_INSTALL
60 INSTALL_DATA_DIR ?= mkdir -p
61 INSTALL_DATA ?= cp
62 INSTALL_PROGRAM ?= cp
63 @endif
65 all: $(JIMSH) @C_EXT_SHOBJS@
67 # Create C extensions from pure Tcl extensions
68 .SUFFIXES: .tcl
69 .tcl.o:
70 @tclsh@ @srcdir@/make-c-ext.tcl $< >_$*.c
71 $(CC) $(CFLAGS) -c -o $@ _$*.c
73 docs: Tcl.html
75 @if JIM_DOCS
76 install-docs: docs
77 $(INSTALL_DATA_DIR) $(DESTDIR)$(docdir)
78 $(INSTALL_DATA) Tcl.html $(DESTDIR)$(docdir)
79 @else
80 install-docs:
81 @endif
83 $(JIMSH): $(LIBJIM) jimsh.o initjimsh.o
84 $(JIMSH_CC) @SH_LINKFLAGS@ $(LDFLAGS) -o $@ jimsh.o initjimsh.o $(LIBJIM) $(LDLIBS) $(LIBS)
86 @if JIM_INSTALL
87 install: all @TCL_EXTS@ install-exec install-docs
88 $(INSTALL_DATA_DIR) $(DESTDIR)@libdir@/jim
89 $(INSTALL_DATA) $(LIBJIM) $(DESTDIR)@libdir@
90 $(INSTALL_DATA) @srcdir@/README.extensions @C_EXT_SHOBJS@ $(DESTDIR)@libdir@/jim
91 for i in tcltest.tcl @TCL_EXTS@; do $(INSTALL_DATA) @srcdir@/$$i $(DESTDIR)@libdir@/jim; done
92 $(INSTALL_DATA_DIR) $(DESTDIR)@includedir@
93 $(INSTALL_DATA) @srcdir@/jim.h @srcdir@/jim-eventloop.h @srcdir@/jim-signal.h \
94 @srcdir@/jim-subcmd.h @srcdir@/jim-win32compat.h $(DESTDIR)@includedir@
95 $(INSTALL_DATA) jim-config.h $(DESTDIR)@includedir@
96 $(INSTALL_DATA_DIR) $(DESTDIR)@bindir@
97 $(INSTALL_DATA) build-jim-ext $(DESTDIR)@bindir@
99 install-exec: all
100 $(INSTALL_DATA_DIR) $(DESTDIR)@bindir@
101 $(INSTALL_PROGRAM) $(JIMSH) $(DESTDIR)@bindir@
103 uninstall:
104 rm -f $(DESTDIR)@bindir@/$(JIMSH)
105 rm -f $(DESTDIR)@bindir@/build-jim-ext
106 rm -f $(DESTDIR)@libdir@/$(LIBJIM)
107 for i in README.extensions @C_EXT_SHOBJS@ @TCL_EXTS@; do rm -f $(DESTDIR)@libdir@/jim/$$i; done
108 rm -f $(DESTDIR)@includedir@/jim*.h
109 rm -f $(DESTDIR)@datadir@/doc/jim/Tcl.html
110 @else
111 install install-exec: all
112 uninstall:
113 @endif
115 test check: $(JIMSH)
116 cd @srcdir@/tests; $(DEF_LD_PATH) $(MAKE) jimsh=@builddir@/jimsh TOPSRCDIR=@top_srcdir@
118 $(OBJS): Makefile $(wildcard *.h)
120 @if JIM_UTF8
121 # Generate the unicode case mapping
122 utf8.o: _unicode_mapping.c
124 _unicode_mapping.c: @srcdir@/UnicodeData.txt @srcdir@/parse-unidata.tcl
125 @tclsh@ @srcdir@/parse-unidata.tcl @srcdir@/UnicodeData.txt >$@ || ( rm $@; exit 1)
126 @endif
128 _load-static-exts.c: @srcdir@/make-load-static-exts.tcl Makefile
129 @tclsh@ @srcdir@/make-load-static-exts.tcl @STATIC_EXTS@ >$@ || ( rm $@; exit 1)
131 @if JIM_STATICLIB
132 $(LIBJIM): $(OBJS)
133 $(AR) cr $@ $(OBJS)
134 $(RANLIB) $@
135 @else
136 $(LIBJIM): $(OBJS)
137 $(CC) $(CFLAGS) $(LDFLAGS) $(SH_LDFLAGS) -o $@ $(OBJS) $(LDLIBS) $(LIBS)
138 @endif
140 # Note that $> $^ is for compatibility with both GNU make and BSD make
141 readdir.so: jim-readdir.c
142 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-readdir.o $> $^
143 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-readdir.o $(SH_LIBJIM)
145 array.so: jim-array.c
146 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-array.o $> $^
147 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-array.o $(SH_LIBJIM)
149 clock.so: jim-clock.c
150 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-clock.o $> $^
151 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-clock.o $(SH_LIBJIM)
153 file.so: jim-file.c
154 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-file.o $> $^
155 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-file.o $(SH_LIBJIM)
157 interp.so: jim-interp.c
158 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-interp.o jim-interp.c
159 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-interp.o $(SH_LIBJIM) @LDLIBS_interp@
161 posix.so: jim-posix.c
162 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-posix.o $> $^
163 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-posix.o $(SH_LIBJIM)
165 regexp.so: jim-regexp.c
166 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-regexp.o $> $^
167 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-regexp.o $(SH_LIBJIM)
169 syslog.so: jim-syslog.c
170 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-syslog.o $> $^
171 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-syslog.o $(SH_LIBJIM)
173 readline.so: jim-readline.c
174 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-readline.o $> $^
175 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-readline.o $(SH_LIBJIM) @LDLIBS_readline@
177 pack.so: jim-pack.c
178 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-pack.o $> $^
179 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-pack.o $(SH_LIBJIM) @LDLIBS_pack@
181 tclprefix.so: jim-tclprefix.c
182 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-tclprefix.o $> $^
183 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-tclprefix.o $(SH_LIBJIM) @LDLIBS_tclprefix@
185 sqlite3.so: jim-sqlite3.c
186 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-sqlite3.o $> $^
187 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-sqlite3.o $(SH_LIBJIM) @LDLIBS_sqlite3@
189 win32.so: jim-win32.c
190 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-win32.o $> $^
191 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-win32.o $(SH_LIBJIM) @LDLIBS_win32@
193 mk.so: jim-mk.cpp
194 $(CXX) $(CXXFLAGS) $(SHOBJ_CFLAGS) -c -o jim-mk.o $> $^
195 $(CXX) $(CXXFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-mk.o $(SH_LIBJIM) @LDLIBS_mk@
197 sdl.so: jim-sdl.c
198 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-sdl.o $> $^
199 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-sdl.o $(SH_LIBJIM) @LDLIBS_sdl@
201 zlib.so: jim-zlib.c
202 $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-zlib.o $> $^
203 $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-zlib.o $(SH_LIBJIM) @LDLIBS_zlib@
205 Tcl.html: jim_tcl.txt
206 @tclsh@ @srcdir@/make-index $> $^ | asciidoc -o $@ -d manpage - || cp @srcdir@/Tcl_shipped.html Tcl.html
208 clean:
209 rm -f *.o *.so *.dll *.exe lib*.a $(JIMSH) $(LIBJIM) Tcl.html _*.c
211 distclean: clean
212 rm -f jimautoconf.h jim-config.h Makefile config.log autosetup/jimsh0@EXEEXT@ build-jim-ext
214 ship: Tcl.html
215 cp $< Tcl_shipped.html
217 # automake compatibility. do nothing for all these targets
218 EMPTY_AUTOMAKE_TARGETS := dvi pdf ps info html tags ctags mostlyclean maintainer-clean check installcheck installdirs \
219 install-pdf install-ps install-info install-html -install-dvi uninstall install-data
220 .PHONY: $(EMPTY_AUTOMAKE_TARGETS)
221 $(EMPTY_AUTOMAKE_TARGETS):
223 # automake compatibility - install sources from the current dir to $(distdir)
224 distdir_full := $(shell cd $(distdir); pwd)
225 distdir:
226 cd "@srcdir@"; git ls-files | cpio -pdmu $(distdir_full)
228 reconfig:
229 CC='@CC@' @AUTOREMAKE@