blob: 987708fc0f882b79eb499ad57f73f529662d23bd [file] [log] [blame]
Stéphane Marchesin25a26062014-09-12 16:18:59 -07001# Copyright 2014 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5include common.mk
6
7PC_DEPS = libdrm
8PC_CFLAGS := $(shell $(PKG_CONFIG) --cflags $(PC_DEPS))
9PC_LIBS := $(shell $(PKG_CONFIG) --libs $(PC_DEPS))
10
Stéphane Marchesin3aa3dc82016-11-29 15:22:04 -080011CPPFLAGS += -D_GNU_SOURCE=1
12CFLAGS += -std=c99 -Wall -Wsign-compare -Wpointer-arith -Wcast-qual \
13 -Wcast-align -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64
Stéphane Marchesin25a26062014-09-12 16:18:59 -070014
Akshu Agrawal0337d9b2016-07-28 15:35:45 +053015ifdef DRV_AMDGPU
16 CFLAGS += $(shell $(PKG_CONFIG) --cflags libdrm_amdgpu)
Satyajitcdcebd82018-01-12 14:49:05 +053017 LDLIBS += -ldrm_amdgpu -ldl
Akshu Agrawal0337d9b2016-07-28 15:35:45 +053018endif
Gurchetan Singh46faf6b2016-08-05 14:40:07 -070019ifdef DRV_I915
Stéphane Marchesineeac2ff2014-09-18 14:42:42 -070020 CFLAGS += $(shell $(PKG_CONFIG) --cflags libdrm_intel)
21endif
Sergey Volk6eca3682018-03-06 13:29:32 -080022ifdef DRV_MESON
23 CFLAGS += $(shell $(PKG_CONFIG) --cflags libdrm_meson)
24endif
Rob Clarke48e4d72020-08-07 08:08:30 -070025ifdef DRV_MSM
26 CFLAGS += -ldl
27endif
giri3f259512017-08-02 12:01:33 -040028ifdef DRV_RADEON
29 CFLAGS += $(shell $(PKG_CONFIG) --cflags libdrm_radeon)
30endif
Gurchetan Singh46faf6b2016-08-05 14:40:07 -070031ifdef DRV_ROCKCHIP
Stéphane Marchesineeac2ff2014-09-18 14:42:42 -070032 CFLAGS += $(shell $(PKG_CONFIG) --cflags libdrm_rockchip)
33endif
Jeremy Grosser7cfcc282018-03-30 01:19:41 -070034ifdef DRV_VC4
35 CFLAGS += $(shell $(PKG_CONFIG) --cflags libdrm_vc4)
36endif
Stéphane Marchesineeac2ff2014-09-18 14:42:42 -070037
Stéphane Marchesin25a26062014-09-12 16:18:59 -070038CPPFLAGS += $(PC_CFLAGS)
39LDLIBS += $(PC_LIBS)
40
Stéphane Marchesin85afac42014-09-15 15:38:37 -070041LIBDIR ?= /usr/lib/
42
Michael Spangde93efd2015-01-30 13:05:35 -050043GBM_VERSION_MAJOR := 1
44MINIGBM_VERSION := $(GBM_VERSION_MAJOR).0.0
45MINIGBM_FILENAME := libminigbm.so.$(MINIGBM_VERSION)
Stéphane Marchesin25a26062014-09-12 16:18:59 -070046
Michael Spangde93efd2015-01-30 13:05:35 -050047CC_LIBRARY($(MINIGBM_FILENAME)): LDFLAGS += -Wl,-soname,libgbm.so.$(GBM_VERSION_MAJOR)
48CC_LIBRARY($(MINIGBM_FILENAME)): $(C_OBJECTS)
Dennis Kempin94a69bd2021-09-03 10:43:12 -070049CC_STATIC_LIBRARY(libminigbm.pie.a): $(C_OBJECTS)
Stéphane Marchesin25a26062014-09-12 16:18:59 -070050
Michael Spangde93efd2015-01-30 13:05:35 -050051all: CC_LIBRARY($(MINIGBM_FILENAME))
52
53clean: CLEAN($(MINIGBM_FILENAME))
Stéphane Marchesin25a26062014-09-12 16:18:59 -070054
55install: all
Stéphane Marchesin85afac42014-09-15 15:38:37 -070056 mkdir -p $(DESTDIR)/$(LIBDIR)
Michael Spangde93efd2015-01-30 13:05:35 -050057 install -D -m 755 $(OUT)/$(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)
58 ln -sf $(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)/libgbm.so
59 ln -sf $(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)/libgbm.so.$(GBM_VERSION_MAJOR)
Dominik Behr59c7fe72014-11-11 16:49:10 -080060 install -D -m 0644 $(SRC)/gbm.pc $(DESTDIR)$(LIBDIR)/pkgconfig/gbm.pc
Stéphane Marchesin8c7039c2014-09-18 18:27:41 -070061 install -D -m 0644 $(SRC)/gbm.h $(DESTDIR)/usr/include/gbm.h