# $Id$ CC := cc CFLAGS := -std=c99 -D_XOPEN_SOURCE=600 LDFLAGS := SUFFIX := VERSION = $(shell cat main.c | grep TKW3_VERSION | grep -Eo "\"[^\"]+\"$$" | sed "s/\"//g") PKGCONF := pkg-config ifeq ($(WIN64),YES) CC := x86_64-w64-mingw32-gcc WINDRES := x86_64-w64-mingw32-windres MINGW := x86_64-w64-mingw32 WINDOWS = YES RESFILE := ./tkw3.res endif ifeq ($(WIN32),YES) CC := i686-w64-mingw32-gcc WINDRES := i686-w64-mingw32-windres MINGW := i686-w64-mingw32 WINDOWS = YES RESFILE := ./tkw3.res endif ifeq ($(WINDOWS),YES) TCL_LIBS := -ltcl TK_LIBS := -ltk W3_CFLAGS := -Iw3/Library W3_LIBS := -Lw3/Library -lw3 I18NTOOL_CFLAGS := -Ii18ntool/Library I18NTOOL_LIBS := -Li18ntool/Library -li18ntool SUFFIX := .exe else X_CFLAGS := $(shell $(PKGCONF) --cflags x11) TCL_CFLAGS := $(shell $(PKGCONF) --cflags tcl) TCL_LIBS := $(shell $(PKGCONF) --libs tcl) TK_CFLAGS := $(shell $(PKGCONF) --cflags tk) TK_LIBS := $(shell $(PKGCONF) --libs tk) W3_CFLAGS := $(shell $(PKGCONF) --cflags w3) W3_LIBS := $(shell $(PKGCONF) --libs w3) I18NTOOL_CFLAGS := $(shell $(PKGCONF) --cflags i18ntool) I18NTOOL_LIBS := $(shell $(PKGCONF) --libs i18ntool) endif .PHONY: clean archive ifneq ($(I18N),NO) CATALOGS = ./catalog/C.UTF-8/tkw3.18c ./catalog/ja_JP.UTF-8/tkw3.18c endif all: ./tkw3$(SUFFIX) $(CATALOGS) ./tkw3$(SUFFIX): ./main.o ./i18n.o $(RESFILE) $(CC) $(LDFLAGS) -o $@ $^ $(TCL_LIBS) $(TK_LIBS) $(W3_LIBS) $(I18NTOOL_LIBS) ./tkw3.res: ./tkw3.rc $(WINDRES) $< -O coff -o $@ ./catalog/%/tkw3.18c: ./catalog/%.msg mkdir -p catalog/$(shell echo $@ | cut -d"/" -f2) i18ngen $@ $< ./tkw3.h: ./tkw3.tcl xxd -i $< > $@ ./%.o: ./%.c ./tkw3.h $(CC) $(CFLAGS) $(X_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(W3_CFLAGS) $(I18NTOOL_CFLAGS) -c -o $@ $< archive: ./tkw3$(SUFFIX) $(CATALOGS) rm -rf tkw3-dist tkw3.zip tkw3.tar.gz mkdir -p tkw3-dist/bin/catalog mkdir -p tkw3-dist/lib cp ./tkw3$(SUFFIX) tkw3-dist/bin/ cp ./tkw3.gif tkw3-dist/bin/ cp -rf ./catalog/*.UTF-8 tkw3-dist/bin/catalog/ ifeq ($(WINDOWS),YES) cp /usr/$(MINGW)/sys-root/mingw/bin/tcl86.dll tkw3-dist/bin/ cp /usr/$(MINGW)/sys-root/mingw/bin/tk86.dll tkw3-dist/bin/ cp /usr/$(MINGW)/sys-root/mingw/bin/libssp-0.dll tkw3-dist/bin/ cp /usr/$(MINGW)/sys-root/mingw/bin/zlib1.dll tkw3-dist/bin/ cp w3/Library/w3.dll tkw3-dist/bin/ cp i18ntool/Library/i18ntool.dll tkw3-dist/bin/ cp -rf /usr/$(MINGW)/sys-root/mingw/share/tcl8.6 tkw3-dist/lib/tcl8.6 cp -rf /usr/$(MINGW)/sys-root/mingw/share/tk8.6 tkw3-dist/lib/tk8.6 cp -rf ./catalog/ja_JP.UTF-8 tkw3-dist/bin/catalog/Japanese_Japan.932 cp -rf ./catalog/C.UTF-8 "tkw3-dist/bin/catalog/English_United States.1252" endif zip -rv tkw3-$(VERSION).zip ./tkw3-dist tar czvf tkw3-$(VERSION).tar.gz ./tkw3-dist rm -rf tkw3-dist clean: rm -f tkw3 tkw3.exe tkw3.h *.o *.tar.gz *.zip *.core catalog/*/*.cat catalog/*/*.18c *.res