diff options
author | Steve Bennett <steveb@workware.net.au> | 2011-08-30 14:17:13 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2011-08-31 12:12:12 +1000 |
commit | 1d88952b8911a903f9f6b748061264c38f1d1bcc (patch) | |
tree | eb1eeb359e3a5f15e79756ca4ee2cb432c1e1fc2 /Makefile.in | |
parent | 4f1aac96264a55165a04396f37b4302111602b5b (diff) | |
download | jimtcl-1d88952b8911a903f9f6b748061264c38f1d1bcc.zip jimtcl-1d88952b8911a903f9f6b748061264c38f1d1bcc.tar.gz jimtcl-1d88952b8911a903f9f6b748061264c38f1d1bcc.tar.bz2 |
Only link libs as required
Both for loadable modules and for the core.
Also, loadable modules should now build with BSD make.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'Makefile.in')
-rw-r--r-- | Makefile.in | 58 |
1 files changed, 51 insertions, 7 deletions
diff --git a/Makefile.in b/Makefile.in index 208e7ea..ebfb3e5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -12,7 +12,7 @@ SHOBJ_CFLAGS ?= @SHOBJ_CFLAGS@ SHOBJ_LDFLAGS ?= @SHOBJ_LDFLAGS@ CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ -LDLIBS += @LIBS@ +LDLIBS += @LDLIBS@ exec_prefix ?= @exec_prefix@ prefix ?= @prefix@ @@ -101,13 +101,57 @@ $(LIBJIM): $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) $(SH_LDFLAGS) -o $@ $(OBJS) $(LDLIBS) @endif -# XXX: This won't work for BSD make -%.so: jim-%.c - $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o $*.o jim-$*.c - $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ $*.o $(SH_LIBJIM) $(LDLIBS) +# Note that $> $^ is for compatibility with both GNU make and BSD make +readdir.so: jim-readdir.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-readdir.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-readdir.o $(SH_LIBJIM) + +array.so: jim-array.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-array.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-array.o $(SH_LIBJIM) + +clock.so: jim-clock.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-clock.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-clock.o $(SH_LIBJIM) + +file.so: jim-file.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-file.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-file.o $(SH_LIBJIM) + +posix.so: jim-posix.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-posix.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-posix.o $(SH_LIBJIM) + +regexp.so: jim-regexp.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-regexp.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-regexp.o $(SH_LIBJIM) + +syslog.so: jim-syslog.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-syslog.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-syslog.o $(SH_LIBJIM) + +readline.so: jim-readline.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-readline.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-readline.o $(SH_LIBJIM) @LDLIBS_readline@ + +pack.so: jim-pack.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-pack.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-pack.o $(SH_LIBJIM) @LDLIBS_pack@ + +sqlite.so: jim-sqlite.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-sqlite.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-sqlite.o $(SH_LIBJIM) @LDLIBS_sqlite@ + +sqlite3.so: jim-sqlite3.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-sqlite3.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-sqlite3.o $(SH_LIBJIM) @LDLIBS_sqlite3@ + +win32.so: jim-win32.c + $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-win32.o $> $^ + $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-win32.o $(SH_LIBJIM) @LDLIBS_win32@ Tcl.html: jim_tcl.txt - @tclsh@ @srcdir@/make-index jim_tcl.txt | asciidoc -o $@ -d manpage - || cp @srcdir@/Tcl_shipped.html Tcl.html + @tclsh@ @srcdir@/make-index $> $^ | asciidoc -o $@ -d manpage - || cp @srcdir@/Tcl_shipped.html Tcl.html clean: rm -f *.o *.so lib*.a $(JIMSH) Tcl.html _*.c @@ -116,7 +160,7 @@ distclean: clean rm -f jimautoconf.h jim-config.h Makefile config.log autosetup/jimsh0@EXEEXT@ ship: Tcl.html - cp Tcl.html Tcl_shipped.html + cp $< Tcl_shipped.html # automake compatibility. do nothing for all these targets EMPTY_AUTOMAKE_TARGETS := dvi pdf ps info html tags ctags mostlyclean maintainer-clean check installcheck installdirs \ |