10 SH_CFLAGS ?
= @SH_CFLAGS@
11 SH_LDFLAGS ?
= @SH_LDFLAGS@
13 SH_LDFLAGS
+= @SH_SOPREFIX@libjim@LIBSOEXT@
15 SHOBJ_CFLAGS ?
= @SHOBJ_CFLAGS@
17 SHOBJ_LDFLAGS ?
= @SHOBJ_LDFLAGS@
19 SHOBJ_LDFLAGS ?
= @SHOBJ_LDFLAGS_R@
21 CFLAGS
= @CFLAGS@ @CCOPTS@ @CPPFLAGS@
22 CXXFLAGS
= @CXXFLAGS@ @CXXOPTS@
26 exec_prefix ?
= @
exec_prefix@
30 CC
+= -Wall
$(OPTIM
) -I.
31 CXX
+= -Wall
$(OPTIM
) -I.
34 CXXFLAGS
+= -I@
srcdir@
41 LIBJIM
:= libjim@LIBSOEXT@
42 SH_LIBJIM
:= $(LIBJIM
)
45 DEF_LD_PATH
:= @LD_LIBRARY_PATH@
="@builddir@:$(@LD_LIBRARY_PATH@)"
48 @if HAVE_CXX_EXTENSIONS
49 JIMSH_CC
:= $(CXX
) $(CXXFLAGS
)
51 JIMSH_CC
:= $(CC
) $(CFLAGS
)
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@
60 INSTALL_DATA_DIR ?
= mkdir
-p
65 all: $(JIMSH
) @C_EXT_SHOBJS@
67 # Create C extensions from pure Tcl extensions
70 @tclsh@ @
srcdir@
/make-c-ext.tcl
$< >_
$*.c
71 $(CC
) $(CFLAGS
) -c
-o
$@ _
$*.c
73 $(JIMSH
): $(LIBJIM
) jimsh.o initjimsh.o
74 $(JIMSH_CC
) @SH_LINKFLAGS@
$(LDFLAGS
) -o
$@ jimsh.o initjimsh.o
$(LIBJIM
) $(LDLIBS
) $(LIBS
)
77 install: all @TCL_EXTS@ install-exec install-docs
78 $(INSTALL_DATA_DIR
) $(DESTDIR
)@
libdir@
/jim
79 $(INSTALL_DATA
) $(LIBJIM
) $(DESTDIR
)@
libdir@
80 $(INSTALL_DATA
) @
srcdir@
/README.extensions @C_EXT_SHOBJS@
$(DESTDIR
)@
libdir@
/jim
81 for i in tcltest.tcl @TCL_EXTS@
; do
$(INSTALL_DATA
) @
srcdir@
/$$i $(DESTDIR
)@
libdir@
/jim
; done
82 $(INSTALL_DATA_DIR
) $(DESTDIR
)@
includedir@
83 $(INSTALL_DATA
) @
srcdir@
/jim.h @
srcdir@
/jim-eventloop.h @
srcdir@
/jim-signal.h \
84 @
srcdir@
/jim-subcmd.h @
srcdir@
/jim-win32compat.h
$(DESTDIR
)@
includedir@
85 $(INSTALL_DATA
) jim-config.h
$(DESTDIR
)@
includedir@
86 $(INSTALL_DATA_DIR
) $(DESTDIR
)@
bindir@
87 $(INSTALL_DATA
) build-jim-ext
$(DESTDIR
)@
bindir@
88 $(INSTALL_DATA
) jimtcl.
pc $(DESTDIR
)@
libdir@
/pkgconfig
91 $(INSTALL_DATA_DIR
) $(DESTDIR
)@
bindir@
92 $(INSTALL_PROGRAM
) $(JIMSH
) $(DESTDIR
)@
bindir@
95 rm -f
$(DESTDIR
)@
bindir@
/$(JIMSH
)
96 rm -f
$(DESTDIR
)@
bindir@
/build-jim-ext
97 rm -f
$(DESTDIR
)@
libdir@
/$(LIBJIM
)
98 for i in README.extensions @C_EXT_SHOBJS@ @TCL_EXTS@
; do
rm -f
$(DESTDIR
)@
libdir@
/jim
/$$i; done
99 rm -f
$(DESTDIR
)@
includedir@
/jim
*.h
100 rm -f
$(DESTDIR
)@
datadir@
/doc
/jim
/Tcl.html
102 install install-exec
: all
107 cd @
srcdir@
/tests
; $(DEF_LD_PATH
) $(MAKE
) jimsh
=@builddir@
/jimsh TOPSRCDIR
=..
109 $(OBJS
) jimsh.o initjimsh.o
: Makefile
$(wildcard *.h
)
112 # Generate the unicode case mapping
113 utf8.o
: _unicode_mapping.c
115 _unicode_mapping.c
: @
srcdir@
/UnicodeData.txt @
srcdir@
/parse-unidata.tcl
116 @tclsh@ @
srcdir@
/parse-unidata.tcl @PARSE_UNIDATA_FLAGS@ @
srcdir@
/UnicodeData.txt @
srcdir@
/EastAsianWidth.txt
>$@ ||
( rm $@
; exit
1)
119 _load-static-exts.c
: @
srcdir@
/make-load-static-exts.tcl Makefile
120 @tclsh@ @
srcdir@
/make-load-static-exts.tcl @STATIC_EXTS@
>$@ ||
( rm $@
; exit
1)
128 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SH_LDFLAGS
) -o
$@
$(OBJS
) $(LDLIBS
) $(LIBS
)
131 # Note that $> $^ is for compatibility with both GNU make and BSD make
132 readdir.so
: jim-readdir.c
133 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-readdir.o
$> $^
134 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-readdir.o
$(SH_LIBJIM
)
136 array.so
: jim-array.c
137 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-array.o
$> $^
138 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-array.o
$(SH_LIBJIM
)
140 clock.so
: jim-clock.c
141 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-clock.o
$> $^
142 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-clock.o
$(SH_LIBJIM
)
145 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-file.o
$> $^
146 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-file.o
$(SH_LIBJIM
)
148 interp.so
: jim-interp.c
149 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-interp.o jim-interp.c
150 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-interp.o
$(SH_LIBJIM
) @LDLIBS_interp@
152 posix.so
: jim-posix.c
153 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-posix.o
$> $^
154 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-posix.o
$(SH_LIBJIM
)
156 regexp.so
: jim-regexp.c
157 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-regexp.o
$> $^
158 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-regexp.o
$(SH_LIBJIM
)
160 syslog.so
: jim-syslog.c
161 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-syslog.o
$> $^
162 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-syslog.o
$(SH_LIBJIM
)
164 readline.so
: jim-readline.c
165 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-readline.o
$> $^
166 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-readline.o
$(SH_LIBJIM
) @LDLIBS_readline@
169 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-pack.o
$> $^
170 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-pack.o
$(SH_LIBJIM
) @LDLIBS_pack@
172 tclprefix.so
: jim-tclprefix.c
173 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-tclprefix.o
$> $^
174 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-tclprefix.o
$(SH_LIBJIM
) @LDLIBS_tclprefix@
176 sqlite3.so
: jim-sqlite3.c
177 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-sqlite3.o
$> $^
178 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-sqlite3.o
$(SH_LIBJIM
) @LDLIBS_sqlite3@
180 win32.so
: jim-win32.c
181 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-win32.o
$> $^
182 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-win32.o
$(SH_LIBJIM
) @LDLIBS_win32@
185 $(CXX
) $(CXXFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-mk.o
$> $^
186 $(CXX
) $(CXXFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-mk.o
$(SH_LIBJIM
) @LDLIBS_mk@
189 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-sdl.o
$> $^
190 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-sdl.o
$(SH_LIBJIM
) @LDLIBS_sdl@
193 $(CC
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o jim-zlib.o
$> $^
194 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@ jim-zlib.o
$(SH_LIBJIM
) @LDLIBS_zlib@
198 @if INSTALL_DOCS
== nodocs
202 @if INSTALL_DOCS
== docs
204 $(INSTALL_DATA_DIR
) $(DESTDIR
)$(docdir
)
205 $(INSTALL_DATA
) Tcl.html
$(DESTDIR
)$(docdir
)
208 @if INSTALL_DOCS
== shipped
210 $(INSTALL_DATA_DIR
) $(DESTDIR
)$(docdir
)
211 @echo
"Warning: asciidoc not available - installing Tcl_shipped.html"
212 $(INSTALL_DATA
) Tcl_shipped.html
$(DESTDIR
)$(docdir
)/Tcl.html
215 Tcl.html
: jim_tcl.txt @
srcdir@
/make-index
217 @tclsh@ @
srcdir@
/make-index
$> $^ | @ASCIIDOC@
-d manpage
- | @SED@
-e
'/^<div.*id="footer-text"/,/<\/div>/d' >$@
219 @echo
"asciidoc is not available"; false
223 rm -f
*.o
*.so
*.dll
*.exe lib
*.a
$(JIMSH
) $(LIBJIM
) Tcl.html _
*.c
226 rm -f jimautoconf.h jim-config.h Makefile config.log @
srcdir@
/autosetup
/jimsh0@EXEEXT@ build-jim-ext
230 cp
$< Tcl_shipped.html
232 # automake compatibility. do nothing for all these targets
233 EMPTY_AUTOMAKE_TARGETS
:= dvi pdf ps
info html
tags ctags
mostlyclean maintainer-clean
check installcheck installdirs \
234 install-pdf install-ps install-info install-html
-install-dvi
uninstall install-data
235 .PHONY
: $(EMPTY_AUTOMAKE_TARGETS
)
236 $(EMPTY_AUTOMAKE_TARGETS
):
238 # automake compatibility - install sources from the current dir to $(distdir)
239 distdir_full
:= $(shell cd
$(distdir
); pwd
)
241 cd
"@srcdir@"; git ls-files | cpio
-pdmu
$(distdir_full
)
244 CC
='@CC@' @AUTOREMAKE@