diff options
author | Ryan Neph <ryanneph@google.com> | 2024-05-02 12:29:17 -0700 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2024-05-10 20:49:02 +0000 |
commit | c52bbc8435516643f696c602d1442719a232f7e6 (patch) | |
tree | 2ff4b83e46449a4cc032a6f89976f725843afb70 | |
parent | a0cb38aa68eba59918aacd297fa1053b4fc0bc0a (diff) | |
download | minigbm-upstream-main.tar.gz |
minigbm: autogenerate gbm.pc and cleanup build variablesupstream-main
FINALLY, the gbm.pc is autogenerated to respect the variables steering
the build.
BUG=b:338254311
TEST=mkdir -p build && OUT=build make && test -f build/gbm.pc && echo "ALL GOOD"
TEST=emerge minigbm
Change-Id: Ie1458bb46375be1357cbf4f0a8f59d698cbd6cfd
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/5513263
Commit-Queue: Ryan Neph <ryanneph@google.com>
Tested-by: Ryan Neph <ryanneph@google.com>
Reviewed-by: Dawn Han <dawnhan@google.com>
Reviewed-by: Miguel Casas-Sanchez <mcasas@chromium.org>
-rw-r--r-- | Makefile | 42 | ||||
-rw-r--r-- | gbm.pc | 10 |
2 files changed, 33 insertions, 19 deletions
@@ -42,14 +42,16 @@ endif CPPFLAGS += $(PC_CFLAGS) LDLIBS += $(PC_LIBS) -LIBDIR ?= /usr/lib/ +DESTDIR ?= $(OUT)/install +LIBDIR ?= /usr/lib +INCLUDEDIR ?= /usr/include -GBM_VERSION_MAJOR := 1 -MINIGBM_VERSION := $(GBM_VERSION_MAJOR).0.0 +MINIGBM_VERSION_MAJOR := 1 +MINIGBM_VERSION := $(MINIGBM_VERSION_MAJOR).0.0 MINIGBM_FILENAME := libminigbm.so.$(MINIGBM_VERSION) -CC_LIBRARY($(MINIGBM_FILENAME)): LDFLAGS += -Wl,-soname,libgbm.so.$(GBM_VERSION_MAJOR) -CC_LIBRARY($(MINIGBM_FILENAME)): $(C_OBJECTS) +CC_LIBRARY($(MINIGBM_FILENAME)): LDFLAGS += -Wl,-soname,libgbm.so.$(MINIGBM_VERSION_MAJOR) +CC_LIBRARY($(MINIGBM_FILENAME)): $(C_OBJECTS) pkgconfig CC_STATIC_LIBRARY(libminigbm.pie.a): $(C_OBJECTS) all: CC_LIBRARY($(MINIGBM_FILENAME)) @@ -63,11 +65,33 @@ CXX_BINARY(gbm_unittest): $(UNITTEST_DEPS) clean: CLEAN(gbm_unittest) tests: TEST(CXX_BINARY(gbm_unittest)) +define pkgconfig_contents +prefix=$(DESTDIR) +exec_prefix=$${prefix} +includedir=$${prefix}/$(INCLUDEDIR) +libdir=$${prefix}/$(LIBDIR) + +Name: libgbm +Description: A small gbm implementation +Version: 18.0.0 +Cflags: -I$${includedir} +Libs: -L$${libdir} -lgbm +Requires.private: libdrm >= 2.4.50 +endef + +.PHONY: pkgconfig +pkgconfig: + @echo "generating $(OUT)gbm.pc" + $(file > $(OUT)/gbm.pc,$(pkgconfig_contents)) +clean: + rm -f $(OUT)gbm.pc + install: all mkdir -p $(DESTDIR)/$(LIBDIR) install -D -m 755 $(OUT)/$(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR) ln -sf $(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)/libgbm.so - ln -sf $(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)/libgbm.so.$(GBM_VERSION_MAJOR) - install -D -m 0644 $(SRC)/gbm.pc $(DESTDIR)$(LIBDIR)/pkgconfig/gbm.pc - install -D -m 0644 $(SRC)/gbm.h $(DESTDIR)/usr/include/gbm.h - install -D -m 0644 $(SRC)/minigbm_helpers.h $(DESTDIR)/usr/include/minigbm/minigbm_helpers.h + ln -sf $(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)/libgbm.so.$(MINIGBM_VERSION_MAJOR) + ln -sf $(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)/libgbm.so.$(MINIGBM_VERSION) + install -D -m 0644 $(OUT)/gbm.pc $(DESTDIR)/$(LIBDIR)/pkgconfig/gbm.pc + install -D -m 0644 $(SRC)/gbm.h $(DESTDIR)/$(INCLUDEDIR)/gbm.h + install -D -m 0644 $(SRC)/minigbm_helpers.h $(DESTDIR)/$(INCLUDEDIR)/minigbm/minigbm_helpers.h @@ -1,10 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -includedir=${prefix}/include -libdir=${exec_prefix}/lib - -Name: libgbm -Description: A small gbm implementation -Version: 18.0.0 -Cflags: -I${includedir} -Libs: -L${libdir} -lgbm |