modules/media/src/main/native/jfxmedia/projects/mac/Makefile
Print this page
rev 7591 : RT-38074: [macosx] Separate QTKit platform code from core media code so it can be removed for MAS
Reviewed-by:
@@ -1,9 +1,11 @@
#
-# MacOs jfxmedia makefile
+# Mac OS X jfxmedia makefile
#
+# OUTPUT_DIR, BUILD_TYPE and BASE_NAME are passed on the command line or from the
+# parent make process
BUILD_DIR = $(OUTPUT_DIR)/$(BUILD_TYPE)
TARGET_DIRS = $(BUILD_DIR)
SRCBASE_DIR = ../..
OBJBASE_DIR = $(BUILD_DIR)/obj/jfxmedia
@@ -23,11 +25,14 @@
Projects/utils
TARGET_NAME = lib$(BASE_NAME).dylib
TARGET = $(BUILD_DIR)/$(TARGET_NAME)
+QTMEDIA = $(BUILD_DIR)/lib$(TARGET_NAME)_qtkit.dylib
+
CFLAGS = -arch x86_64 \
+ -pipe \
-fPIC \
-Werror=implicit-function-declaration \
-DTARGET_OS_MAC=1 \
-D_GNU_SOURCE \
-DGST_REMOVE_DEPRECATED \
@@ -59,15 +64,19 @@
-I$(GLIB_LITE_DIR)/build/osx \
-I$(GSTREAMER_LITE_DIR)/gstreamer \
-I$(GSTREAMER_LITE_DIR)/gst-plugins-base/gst-libs \
-I$(GSTREAMER_LITE_DIR)/gstreamer/libs
-LDFLAGS = -mmacosx-version-min=10.7 -arch x86_64 \
- -L$(BUILD_DIR) -Wl,-install_name,@rpath/$(TARGET_NAME) \
- -lgstreamer-lite -lglib-lite -lobjc \
- -framework CoreVideo -framework CoreAudio -framework QTKit \
- -framework Cocoa -framework Carbon -framework CoreServices -framework JavaVM
+LDFLAGS = -mmacosx-version-min=10.7 \
+ -arch x86_64 \
+ -L$(BUILD_DIR) \
+ -Wl,-install_name,@rpath/$(TARGET_NAME) \
+ -lobjc \
+ -framework Cocoa \
+ -framework CoreVideo \
+ -lgstreamer-lite \
+ -lglib-lite
CPP_SOURCES = \
MediaManagement/Media.cpp \
MediaManagement/MediaManager.cpp \
Locator/Locator.cpp \
@@ -104,31 +113,36 @@
platform/gstreamer/GstMedia.cpp \
platform/gstreamer/GstMediaPlayer.cpp \
C_SOURCES = Utils/ColorConverter.c
-OBJCMM_SOURCES = \
- platform/osx/OSXPlatform.mm \
- platform/osx/OSXMediaPlayer.mm \
- platform/osx/QTKMediaPlayer.mm \
- platform/osx/CVVideoFrame.mm
-
OBJCM_SOURCES = \
Utils/JObjectPeers.m \
Utils/JavaUtils.m \
Utils/MTObjectProxy.m
+OBJCMM_SOURCES = platform/osx/OSXPlatform.mm \
+ platform/osx/OSXMediaPlayer.mm \
+ platform/osx/CVVideoFrame.mm
+
OBJ_DIRS = $(addprefix $(OBJBASE_DIR)/,$(DIRLIST))
+
+
OBJECTS = $(patsubst %.cpp,$(OBJBASE_DIR)/%.o,$(CPP_SOURCES)) \
$(patsubst %.c,$(OBJBASE_DIR)/%.o,$(C_SOURCES)) \
$(patsubst %.mm,$(OBJBASE_DIR)/%.o,$(OBJCMM_SOURCES)) \
$(patsubst %.m,$(OBJBASE_DIR)/%.o,$(OBJCM_SOURCES))
-.PHONY: default
+# Always force jfxmedia_qtkit through it's own makefile
+.PHONY: default $(QTMEDIA)
-default: $(TARGET)
+default: $(TARGET) $(QTMEDIA)
+$(QTMEDIA): $(TARGET)
+ $(MAKE) -f qtmedia.mk OUTPUT_DIR=$(OUTPUT_DIR) BUILD_TYPE=$(BUILD_TYPE) BASE_NAME=$(BASE_NAME)
+
+# jfxmedia objects
$(OBJBASE_DIR)/%.o: $(SRCBASE_DIR)/%.cpp
$(CC) $(CFLAGS) $(INCLUDES) -x c++ -c $< -o $@
$(OBJBASE_DIR)/%.o: $(SRCBASE_DIR)/%.c
$(CC) $(CFLAGS) $(INCLUDES) -x c -c $< -o $@
@@ -147,6 +161,5 @@
$(TARGET_DIRS):
mkdir -p $(TARGET_DIRS)
$(TARGET): $(OBJECTS)
$(LINK) -dynamiclib $(OBJECTS) $(LDFLAGS) -o $@
-