9 jim_libtype
:= @JIM_LIBTYPE@
10 SH_CFLAGS ?
= @SH_CFLAGS@
11 SH_LDFLAGS ?
= @SH_LDFLAGS@
12 SHOBJ_CFLAGS ?
= @SHOBJ_CFLAGS@
13 SHOBJ_LDFLAGS ?
= @SHOBJ_LDFLAGS@
17 exec_prefix ?
= @
exec_prefix@
19 install_jim
= @install_jim@
21 CPPFLAGS
+= -D_GNU_SOURCE
-Wall
$(OPTIM
) -I.
23 CPPFLAGS
+= -I@
srcdir@
27 ifeq ($(jim_libtype
),static
)
31 SH_LIBJIM
:= $(LIBJIM
)
32 CPPFLAGS
+= $(SH_CFLAGS
)
33 DEF_LD_PATH
:= @LD_LIBRARY_PATH@
=`pwd`
36 .EXPORT_ALL_VARIABLES
:
38 OBJS
:= _load-static-exts.o jim-subcmd.o jim-interactive.o jim-format.o jim.o utf8.o jimregexp.o @EXTRA_OBJS@
40 JIMSH
:= jimsh@EXEEXT@
42 JIM_EXTENSIONS
:= @JIM_STATIC_C_EXTS@ @JIM_STATIC_TCL_EXTS@
43 C_EXT_OBJS
:= $(patsubst %,jim-
%.o
,@JIM_STATIC_C_EXTS@
) $(patsubst %,_jim-
%.o
,@JIM_STATIC_TCL_EXTS@
)
44 C_EXT_SHOBJS
:= $(patsubst %,%.so
,@JIM_MOD_EXTENSIONS@
)
45 EXTENSION_TCL
:= $(patsubst %,%.tcl
,@JIM_TCL_EXTENSIONS@
)
49 all: $(JIMSH
) $(C_EXT_SHOBJS
)
51 # Create C extensions from pure Tcl extensions
53 @tclsh@ @
srcdir@
/make-c-ext.tcl
$< >$@ ||
( rm $@
; exit
1)
55 _initjimsh.c
: initjimsh.tcl
56 @tclsh@ @
srcdir@
/make-c-ext.tcl
$< >$@ ||
( rm $@
; exit
1)
60 $(JIMSH
): $(LIBJIM
) jimsh.o _initjimsh.o
61 $(CC
) $(CFLAGS
) @SH_LINKFLAGS@
$(LDFLAGS
) -o
$@ jimsh.o _initjimsh.o
$(LIBJIM
) $(LDLIBS
)
64 install: all docs
$(EXTENSION_TCL
) install-exec
65 mkdir
-p
$(DESTDIR
)$(prefix)/lib
/jim
66 cp
$(LIBJIM
) $(DESTDIR
)$(prefix)/lib
67 cp @
srcdir@
/README.extensions
$(C_EXT_SHOBJS
) $(EXTENSION_TCL
) $(DESTDIR
)$(prefix)/lib
/jim
68 mkdir
-p
$(DESTDIR
)$(prefix)/include
69 cp @
srcdir@
/jim.h @
srcdir@
/jim-eventloop.h @
srcdir@
/jim-nvp.h @
srcdir@
/jim-signal.h \
70 @
srcdir@
/jim-subcmd.h @
srcdir@
/jim-win32compat.h
$(DESTDIR
)$(prefix)/include
71 cp jim-config.h
$(DESTDIR
)$(prefix)/include
72 mkdir
-p
$(DESTDIR
)$(prefix)/doc
/jim
73 cp Tcl.html
$(DESTDIR
)$(prefix)/doc
/jim
76 mkdir
-p
$(DESTDIR
)$(prefix)/bin
77 cp
$(JIMSH
) $(DESTDIR
)$(prefix)/bin
80 rm -f
$(DESTDIR
)$(prefix)/bin
/$(JIMSH
)
81 rm -f
$(DESTDIR
)$(prefix)/lib
/$(LIBJIM
)
82 for i in README.extensions
$(C_EXT_SHOBJS
) $(EXTENSION_TCL
); do
rm -f
$(DESTDIR
)$(prefix)/lib
/jim
/$$i; done
83 rm -f
$(DESTDIR
)$(prefix)/include/jim
*.h
84 rm -f
$(DESTDIR
)$(prefix)/doc
/jim
/Tcl.html
86 install install-exec
uninstall:
90 $(DEF_LD_PATH
) $(MAKE
) jimsh
=`pwd`/jimsh
-C @
srcdir@
/tests
92 $(OBJS
) $(C_EXT_OBJS
): Makefile
95 # Generate the unicode case mapping
96 utf8.o
: _unicode_mapping.c
98 _unicode_mapping.c
: @
srcdir@
/UnicodeData.txt @
srcdir@
/parse-unidata.tcl
99 @tclsh@ @
srcdir@
/parse-unidata.tcl @
srcdir@
/UnicodeData.txt
>$@ ||
( rm $@
; exit
1)
102 _load-static-exts.c
: @
srcdir@
/make-load-static-exts.tcl Makefile
103 @tclsh@ @
srcdir@
/make-load-static-exts.tcl
$(JIM_EXTENSIONS
) >$@ ||
( rm $@
; exit
1)
105 ifeq ($(jim_libtype
),static
)
106 $(LIBJIM
): $(OBJS
) $(C_EXT_OBJS
)
110 $(LIBJIM
): $(OBJS
) $(C_EXT_OBJS
)
111 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SH_LDFLAGS
) -o
$@
$^
$(LDLIBS
)
115 $(CC
) $(CPPFLAGS
) $(CFLAGS
) $(SHOBJ_CFLAGS
) -c
-o
$*.o
$^
116 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@
$*.o
$(SH_LIBJIM
) $(LDLIBS
)
118 Tcl.html
: jim_tcl.txt
119 @tclsh@ @
srcdir@
/make-index
$^ | asciidoc
-o
$@
-d manpage
- || cp @
srcdir@
/Tcl_shipped.html Tcl.html
122 rm -f
*.o
*.so lib
*.a
$(JIMSH
) Tcl.html _
*.c
125 rm -f jimautoconf.h jim-config.h Makefile config.log autosetup
/jimsh0@EXEEXT@
128 cp Tcl.html Tcl_shipped.html
130 # automake compatibility. do nothing for all these targets
131 EMPTY_AUTOMAKE_TARGETS
:= dvi pdf ps
info html
tags ctags
mostlyclean maintainer-clean
check installcheck installdirs \
132 install-pdf install-ps install-info install-html
-install-dvi
uninstall install-data
133 .PHONY
: $(EMPTY_AUTOMAKE_TARGETS
)
134 $(EMPTY_AUTOMAKE_TARGETS
):
136 # automake compatibilty - install sources from the current dir to $(distdir)
137 distdir_full
:= $(shell cd
$(distdir
); pwd
)
139 cd
"@srcdir@"; git ls-files | cpio
-pdmu
$(distdir_full
)
141 ifeq ($(findstring clean,$(MAKECMDGOALS
)),)
142 Makefile
: @AUTODEPS@ @
srcdir@
/Makefile.in
143 @CC
='@CC@' @AUTOREMAKE@
147 CC
='@CC@' @AUTOREMAKE@