Files
2026-08-24 10:03:24 +08:00

222 lines
10 KiB
Plaintext

################################################################################
#
# 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