# # Makefile for libgstamlplanesink.so # TARGET = libgstamlplanesink.so OUT_DIR ?= . LIBDIR ?= /usr/lib PKG_CONFIG ?= pkg-config GST_PKGS = gstreamer-1.0 gstreamer-base-1.0 gstreamer-video-1.0 \ gstreamer-allocators-1.0 libdrm SRCS = $(wildcard src/*.c) OBJS = $(patsubst src/%.c, $(OUT_DIR)/%.o, $(SRCS)) GST_CFLAGS := $(shell $(PKG_CONFIG) --cflags $(GST_PKGS)) GST_LIBS := $(shell $(PKG_CONFIG) --libs $(GST_PKGS)) ifeq ($(strip $(GST_LIBS)),) $(error $(PKG_CONFIG) found no development files for: $(GST_PKGS)) endif # override: yocto hands CFLAGS/LDFLAGS over in the environment, but a # command-line CFLAGS= must not silently drop the pkg-config flags either override CFLAGS += -Wall -fPIC -fvisibility=hidden $(GST_CFLAGS) override LDFLAGS += $(GST_LIBS) all: $(OUT_DIR)/$(TARGET) $(OUT_DIR)/$(TARGET): $(OBJS) $(CC) $^ $(LDFLAGS) -shared -Wl,-soname,$(TARGET) -o $@ $(OUT_DIR)/%.o: src/%.c $(wildcard src/*.h) $(CC) -c $(CFLAGS) $< -o $@ install: install -d $(DESTDIR)$(LIBDIR)/gstreamer-1.0 install -m 0755 $(OUT_DIR)/$(TARGET) $(DESTDIR)$(LIBDIR)/gstreamer-1.0/ clean: rm -f $(OBJS) $(OUT_DIR)/$(TARGET) .PHONY: all install clean