fix(gtk): install prebuilt modules without development files
This commit is contained in:
45
gtk/Makefile
45
gtk/Makefile
@@ -3,10 +3,17 @@ 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
|
||||
GTK_LIBDIR ?= $(shell $(PKG_CONFIG) --variable=libdir gtk+-3.0 2>/dev/null)
|
||||
GTK_BINARY_VERSION ?= $(shell $(PKG_CONFIG) \
|
||||
--variable=gtk_binary_version gtk+-3.0 2>/dev/null)
|
||||
GTK_RUNTIME_MODULE_DIR = $(shell GTK_PATH= GTK_IM_MODULE_FILE= \
|
||||
$(GTK_QUERY_IMMODULES) 2>/dev/null | \
|
||||
awk -F '"' '/^"\// { sub("/[^/]*$$", "", $$2); print $$2; exit }')
|
||||
GTK_MODULE_DIR ?= $(strip $(if \
|
||||
$(and $(strip $(GTK_LIBDIR)),$(strip $(GTK_BINARY_VERSION))),\
|
||||
$(GTK_LIBDIR)/gtk-3.0/$(GTK_BINARY_VERSION)/immodules,\
|
||||
$(GTK_RUNTIME_MODULE_DIR)))
|
||||
|
||||
all: $(PROG)
|
||||
|
||||
@@ -15,19 +22,29 @@ $(PROG): main.c ../ipc.c ../ipc.h
|
||||
-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
|
||||
module_dir="$(GTK_MODULE_DIR)"; \
|
||||
test -n "$$module_dir" || { \
|
||||
echo "cannot find GTK 3 module directory; set GTK_MODULE_DIR" >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
mkdir -p "$(DESTDIR)$$module_dir" && \
|
||||
cp "$(PROG)" "$(DESTDIR)$$module_dir/" && \
|
||||
if test -z "$(DESTDIR)"; then \
|
||||
GTK_PATH= GTK_IM_MODULE_FILE= \
|
||||
$(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
|
||||
module_dir="$(GTK_MODULE_DIR)"; \
|
||||
test -n "$$module_dir" || { \
|
||||
echo "cannot find GTK 3 module directory; set GTK_MODULE_DIR" >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
rm -f "$(DESTDIR)$$module_dir/$(PROG)" && \
|
||||
if test -z "$(DESTDIR)"; then \
|
||||
GTK_PATH= GTK_IM_MODULE_FILE= \
|
||||
$(GTK_QUERY_IMMODULES) --update-cache; \
|
||||
fi
|
||||
|
||||
clean:
|
||||
rm -f $(PROG)
|
||||
|
||||
Reference in New Issue
Block a user