commit 882003c
Michael Forney
·
2016-04-06 06:26:56 +0000 UTC
parent 10de138
Improve pkg-config usage in Makefile
M
Makefile
+6,
-12
1@@ -50,19 +50,11 @@ libinput_CONSTRAINTS := --atleast-version=0.4
2 wayland-server_CONSTRAINTS := --atleast-version=1.6.0
3
4 define check
5- $(1)_EXISTS = $$(shell $$(PKG_CONFIG) --exists $$($(1)_CONSTRAINTS) $(1) && echo yes)
6-
7- ifeq ($$(origin $(1)_CFLAGS),undefined)
8- ifneq ($$($(1)_EXISTS),yes)
9- $$(error Could not find package $(1))
10- endif
11- $(1)_CFLAGS = $$(shell $$(PKG_CONFIG) --cflags $(1))
12+ ifeq ($$(origin $(1)_EXISTS),undefined)
13+ $(1)_EXISTS = $$(shell $$(PKG_CONFIG) --exists $$($(1)_CONSTRAINTS) $(1) && echo yes)
14 endif
15- ifeq ($$(origin $(1)_LIBS),undefined)
16- ifneq ($$($(1)_EXISTS),yes)
17- $$(error Could not find package $(1))
18- endif
19- $(1)_LIBS = $$(shell $$(PKG_CONFIG) --libs $(1))
20+ ifneq ($$($(1)_EXISTS),yes)
21+ $$(error Could not find package $(1) $$($(1)_CONSTRAINTS))
22 endif
23 endef
24
25@@ -95,6 +87,8 @@ Q_SYM = $(call quiet,SYM )
26 compile = $(Q_CC)$(CC) $(FINAL_CPPFLAGS) $(FINAL_CFLAGS) -I . -c -o $@ $< \
27 -MMD -MP -MF .deps/$(basename $<).d -MT $(basename $@).o -MT $(basename $@).lo
28 link = $(Q_CCLD)$(CC) $(LDFLAGS) -o $@ $^
29+pkgconfig = $(foreach pkg,$(1),$(if $($(pkg)_$(3)),$($(pkg)_$(3)), \
30+ $(shell $(PKG_CONFIG) --$(2) $(pkg))))
31
32 include $(SUBDIRS:%=%/local.mk)
33
+2,
-2
1@@ -18,10 +18,10 @@ $(dir)/%.lo: $(dir)/%.c | .deps/$(dir)
2 $(compile) -fPIC $($(dir)_CFLAGS) $($(dir)_PACKAGE_CFLAGS)
3
4 ifeq ($(origin $(dir)_PACKAGE_CFLAGS),undefined)
5- $(dir)_PACKAGE_CFLAGS := $(foreach pkg,$($(dir)_PACKAGES),$($(pkg)_CFLAGS))
6+ $(dir)_PACKAGE_CFLAGS := $(call pkgconfig,$($(dir)_PACKAGES),cflags,CFLAGS)
7 endif
8 ifeq ($(origin $(dir)_PACKAGE_LIBS),undefined)
9- $(dir)_PACKAGE_LIBS := $(foreach pkg,$($(dir)_PACKAGES),$($(pkg)_LIBS))
10+ $(dir)_PACKAGE_LIBS := $(call pkgconfig,$($(dir)_PACKAGES),libs,LIBS)
11 endif
12
13 CLEAN_FILES += $($(dir)_TARGETS)