154 lines
5.5 KiB
Makefile
154 lines
5.5 KiB
Makefile
################################################################################
|
|
#
|
|
# 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
|