################################################################################ # # aml_pqserver # ################################################################################ OUT_DIR ?= . LOCAL_PATH = $(shell pwd) LDFLAGS += -Wl,--no-as-needed -lstdc++ -lpthread -lz -ldl -lrt -L$(STAGING_DIR)/usr/lib CFLAGS += -Wall -Werror -Wno-unknown-pragmas -Wno-format -Wno-format-security -Wno-error=unused-result \ -O3 -fexceptions -fnon-call-exceptions -D_GNU_SOURCE -I$(STAGING_DIR)/usr/include MIN_GCC_VERSION = "10" GCC_VERSION := "`$(CC) -dumpversion | cut -f1 -d'.'`" IS_GCC_ABOVE_MIN_VERSION := $(shell expr "$(GCC_VERSION)" ">=" "$(MIN_GCC_VERSION)") ifeq "$(IS_GCC_ABOVE_MIN_VERSION)" "1" CFLAGS += -std=gnu++20 endif LIBBINDER_LDFLAGS = -lbinder -llog LDFLAGS += $(LIBBINDER_LDFLAGS) LDFLAGS += -L $(OUT_DIR)/ ################################################################################ # libpq.so - src files ################################################################################ pq_SRCS = \ $(LOCAL_PATH)/libpq/CPQdb.cpp \ $(LOCAL_PATH)/libpq/COverScandb.cpp \ $(LOCAL_PATH)/libpq/CPQControl.cpp \ $(LOCAL_PATH)/libpq/CSqlite.cpp \ $(LOCAL_PATH)/libpq/SSMAction.cpp \ $(LOCAL_PATH)/libpq/SSMHandler.cpp \ $(LOCAL_PATH)/libpq/SSMHeader.cpp \ $(LOCAL_PATH)/libpq/CDevicePollCheckThread.cpp \ $(LOCAL_PATH)/libpq/CPQFile.cpp \ $(LOCAL_PATH)/libpq/CEpoll.cpp \ $(LOCAL_PATH)/libpq/CDynamicBackLight.cpp \ $(LOCAL_PATH)/libpq/CConfigFile.cpp \ $(LOCAL_PATH)/libpq/UEventObserver.cpp \ $(LOCAL_PATH)/libpq/CVdin.cpp \ $(LOCAL_PATH)/libpq/CAmdolbyVision.cpp \ $(LOCAL_PATH)/libpq/GammaOperation.cpp \ $(LOCAL_PATH)/libpq/CPQDataBase/CPQDataBase.cpp \ $(LOCAL_PATH)/libpq/CPQDataBase/WhitebalanceDataBase.cpp \ $(LOCAL_PATH)/libpq/CPQDataBase/LibTableOSD/PQTableOSD.cpp \ $(LOCAL_PATH)/libpq/CPQDataBase/LibTableOSD/PQTableLoaderOSD.cpp \ $(LOCAL_PATH)/libpq/CPQDataBase/LibTableOSD/AML_PQ_OSD_Table_Public.cpp \ $(LOCAL_PATH)/libpq/CPQDataBase/SyncDataBase.cpp \ $(LOCAL_PATH)/libpq/CHlgToneMapping.cpp \ $(LOCAL_PATH)/common/CPQLog.cpp \ $(NULL) pq_HEADERS = \ -I$(LOCAL_PATH)/libpq/include \ -I$(LOCAL_PATH)/libpq/CPQDataBase \ -I$(LOCAL_PATH)/libpq/CPQDataBase/LibTableOSD \ -I$(LOCAL_PATH)/halpq/hal_inc \ $(NULL) ################################################################################ # libpqclient.so - src files ################################################################################ pqclient_SRCS = \ $(LOCAL_PATH)/client/PqClient.cpp \ $(LOCAL_PATH)/common/CPQLog.cpp \ $(NULL) pqcommon_HEADERS = \ -I$(LOCAL_PATH)/include \ -I$(LOCAL_PATH)/common \ $(NULL) ################################################################################ # pqservice - src files ################################################################################ pqservice_SRCS = \ $(LOCAL_PATH)/service/main_pqservice.cpp \ $(LOCAL_PATH)/service/PqService.cpp \ $(NULL) ################################################################################ # pqtest - src files ################################################################################ pqtest_SRCS = \ $(LOCAL_PATH)/test/main_pqtest.cpp \ $(NULL) ################################################################################ # pqcbtest - src files ################################################################################ pqcbtest_SRCS = \ $(LOCAL_PATH)/test/main_callback_test.cpp \ $(NULL) # --------------------------------------------------------------------- # Build rules BUILD_TARGETS = libpqclient.so libpq.so pqservice pqtest pqcbtest BUILD_TARGETS_FULLPATH := $(patsubst %, $(OUT_DIR)/%, $(BUILD_TARGETS)) .PHONY: build_halpq all install uninstall clean build_halpq: @echo "Building HAL libraries..." $(MAKE) -C $(LOCAL_PATH)/halpq/hal_src/adaptor/src $(MAKE) -C $(LOCAL_PATH)/halpq/hal_src/libs $(MAKE) -C $(LOCAL_PATH)/halpq/hal_src/libs/vpq $(MAKE) -C $(LOCAL_PATH)/halpq/hal_src HAL_LIB_PATH = -L$(OUT_DIR) HAL_LIBS = -l_hal_ld -l_hal_lcd -l_hal_amdv -l_hal_vdin -l_hal_pq -l_hal_display libpqclient.so: $(pqclient_SRCS) $(CC) $(CFLAGS) $(LDFLAGS) -shared -fPIC $(pqcommon_HEADERS) \ -o $(OUT_DIR)/$@ $^ $(LDLIBS) libpq.so: $(pq_SRCS) | build_halpq $(CC) $(CFLAGS) $(LDFLAGS) -shared -fPIC -lsqlite3 -lubootenv $(pq_HEADERS) $(pqcommon_HEADERS) \ -Wl,-rpath-link,$(OUT_DIR) \ -o $(OUT_DIR)/$@ $^ \ $(HAL_LIB_PATH) $(HAL_LIBS) \ $(LDLIBS) pqservice: $(pqservice_SRCS) libpq.so $(CC) $(CFLAGS) $(LDFLAGS) $(pq_HEADERS) $(pqcommon_HEADERS) \ -Wl,-rpath-link,$(OUT_DIR) \ -L$(LOCAL_PATH) -lpq -o $(OUT_DIR)/$@ $(filter-out %.so,$^) $(LDLIBS) pqtest: $(pqtest_SRCS) libpqclient.so $(CC) $(CFLAGS) $(pqcommon_HEADERS) -L$(LOCAL_PATH) \ -lpqclient $(LDFLAGS) -o $(OUT_DIR)/$@ $(filter-out %.so,$^) $(LDLIBS) pqcbtest: $(pqcbtest_SRCS) libpqclient.so $(CC) $(CFLAGS) $(pqcommon_HEADERS) -L$(LOCAL_PATH) \ -lpqclient $(LDFLAGS) -o $(OUT_DIR)/$@ $(filter-out %.so,$^) $(LDLIBS) all: $(BUILD_TARGETS) clean: rm -f $(OUT_DIR)/*.o $(BUILD_TARGETS_FULLPATH) install: install -m 0644 $(OUT_DIR)/libpqclient.so $(TARGET_DIR)/usr/lib install -m 0644 $(OUT_DIR)/libpq.so $(TARGET_DIR)/usr/lib/ install -m 755 $(OUT_DIR)/pqservice $(TARGET_DIR)/usr/bin/ install -m 755 $(OUT_DIR)/pqtest $(TARGET_DIR)/usr/bin/ install -m 755 $(OUT_DIR)/pqcbtest $(TARGET_DIR)/usr/bin/ uninstall: rm -f $(TARGET_DIR)/usr/lib/libpqclient.so rm -f $(TARGET_DIR)/usr/lib/libpq.so rm -f $(TARGET_DIR)/usr/bin/pqtest rm -f $(TARGET_DIR)/usr/bin/pqcbtest rm -f $(TARGET_DIR)/usr/bin/pqservice