@@ -1,62 +1,24 @@ -CC = @CC@ -CFLAGS = @CFLAGS@ @SHOBJFLAGS@ -Wall -CPPFLAGS = @CPPFLAGS@ @DEFS@ -DKITDLL_MAKE_LOADABLE=1 -WISH_CFLAGS = @WISH_CFLAGS@ -LDFLAGS = @LDFLAGS@ -SHOBJLDFLAGS = @SHOBJLDFLAGS@ -LIBS = @LIBS@ -STATICLIBS = @ARCHS@ -OBJS = vfs_kitdll_data_tcl.o kitInit.o rechan.o pwb.o zlib.o -EXTRA_OBJS = @EXTRA_OBJS@ -TCLSH_NATIVE = tclsh +OBJS = kitInit.o rechan.o pwb.o zlib.o # Default target all: libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ -# Build targets -## VFS Build -vfs_kitdll_data_tcl.o: vfs_kitdll_data_tcl.c -vfs_kitdll_data_tcl.c: dir2c.tcl starpack.vfs vfs_kitdll_data.c - "$(TCLSH_NATIVE)" dir2c.tcl tcl starpack.vfs > vfs_kitdll_data_tcl.c - -## Tclkit Build -kitInit.o: kitInit.c vfs_kitdll.tcl.h -vfs_kitdll.tcl.h: vfs_kitdll.tcl - "$(TCLSH_NATIVE)" ./stringify.tcl vfs_kitdll.tcl > vfs_kitdll.tcl.h - -## Extensions -rechan.o: rechan.c -pwb.o: pwb.c -zlib.o: zlib.c +-include Makefile.common ## DLL Build -libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@: $(OBJS) $(EXTRA_OBJS) - $(CC) $(CPPFLAGS) $(CFLAGS) -o libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ $(OBJS) $(EXTRA_OBJS) $(LDFLAGS) $(SHOBJLDFLAGS) @WHOLEARCHIVE@ $(STATICLIBS) @NOWHOLEARCHIVE@ $(LIBS) +libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@: $(OBJS) $(EXTRA_KIT_DEPS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS) + $(CC) $(CPPFLAGS) $(CFLAGS) -o libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ $(OBJS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS) $(LDFLAGS) $(SHOBJLDFLAGS) @WHOLEARCHIVE@ $(ARCHS) @NOWHOLEARCHIVE@ $(LIBS) + -for striplib in $(STRIPLIBS); do $(OBJCOPY) --weaken "$${striplib}"; done + -mv libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@.safe; \ + $(CC) $(CPPFLAGS) $(CFLAGS) -o libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ $(OBJS) $(EXTRA_OBJS) $(EXTRA_VFS_OBJS) $(LDFLAGS) $(SHOBJLDFLAGS) @WHOLEARCHIVE@ $(ARCHS) @NOWHOLEARCHIVE@ $(LIBS) || \ + mv libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@.safe libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ + -rm -f libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@.safe # Test driver tclsh.o: tclsh.c tclsh: tclsh.o $(EXTRA_OBJS) libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ - $(CC) $(CPPFLAGS) $(CFLAGS) -o tclsh tclsh.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ -Wl,-rpath,. + $(CC) $(CPPFLAGS) $(CFLAGS) -o tclsh tclsh.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ $(LDRUNPATH) wish.o: wish.c wish: wish.o $(EXTRA_OBJS) libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ - $(CC) $(CPPFLAGS) $(CFLAGS) $(WISH_CFLAGS) -o wish wish.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ -Wl,-rpath,. - -# Cleanup routeines -clean: - rm -f libtclkit@KITDLL_LIB_VERSION@.@SHOBJEXT@ - rm -f $(OBJS) - rm -f vfs_kitdll_data_tcl.c - rm -f vfs_kitdll.tcl.h - rm -f tclsh.o tclsh tclsh.exe - rm -f wish.o wish wish.exe - -distclean: clean - rm -f config.status config.log - rm -f *~ - rm -f Makefile - rm -rf starpack.vfs - -mrproper: distclean - -.PHONY: all clean distclean + $(CC) $(CPPFLAGS) $(CFLAGS) $(WISH_CFLAGS) -o wish wish.o $(EXTRA_OBJS) -L. -ltclkit@KITDLL_LIB_VERSION@ $(LDRUNPATH)