PROG = im-strans.so
PKG_CONFIG ?= pkg-config
CFLAGS ?= -O2
GTK_CFLAGS = $(shell $(PKG_CONFIG) --cflags gtk+-3.0)
GTK_LIBS = $(shell $(PKG_CONFIG) --libs gtk+-3.0)
GTK_LIBDIR ?= $(shell $(PKG_CONFIG) --variable=libdir gtk+-3.0)
GTK_BINARY_VERSION ?= $(shell $(PKG_CONFIG) --variable=gtk_binary_version gtk+-3.0)
GTK_MODULE_DIR ?= $(GTK_LIBDIR)/gtk-3.0/$(GTK_BINARY_VERSION)/immodules
GTK_QUERY_IMMODULES ?= gtk-query-immodules-3.0

all: $(PROG)

$(PROG): main.c ../ipc.c ../ipc.h
	$(CC) $(CPPFLAGS) -I.. $(GTK_CFLAGS) -Wall $(CFLAGS) $(LDFLAGS) \
		-shared -fPIC -o $@ main.c ../ipc.c $(GTK_LIBS) $(LDLIBS)

install: $(PROG)
	test -n "$(GTK_LIBDIR)"
	test -n "$(GTK_BINARY_VERSION)"
	test -n "$(GTK_MODULE_DIR)"
	mkdir -p "$(DESTDIR)$(GTK_MODULE_DIR)"
	cp $(PROG) "$(DESTDIR)$(GTK_MODULE_DIR)/"
	if test -z "$(DESTDIR)"; then $(GTK_QUERY_IMMODULES) --update-cache; fi

uninstall:
	test -n "$(GTK_LIBDIR)"
	test -n "$(GTK_BINARY_VERSION)"
	test -n "$(GTK_MODULE_DIR)"
	rm -f "$(DESTDIR)$(GTK_MODULE_DIR)/$(PROG)"
	if test -z "$(DESTDIR)"; then $(GTK_QUERY_IMMODULES) --update-cache; fi

clean:
	rm -f $(PROG)

.PHONY: all install uninstall clean
