92 lines
3.2 KiB
Makefile
92 lines
3.2 KiB
Makefile
LOCAL_PATH = $(shell pwd)
|
|
|
|
LDFLAGS += -Wl,--no-as-needed -lstdc++ -lpthread -ldl -lrt -ludev -L$(STAGING_DIR)/usr/lib
|
|
CFLAGS += -Wall -Wno-unknown-pragmas -Wno-format -Wno-format-security -Wno-error=unused-result \
|
|
-O3 -fexceptions -fnon-call-exceptions -D_GNU_SOURCE -I$(STAGING_DIR)/usr/include
|
|
CFLAGS += -I$(STAGING_DIR)/usr/include/ -I$(STAGING_DIR)/usr/include/libdrm/
|
|
LIBDRM_CFLAGS = -Wl,-soname,libdrm_meson.so
|
|
LDFLAGS += -L$(STAGING_DIR)/usr/lib -L$(OUT_DIR) -ldrm
|
|
|
|
ifeq ($(HAVE_LIBLOG),1)
|
|
CFLAGS += -DMESON_LIBLOG
|
|
LDFLAGS += -llog
|
|
endif
|
|
|
|
meson_drm_SRCS = \
|
|
$(LOCAL_PATH)/libdrm_meson_connector.c \
|
|
$(LOCAL_PATH)/libdrm_meson_property.c \
|
|
$(LOCAL_PATH)/meson_drm.c \
|
|
$(LOCAL_PATH)/meson_drm_async_commit.c \
|
|
$(LOCAL_PATH)/meson_drm_kms.c \
|
|
$(LOCAL_PATH)/meson_drm_util.c \
|
|
$(LOCAL_PATH)/meson_drm_display.c \
|
|
$(LOCAL_PATH)/meson_drm_event.c \
|
|
$(LOCAL_PATH)/meson_drm_settings.c \
|
|
$(LOCAL_PATH)/meson_drm_log.c \
|
|
$(NULL)
|
|
|
|
meson_drm_HEADERS = \
|
|
$(LOCAL_PATH) \
|
|
$(NULL)
|
|
|
|
meson_drm_test_SRCS = \
|
|
$(LOCAL_PATH)/meson_drm_test.c \
|
|
$(NULL)
|
|
|
|
meson_drm_display_test_SRCS = \
|
|
$(LOCAL_PATH)/meson_drm_display_test.c \
|
|
$(NULL)
|
|
|
|
meson_drm_settings_test_SRCS = \
|
|
$(LOCAL_PATH)/meson_drm_settings_test.c \
|
|
$(NULL)
|
|
|
|
OUT_DIR ?= .
|
|
# ---------------------------------------------------------------------
|
|
# Build rules
|
|
BUILD_TARGETS = libdrm_meson.so meson_drm_test meson_drm_display_test meson_drm_settings_test
|
|
CLEAN_TARGETS = $(addprefix $(OUT_DIR)/, $(BUILD_TARGETS))
|
|
|
|
.PHONY: all install uninstall clean
|
|
|
|
all:$(BUILD_TARGETS)
|
|
|
|
$(OUT_DIR)/libdrm_meson.so: libdrm_meson.so
|
|
|
|
libdrm_meson.so: $(meson_drm_SRCS)
|
|
$(CC) $(CFLAGS) $(LDFLAGS) -g -D_FILE_OFFSET_BITS=64 -Wall $(LIBDRM_CFLAGS) \
|
|
-shared -fPIC -o $(OUT_DIR)/$@ $^ $(LDLIBS)
|
|
|
|
meson_drm_test: $(meson_drm_test_SRCS) $(OUT_DIR)/libdrm_meson.so
|
|
$(CC) $(CFLAGS) -I$(meson_drm_HEADERS) -L$(LOCAL_PATH) \
|
|
-ldrm_meson $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
|
|
|
|
meson_drm_display_test: $(meson_drm_display_test_SRCS) $(OUT_DIR)/libdrm_meson.so
|
|
$(CC) $(CFLAGS) -I$(meson_drm_HEADERS) -L$(LOCAL_PATH) \
|
|
-ldrm_meson $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
|
|
|
|
meson_drm_settings_test: $(meson_drm_settings_test_SRCS) $(OUT_DIR)/libdrm_meson.so
|
|
$(CC) $(CFLAGS) -I$(meson_drm_HEADERS) -L$(LOCAL_PATH) \
|
|
-ldrm_meson $(LDFLAGS) -o $(OUT_DIR)/$@ $^ $(LDLIBS)
|
|
|
|
clean:
|
|
rm -f *.o $(CLEAN_TARGETS)
|
|
|
|
install:
|
|
install -m 0644 $(OUT_DIR)/libdrm_meson.so $(TARGET_DIR)/usr/lib
|
|
install -m 755 $(OUT_DIR)/meson_drm_test $(TARGET_DIR)/usr/bin/
|
|
install -m 755 $(OUT_DIR)/meson_drm_display_test $(TARGET_DIR)/usr/bin/
|
|
install -m 755 $(OUT_DIR)/meson_drm_settings_test $(TARGET_DIR)/usr/bin/
|
|
cp meson_drmif.h $(STAGING_DIR)/usr/include/
|
|
cp meson_drm_util.h $(STAGING_DIR)/usr/include/
|
|
install -D -m 0644 meson_drm_settings.h $(STAGING_DIR)/usr/include/libdrm_meson/meson_drm_settings.h
|
|
install -D -m 0644 meson_drm_event.h $(STAGING_DIR)/usr/include/libdrm_meson/meson_drm_event.h
|
|
install -D -m 0644 meson_drm_log.h $(STAGING_DIR)/usr/include/libdrm_meson/meson_drm_log.h
|
|
|
|
uninstall:
|
|
rm -f $(TARGET_DIR)/usr/lib/libdrm_meson.so
|
|
rm -f $(TARGET_DIR)/usr/bin/meson_drm_test
|
|
rm -f $(TARGET_DIR)/usr/bin/meson_drm_display_test
|
|
rm -f $(TARGET_DIR)/usr/bin/meson_drm_settings_test
|
|
|