# $Id$
CC := cc
AR := ar
CFLAGS := -g -std=c99 -fPIC
LDFLAGS :=
LIBS :=
PREFIX := /usr/local

GREP := grep

VERSION = $(shell cat Library/i18ntool.h | $(GREP) -m 1 I18NTOOL_VERSION | sed -E "s/.+\"([^\"]+)\"/\1/g")

ifeq ($(WIN32),YES)
CC := i686-w64-mingw32-gcc
AR := i686-w64-mingw32-ar
WINDOWS = YES
endif

ifeq ($(WIN64),YES)
CC := x86_64-w64-mingw32-gcc
AR := x86_64-w64-mingw32-ar
WINDOWS = YES
endif

ifeq ($(WINDOWS),YES)
SUFFIX := .exe
endif

.PHONY: all ./Tool ./Library ./Catalog clean archive install

all: ./Library ./Tool

./Tool:
	$(MAKE) -C $@ CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)" SUFFIX="$(SUFFIX)" WINDOWS="$(WINDOWS)"

./Library:
	$(MAKE) -C $@ CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)" SUFFIX="$(SUFFIX)" WINDOWS="$(WINDOWS)" AR="$(AR)"

./Catalog:
	$(MAKE) -C $@

./test$(SUFFIX): ./test.c
	$(CC) -ILibrary -LLibrary -Wl,-RLibrary $(CFLAGS) $(LDFLAGS) -o $@ $< -li18ntool

clean:
	$(MAKE) -C ./Library clean
	$(MAKE) -C ./Tool clean
	$(MAKE) -C ./Catalog clean
	rm -rf *.zip *.tar.gz i18ntool-*

archive: all
	rm -rf i18ntool-$(VERSION)
	mkdir -p i18ntool-$(VERSION)
	mkdir -p i18ntool-$(VERSION)/Library
	mkdir -p i18ntool-$(VERSION)/Tool
	-cp -rf Library/*.h i18ntool-$(VERSION)/Library/
	-cp -rf Library/*.lib i18ntool-$(VERSION)/Library/
	-cp -rf Library/*.dll i18ntool-$(VERSION)/Library/
	-cp -rf Library/*.so i18ntool-$(VERSION)/Library/
	-cp -rf Library/*.a i18ntool-$(VERSION)/Library/
	-cp -rf Tool/i18ngen i18ntool-$(VERSION)/Tool/
	-cp -rf Tool/*.exe i18ntool-$(VERSION)/Tool/
	tar czvf i18ntool-$(VERSION).tar.gz i18ntool-$(VERSION)
	zip -rv i18ntool-$(VERSION).zip i18ntool-$(VERSION)
	rm -rf i18ntool-$(VERSION)

install: all
	mkdir -p $(PREFIX)/lib/pkgconfig
	echo "prefix=$(PREFIX)" > $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo "exec_prefix=\$${prefix}" >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo "includedir=\$${prefix}/include" >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo "libdir=\$${prefix}/lib" >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo "Name: i18ntool" >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo "Description: I18n tool" >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo "Version: $(VERSION)" >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo "Cflags: -I\$${includedir}" >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	echo "Libs: -I\$${libdir} -li18ntool" >> $(PREFIX)/lib/pkgconfig/i18ntool.pc
	$(MAKE) -C ./Library install PREFIX=$(PREFIX)
	$(MAKE) -C ./Tool install PREFIX=$(PREFIX)