1 # 2 # Linux Makefile for fxplugins 3 # 4 5 BUILD_DIR = $(OUTPUT_DIR)/$(BUILD_TYPE) 6 TARGET_DIRS = $(BUILD_DIR) 7 8 SRCBASE_DIR = ../../../plugins 9 OBJBASE_DIR = $(BUILD_DIR)/obj/fxplugins 10 11 DIRLIST = progressbuffer \ 12 progressbuffer/posix \ 13 javasource 14 15 TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so 16 17 CFLAGS = -fPIC \ 18 -Wformat \ 19 -Wextra \ 20 -Wformat-security \ 21 -Werror=implicit-function-declaration \ 22 -msse2 \ 23 -fbuiltin \ 24 -DHAVE_STDINT_H \ 25 -DLINUX \ 26 -DENABLE_PULL_MODE \ 27 -DENABLE_SOURCE_SEEKING \ 28 -D__MEDIALIB_OLD_NAMES \ 29 -DGST_DISABLE_LOADSAVE \ 30 -DGST_DISABLE_GST_DEBUG \ 31 -DGSTREAMER_LITE \ 32 -ffunction-sections -fdata-sections 33 34 ifeq ($(BUILD_TYPE), Release) 35 CFLAGS += -Os 36 else 37 CFLAGS += -g -Wall 38 endif 39 40 41 INCLUDES = -I$(SRCBASE_DIR) \ 42 $(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \ 43 -I../../../gstreamer-lite/gstreamer \ 44 -I../../../gstreamer-lite/gstreamer/libs 45 46 PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0) 47 PACKAGES_LIBS := $(shell pkg-config --libs glib-2.0 gobject-2.0) 48 49 LDFLAGS = -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \ 50 -static-libgcc -static-libstdc++ -Wl,--gc-sections 51 52 ifeq ($(ARCH), x32) 53 CFLAGS += -m32 54 LDFLAGS += -m32 55 endif 56 57 SOURCES = fxplugins.c \ 58 progressbuffer/progressbuffer.c \ 59 progressbuffer/hlsprogressbuffer.c \ 60 progressbuffer/posix/filecache.c \ 61 javasource/javasource.c \ 62 javasource/marshal.c 63 64 OBJ_DIRS = $(addprefix $(OBJBASE_DIR)/,$(DIRLIST)) 65 OBJECTS = $(patsubst %.c,$(OBJBASE_DIR)/%.o,$(SOURCES)) 66 67 .PHONY: default list 68 69 default: $(TARGET) | 1 # 2 # Linux Makefile for fxplugins 3 # 4 5 BUILD_DIR = $(OUTPUT_DIR)/$(BUILD_TYPE) 6 TARGET_DIRS = $(BUILD_DIR) 7 8 SRCBASE_DIR = ../../../plugins 9 OBJBASE_DIR = $(BUILD_DIR)/obj/fxplugins 10 11 DIRLIST = progressbuffer \ 12 progressbuffer/posix \ 13 javasource 14 15 TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so 16 17 CFLAGS = -fPIC \ 18 -Wformat \ 19 -Wextra \ 20 -Wformat-security \ 21 -fstack-protector \ 22 -Werror=implicit-function-declaration \ 23 -msse2 \ 24 -fbuiltin \ 25 -DHAVE_STDINT_H \ 26 -DLINUX \ 27 -DENABLE_PULL_MODE \ 28 -DENABLE_SOURCE_SEEKING \ 29 -D__MEDIALIB_OLD_NAMES \ 30 -DGST_DISABLE_LOADSAVE \ 31 -DGST_DISABLE_GST_DEBUG \ 32 -DGSTREAMER_LITE \ 33 -ffunction-sections -fdata-sections 34 35 ifeq ($(BUILD_TYPE), Release) 36 CFLAGS += -Os 37 else 38 CFLAGS += -g -Wall 39 endif 40 41 42 INCLUDES = -I$(SRCBASE_DIR) \ 43 $(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \ 44 -I../../../gstreamer-lite/gstreamer \ 45 -I../../../gstreamer-lite/gstreamer/libs 46 47 PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0) 48 PACKAGES_LIBS := $(shell pkg-config --libs glib-2.0 gobject-2.0) 49 50 LDFLAGS = -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \ 51 -z relro \ 52 -static-libgcc -static-libstdc++ -Wl,--gc-sections 53 54 ifeq ($(ARCH), x32) 55 CFLAGS += -m32 56 LDFLAGS += -m32 57 endif 58 59 SOURCES = fxplugins.c \ 60 progressbuffer/progressbuffer.c \ 61 progressbuffer/hlsprogressbuffer.c \ 62 progressbuffer/posix/filecache.c \ 63 javasource/javasource.c \ 64 javasource/marshal.c 65 66 OBJ_DIRS = $(addprefix $(OBJBASE_DIR)/,$(DIRLIST)) 67 OBJECTS = $(patsubst %.c,$(OBJBASE_DIR)/%.o,$(SOURCES)) 68 69 .PHONY: default list 70 71 default: $(TARGET) |