################################################################################ # # aml_subtitleserver # ################################################################################ LOCAL_PATH = $(shell pwd) LDFLAGS += -Wl,--no-as-needed -lstdc++ -lpthread -ldl -lrt -L$(STAGING_DIR)/usr/lib CFLAGS += -Wall -Wno-multichar -Wno-unknown-pragmas -Wno-format -Wno-format-security -Wno-error=unused-result -g\ -O0 -fexceptions -fnon-call-exceptions\ -std=c++11 -D_GNU_SOURCE -I$(STAGING_DIR)/usr/include LIBBINDER_LDFLAGS = -lbinder -llog LDFLAGS += $(LIBBINDER_LDFLAGS) ################################################################################ # libsubtitle.so - src files ################################################################################ subtitle_SRCS = \ $(LOCAL_PATH)/libsubtitle/SubtitleService.cpp \ $(LOCAL_PATH)/libsubtitle/SubtitleServer.cpp \ $(LOCAL_PATH)/libsubtitle/ipc/SocketServer.cpp \ $(LOCAL_PATH)/libsubtitle/ipc/IpcBuffer.cpp \ $(LOCAL_PATH)/libsubtitle/utils/ringbuffer.c \ $(LOCAL_PATH)/libsubtitle/utils/AndroidCallbackMessageQueue.cpp \ $(LOCAL_PATH)/libsubtitle/utils/Segment.cpp \ $(LOCAL_PATH)/libsubtitle/utils/MemoryLeakTrackUtil.cpp \ $(LOCAL_PATH)/libsubtitle/utils/VideoInfo.cpp \ $(LOCAL_PATH)/libsubtitle/io/FileSource.cpp \ $(LOCAL_PATH)/libsubtitle/io/SocketSource.cpp \ $(LOCAL_PATH)/libsubtitle/io/DeviceSource.cpp \ $(LOCAL_PATH)/libsubtitle/io/DataSourceFactory.cpp \ $(LOCAL_PATH)/libsubtitle/io/ExternalDataSource.cpp \ $(LOCAL_PATH)/libsubtitle/io/DemuxSource.cpp \ $(LOCAL_PATH)/libsubtitle/io/VbiSource.cpp \ $(LOCAL_PATH)/libsubtitle/display/AndroidDisplay.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/Subtitle.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/Presentation.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/bprint.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ParserFactory.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/AssParser.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/PgsParser.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/DvbParser.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/DvdParser.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/TeletextParser.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ClosedCaptionParser.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/Scte27Parser.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/UserDataAfd.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/ExtParser.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/StreamReader.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/ExtSubFactory.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/TextSubtitle.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Aqtitle.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/SubStationAlpha.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Subrip.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Jacosub.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Mircodvd.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Mplayer1.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Mplayer2.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Mpsub.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Pjs.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/RealText.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Sami.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/SubViewer.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Lyrics.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Vplayer.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/Subrip09.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/SubViewer2.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/SubViewer3.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser/WebVtt.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/render/AndroidHidlRemoteRender.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/render/waylandrender/WLRender.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/render/waylandrender/WLGLDevice.cpp \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_mw/am_cc/am_cc.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_mw/am_cc/cc_json.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_mw/am_scte27/am_scte27.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_time/am_time.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_userdata/am_userdata.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_userdata/aml/aml.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_evt/am_evt.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_misc/am_misc.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_misc/am_adplock.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_misc/am_sig_handler.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_dmx/am_dmx.c \ $(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/am_adp/am_dmx/linux_dvb/linux_dvb.c \ $(NULL) subtitle_HEADERS = \ -I$(LOCAL_PATH)/libsubtitle/subtitle \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser \ -I$(LOCAL_PATH)/libsubtitle/subtitle/render \ -I$(LOCAL_PATH)/libsubtitle/ipc \ -I$(LOCAL_PATH)/libsubtitle/io \ -I$(LOCAL_PATH)/libsubtitle/utils \ -I$(LOCAL_PATH)/libsubtitle/include \ -I$(LOCAL_PATH)/libsubtitle/display \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/include/am_adp \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/include/am_mw \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/android/ndk/include \ -I${LOCAL_PATH}/libsubtitle/port \ -I$(LOCAL_PATH)/libsubtitle \ -I$(LOCAL_PATH)/libsubtitle/subtitle \ -I$(LOCAL_PATH)/../zvbi/src \ -I$(LOCAL_PATH)/libsubtitle/subtitle/render/waylandrender \ -I$(LOCAL_PATH)/libsubtitle/subtitle/render/waylandrender/wayland_inc \ $(NULL) # -I$(LOCAL_PATH)/../aml_commonlib/libbinder/include \ # -I$(LOCAL_PATH)/../aml_commonlib/logcat/include \ # -I$(LOCAL_PATH)/../aml_commonlib/liblog/include \ # $(NULL) subtitle_server_HEADER = \ -I$(LOCAL_PATH)/libsubtitle/subtitle \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser \ -I$(LOCAL_PATH)/libsubtitle/subtitle/render \ -I$(LOCAL_PATH)/libsubtitle/ipc \ -I$(LOCAL_PATH)/libsubtitle/io \ -I$(LOCAL_PATH)/libsubtitle/utils \ -I$(LOCAL_PATH)/libsubtitle/include \ -I$(LOCAL_PATH)/libsubtitle/display \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/ExtParser \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/include/am_adp \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/include/am_mw \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/android/ndk/include \ -I${LOCAL_PATH}/libsubtitle/port \ -I$(LOCAL_PATH)/libsubtitle \ -I$(LOCAL_PATH)/libsubtitle/subtitle \ $(NULL) ################################################################################ # libsubtitleclient.so - src files ################################################################################ subtitleclient_SRCS = \ $(LOCAL_PATH)/client/SubtitleClientLinux.cpp \ $(LOCAL_PATH)/client/SubtitleNativeAPI.cpp \ $(LOCAL_PATH)/libsubtitle/ISubtitleCallback.cpp \ $(LOCAL_PATH)/client/SubtitleReportAPI.cpp \ $(LOCAL_PATH)/client/AmSocketClient.cpp \ $(NULL) subtitleclient_HEADERS = \ -I$(LOCAL_PATH)/client/include \ -I$(LOCAL_PATH)/client \ -I$(LOCAL_PATH)/libsubtitle \ -I$(LOCAL_PATH)/libsubtitle/include \ -I$(LOCAL_PATH)/libsubtitle/ipc/ \ -I$(LOCAL_PATH)/libsubtitle/io \ -I$(LOCAL_PATH)/libsubtitle/subtitle \ -I$(LOCAL_PATH)/libsubtitle/utils \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/include/am_adp \ -I$(LOCAL_PATH)/libsubtitle/subtitle/parser/dvb/include/am_mw \ -I$(LOCAL_PATH)/libsubtitle/subtitle/render \ -I$(LOCAL_PATH)/libsubtitle/display \ $(NULL) ################################################################################ # subtitleservice - src files ################################################################################ subtitleservice_SRCS = \ $(LOCAL_PATH)/service/main_subtitleservice.cpp \ $(LOCAL_PATH)/service/SubtitleServiceLinux.cpp \ $(NULL) ################################################################################ # subtitletest - src files ################################################################################ subtitletest_SRCS = \ $(LOCAL_PATH)/test/main_subtitletest.cpp \ $(NULL) # wayland lib path WAYLAND_LIB_DIR = ../../../../build-s4/tmp/work/armv7at2hf-neon-pokymllib32-linux-gnueabi/lib32-weston/8.0.0-r0/lib32-recipe-sysroot/usr/lib LDFLAGS += -L$(WAYLAND_LIB_DIR) # --------------------------------------------------------------------- # Build rules BUILD_TARGETS = libsubtitle.so libsubtitleclient.so subtitleservice subtitletest .PHONY: all install uninstall clean libsubtitle.so: $(subtitle_SRCS) $(CXX) \ $(CFLAGS) \ $(LDFLAGS) \ -shared -fPIC \ $(subtitle_HEADERS) \ -lwayland-client \ -lwayland-egl \ -lEGL \ -lGLESv1_CM \ -o $@ $^ $(LDLIBS) libsubtitleclient.so: $(subtitleclient_SRCS) -lsubtitle $(CXX) $(CFLAGS) $(LDFLAGS) -shared -fPIC $(subtitleclient_HEADERS) \ -o $@ $^ $(LDLIBS) subtitleservice: $(subtitleservice_SRCS) $(CXX) $(CFLAGS) $(LDFLAGS) $(subtitle_server_HEADER) \ -lsubtitle -lsubtitleclient -L$(LOCAL_PATH) -o $@ $^ $(LDLIBS) subtitletest: $(subtitletest_SRCS) libsubtitleclient.so $(CXX) $(CFLAGS) $(subtitleclient_HEADERS) $(subtitle_HEADERS) -L$(LOCAL_PATH) \ -lsubtitleclient $(LDFLAGS) -o $@ $^ $(LDLIBS) all: $(BUILD_TARGETS) clean: rm -f *.o $(BUILD_TARGETS) install: install -m 0644 libsubtitle.so $(TARGET_DIR)/usr/lib/ install -m 0644 libsubtitleclient.so $(TARGET_DIR)/usr/lib install -m 755 subtitleservice $(TARGET_DIR)/usr/bin/ install -m 755 subtitletest $(TARGET_DIR)/usr/bin/ uninstall: rm -f $(TARGET_DIR)/usr/lib/libsubtitleclient.so rm -f $(TARGET_DIR)/usr/lib/libsubtitle.so rm -f $(TARGET_DIR)/usr/bin/subtitletest rm -f $(TARGET_DIR)/usr/bin/subtitleservice