# -*- Makefile -*- # NOTE: this file requires GNU Make. # #PLAT = unix #PRIV = install-private-headers # # Linux: #LDFLAGS = -L/usr/X11R6/lib -lX11 -ldl -lm # -lpthread # # Mac OS X: #LDFLAGS = -framework CoreFoundation -L/usr/X11R6/lib -lX11 -weak-lXss -lXext #LDFLAGS = -framework CoreFoundation -framework Carbon -framework IOKit #LDSTRIP = -x EXTDIR = ../../../../8.x STATIC = --disable-shared --enable-static OUTDIR = $(shell pwd)/build OBJ = $(OUTDIR)/zvfs$O $(OUTDIR)/zlib$O $(OUTDIR)/usb$O \ $(OUTDIR)/g2lite$O $(OUTDIR)/swt$O $(OUTDIR)/csr_test$O GUIOBJ ?= $(OBJ) $(OUTDIR)/tclAppInit$O TCLDIR = --with-tcl=$(OUTDIR)/lib --prefix=$(OUTDIR) --exec-prefix=$(OUTDIR) STRIP ?= strip UPX ?= : O ?=.o A ?=.a SO ?=.so BLT_OPTS = --disable-threads VFS_OPTS = --disable-threads TDOM_OPTS = --disable-threads TCLX_OPTS = --disable-threads XOTCL_OPTS = --disable-threads SQLITE_OPTS = --disable-threads ZLIB_OPTS = --prefix=$(OUTDIR) LIBUSB_OPTS = --prefix=$(OUTDIR) tclkit-gui$(EXE): kit-gui$(EXE) ../../setupvfs.tcl build/files cp kit-gui$(EXE) $@ sleep 3 $(STRIP) $@ $(UPX) $@ ./kit-gui -init- ../../setupvfs.tcl $(KIT_OPTS) $@ gui ifeq ($(PLAT), win) kit-gui$(EXE): build/tcl build/tk build/blt build/tclvfs build/zlib \ build/tdom build/tcllib build/xotcl build/sqlite build/libusb-win32 $(GUIOBJ) $(CC) -o $@ $(CFLAGS) ../../kitInit.c $(GUIOBJ) \ -Ibuild/include -DKIT_LITE -DSTATIC_BUILD \ build/lib/vfs1*/*vfs1*$A \ -DKIT_INCLUDES_TK build/lib/*tk8*$A \ build/lib/libz$A build/lib/libusb$A \ build/lib/*tcl8*$A \ build/lib/BLT2*/*BLT2*$A \ build/lib/tdom0*/*tdom0*$A \ build/lib/sqlite3*/*sqlite3*$A \ build/lib/xotcl1*/*xotcl1*$A \ $(LDFLAGS) $(GUI_OPTS) else kit-gui$(EXE): build/tcl build/tk build/blt build/tclvfs build/zlib \ build/tdom build/tcllib build/xotcl build/sqlite build/libusb $(GUIOBJ) $(CC) -o $@ $(CFLAGS) ../../kitInit.c $(GUIOBJ) \ -Ibuild/include -DKIT_LITE -DSTATIC_BUILD \ build/lib/vfs1*/*vfs1*$A \ -DKIT_INCLUDES_TK build/lib/*tk8*$A \ build/lib/libz$A build/lib/libusb$A \ build/lib/*tcl8*$A \ build/lib/BLT2*/*BLT2*$A \ build/lib/tdom0*/*tdom0*$A \ build/lib/sqlite3*/*sqlite3*$A \ build/lib/xotcl1*/*xotcl1*$A \ $(LDFLAGS) $(GUI_OPTS) endif build/files: mkdir -p $@ && cd $@ && ln -s ../../../../files/* . build/tcl: mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh ../../../tcl/$(PLAT)/configure $(STATIC) $(TCL_OPTS) \ --prefix=$(OUTDIR) --exec-prefix=$(OUTDIR) && \ $(MAKE) install-binaries install-libraries $(PRIV) build/tk: build/tcl mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh ../../../tk/$(PLAT)/configure $(STATIC) $(TCLDIR) $(TK_OPTS) && \ $(MAKE) install-binaries install-libraries $(PRIV) build/blt: build/tk mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh $(EXTDIR)/blt/configure $(STATIC) $(TCLDIR) $(BLT_OPTS) && \ $(MAKE) install-binaries install-libraries build/tclvfs: build/tcl mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh $(EXTDIR)/tclvfs/configure $(STATIC) $(TCLDIR) $(VFS_OPTS) && \ $(MAKE) install build/zlib: build/tcl cp -R ../../8.x/zlib/. $@ cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh $(EXTDIR)/zlib/configure $(ZLIB_OPTS) && \ $(MAKE) install build/libusb-win32: build/tcl cp -R ../../8.x/libusb-win32/. $@ cd $@ && $(MAKE) && cp libusb.a ../lib/ && cp lusb0_usb.h ../include/usb.h build/libusb: build/tcl cp -R ../../8.x/libusb/. $@ cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh configure $(LIBUSB_OPTS) && \ $(MAKE) && $(MAKE) install build/tdom: build/tcl mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh $(EXTDIR)/tdom/configure $(STATIC) $(TCLDIR) $(TDOM_OPTS) && \ $(MAKE) install build/tcllib: build/tcl mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh $(EXTDIR)/tcllib/configure $(STATIC) $(TCLDIR) $(TCLLIB_OPTS) && \ $(MAKE) install-libraries build/xotcl: build/tcl mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh $(EXTDIR)/xotcl/configure $(STATIC) $(TCLDIR) $(XOTCL_OPTS) && \ $(MAKE) install-binaries build/sqlite: build/tcl mkdir -p $@ && cd $@ && CFLAGS="$(CFLAGS)" && export CFLAGS && \ sh $(EXTDIR)/sqlite/tea/configure $(STATIC) $(TCLDIR) $(SQLITE_OPTS) && \ $(MAKE) install-binaries base: build/tcl build/tk ls -l build/bin tidy: cleanext rm -rf build/tcl build/tk build/tkdyn cleanext: rm -rf build/tclvfs build/thread build/zlib build/*.o rm -rf build/lib/vfs* build/lib/thread* clean: rm -rf build kit-gui$(EXE) distclean: clean rm -f tclkit-gui$(EXE) .PHONY: all base clean distclean threaded tidy $(OUTDIR)/zvfs$O: ../../zvfs.c $(CC) -o $@ $(CFLAGS) -DHAVE_UNISTD_H=1 -DSTATIC_BUILD -Ibuild/include -c $< $(OUTDIR)/zlib$O: ../../zlib.c $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $< $(OUTDIR)/g2lite$O: ../../g2lite.c $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $< $(OUTDIR)/usb$O: ../../usb.c $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $< $(OUTDIR)/swt$O: ../../swt.c $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $< $(OUTDIR)/csr_test$O: ../../csr_test.c $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include -c $< $(OUTDIR)/tclAppInit$O: ../tcl/$(PLAT)/tclAppInit.c $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include \ -DTCL_LOCAL_APPINIT=TclKit_AppInit -c $< $(OUTDIR)/winMain$O: ../tk/$(PLAT)/winMain.c $(CC) -o $@ $(CFLAGS) -DSTATIC_BUILD -Ibuild/include \ -DTK_LOCAL_APPINIT=TclKit_AppInit -c $< $(OUTDIR)/tclkit.res.o: ../../tclkit.rc cp $< build/tk/tclkit.rc windres -o $@ --define STATIC_BUILD --define TCLKIT_WITH_TK \ --define BASE_NO_TK_ICON --include build/include \ --include build/tk --include ../../files --include ../tk/win/rc \ build/tk/tclkit.rc $(OUTDIR)/tclkitsh.res.o: ../../tclkit.rc windres -o $@ --define STATIC_BUILD --include build/include \ --include ../../files $<