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@
20 CPPFLAGS
+= -D_GNU_SOURCE
-Wall
-Werror
$(OPTIM
) -I.
22 CPPFLAGS
+= -I@
srcdir@
26 ifeq ($(jim_libtype
),static
)
30 SH_LIBJIM
:= $(LIBJIM
)
31 CPPFLAGS
+= $(SH_CFLAGS
)
32 DEF_LD_PATH
:= @LD_LIBRARY_PATH@
=`pwd`
35 .EXPORT_ALL_VARIABLES
:
37 OBJS
:= load-static-exts.o jim-subcmd.o jim-interactive.o jim-format.o jim.o utf8.o jimregexp.o @EXTRA_OBJS@
39 JIMSH
:= jimsh@EXEEXT@
41 EXTENSION_OBJS
:= $(patsubst %,jim-
%.o
,@JIM_EXTENSIONS@
)
42 EXTENSION_MODS
:= $(patsubst %,%.so
,@JIM_MOD_EXTENSIONS@
)
43 EXTENSION_TCL
:= $(patsubst %,%.tcl
,@JIM_TCL_EXTENSIONS@
)
47 # Create C extensions from pure Tcl extensions
49 @tclsh@ @
srcdir@
/make-c-ext.tcl
$< >$@ ||
( rm $@
; exit
1)
51 all: $(JIMSH
) $(EXTENSION_MODS
)
55 $(JIMSH
): $(LIBJIM
) jimsh.o
56 $(CC
) $(CFLAGS
) @SH_LINKFLAGS@
$(LDFLAGS
) -o
$@ jimsh.o
$(LIBJIM
) $(LDLIBS
)
58 install: all docs
$(EXTENSION_TCL
) install-exec
59 mkdir
-p
$(DESTDIR
)$(prefix)/lib
/jim
60 cp
$(LIBJIM
) $(DESTDIR
)$(prefix)/lib
61 cp @
srcdir@
/README.extensions
$(EXTENSION_MODS
) $(EXTENSION_TCL
) $(DESTDIR
)$(prefix)/lib
/jim
62 mkdir
-p
$(DESTDIR
)$(prefix)/include
63 cp @
srcdir@
/jim.h @
srcdir@
/jim-eventloop.h @
srcdir@
/jim-nvp.h @
srcdir@
/jim-signal.h \
64 @
srcdir@
/jim-subcmd.h @
srcdir@
/jim-win32compat.h
$(DESTDIR
)$(prefix)/include
65 cp jim-config.h
$(DESTDIR
)$(prefix)/include
66 mkdir
-p
$(DESTDIR
)$(prefix)/doc
/jim
67 cp Tcl.html
$(DESTDIR
)$(prefix)/doc
/jim
70 mkdir
-p
$(DESTDIR
)$(prefix)/bin
71 cp
$(JIMSH
) $(DESTDIR
)$(prefix)/bin
74 rm -f
$(DESTDIR
)$(prefix)/bin
/$(JIMSH
)
75 rm -f
$(DESTDIR
)$(prefix)/lib
/$(LIBJIM
)
76 for i in README.extensions
$(EXTENSION_MODS
) $(EXTENSION_TCL
); do
rm -f
$(DESTDIR
)$(prefix)/lib
/jim
/$$i; done
77 rm -f
$(DESTDIR
)$(prefix)/include/jim
*.h
78 rm -f
$(DESTDIR
)$(prefix)/doc
/jim
/Tcl.html
81 $(DEF_LD_PATH
) $(MAKE
) jimsh
=`pwd`/jimsh
-C @
srcdir@
/tests
83 $(OBJS
) $(EXTENSION_OBJS
): Makefile
86 # Generate the unicode case mapping
87 utf8.o
: unicode_mapping.c
89 unicode_mapping.c
: @
srcdir@
/UnicodeData.txt @
srcdir@
/parse-unidata.tcl
90 @tclsh@ @
srcdir@
/parse-unidata.tcl @
srcdir@
/UnicodeData.txt
>$@ ||
( rm $@
; exit
1)
93 load-static-exts.c
: @
srcdir@
/make-load-static-exts.tcl Makefile
94 @tclsh@ @
srcdir@
/make-load-static-exts.tcl @JIM_EXTENSIONS@
>$@ ||
( rm $@
; exit
1)
96 ifeq ($(jim_libtype
),static
)
97 $(LIBJIM
): $(OBJS
) $(EXTENSION_OBJS
)
101 $(LIBJIM
): $(OBJS
) $(EXTENSION_OBJS
)
102 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SH_LDFLAGS
) -o
$@
$^
$(LDLIBS
)
106 $(CC
) $(CFLAGS
) $(CPPFLAGS
) $(SHOBJ_CFLAGS
) -c
-o
$*.o
$^
107 $(CC
) $(CFLAGS
) $(LDFLAGS
) $(SHOBJ_LDFLAGS
) -o
$@
$*.o
$(SH_LIBJIM
) $(LDLIBS
)
109 Tcl.html
: jim_tcl.txt
110 @tclsh@ @
srcdir@
/make-index
$^ | asciidoc
-o
$@
-d manpage
- || cp @
srcdir@
/Tcl_shipped.html Tcl.html
113 rm -f
*.o
*.so lib
*.a
$(JIMSH
) Tcl.html unicode_mapping.c load-static-exts.c @GENERATED_SRCS@
116 rm -f jimautoconf.h jim-config.h Makefile config.log autosetup
/jimsh0@EXEEXT@
119 cp Tcl.html Tcl_shipped.html
121 # automake compatibility. do nothing for all these targets
122 EMPTY_AUTOMAKE_TARGETS
:= dvi pdf ps
info html
tags ctags
mostlyclean maintainer-clean
check installcheck installdirs \
123 install-pdf install-ps install-info install-html
-install-dvi
uninstall install-data
124 .PHONY
: $(EMPTY_AUTOMAKE_TARGETS
)
125 $(EMPTY_AUTOMAKE_TARGETS
):
127 # automake compatibilty - install sources from the current dir to $(distdir)
128 distdir_full
:= $(shell cd
$(distdir
); pwd
)
130 cd
"@srcdir@"; git ls-files | cpio
-pdmu
$(distdir_full
)
132 ifeq ($(findstring clean,$(MAKECMDGOALS
)),)
133 Makefile
: @AUTODEPS@ @
srcdir@
/Makefile.in
134 @CC
='@CC@' @AUTOREMAKE@
138 CC
='@CC@' @AUTOREMAKE@