123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- #include UCLICDIR and CROSS
- include ../Makefile.project
- include ../Makefile.toolchain
- #***************************************************************************
- # Define Environment Variables
- #***************************************************************************
- CC = gcc
- CFLAGS += -isystem $(UCLIBCDIR)/usr/include -I../../../kernel/linux/include -I../../include
- CFLAGS += -D_GNU_SOURCE
- ifeq ($(APP_FOLDER_NAME), rda_dtv)
- RESOURCES_LAN_NAME = resources_8bpp
- else
- RESOURCES_LAN_NAME = resources
- endif
- #***************************************************************************
- # Define Compile Macros
- #***************************************************************************
- # Target library name
- TARGET_STATIC = ../lib/libcustomization.a
- IR_NUM = $(shell grep "CONFIG_ROMOTE_CTL_NUM" ../../project.h | grep -o '[0-9]*')
- #***************************************************************************
- # Include
- #***************************************************************************
- INCLUDE += -I../include \
- -I../../drivers/include \
- -I./$(CUSTOMER_NAME)/public/ir_tx \
- -I./$(CUSTOMER_NAME)/public/ir_set \
- -I./$(CUSTOMER_NAME)/public/ir \
- -I./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME) \
- -I../application/daemon/include \
- -I../include/middleware/display \
- -I../include/gsl \
- -I../include/middleware/ioctl_interface \
- -I../include/middleware/database \
- -I../include/middleware/dtv/dtvscan \
- -I../include/middleware/dtv/dtvcommon \
- -I../include/middleware/dtv/dtvsipsi \
- -I../include/middleware/atv/atv_scan \
- -I../include/middleware/dtv/dtvepg \
- -I../include/middleware/tvfe \
- -I../include/middleware/media \
- -I../include/app_infra \
- -I../application/$(APPDIR_NAME)/function/app_common_api/include \
- -I../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/include/app_common_api \
- -I../application/app_frmwrk/dvb/include \
- -I../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/include \
- -I../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/include/guiobj \
- -I../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/atv/include/app_atv_api \
- -I./$(CUSTOMER_NAME)/$(BOARD_NAME)/adaptable \
- -I./$(CUSTOMER_NAME)/$(CONFIG_MODEL_BOARD_NAME)/nvmem \
- -I./$(CUSTOMER_NAME)/public/panel/$(subst ",,$(CONFIG_PANEL_TYPE_DEFAULT_FOLDER)) \
-
- #ifeq ($(CONFIG_STORE_PNL_ID_2PNLBIN),y)
- INCLUDE += -I./$(CUSTOMER_NAME)/public/panel/
- #endif
- include ./$(CUSTOMER_NAME)/public/ir_tx/ir_txinclude.in
- include ./$(CUSTOMER_NAME)/public/ir/irinclude.in
- #***************************************************************************
- # Please add those files follow "DRV_CUSTOMERFILES_B" or "DRV_CUSTOMERFILES_C" if
- # 1. they are prepared for drivers
- # 2. drivers used only
- # 3. will be packed to binary file
- # DRV_CUSTOMERFILES_B means those files locate at board path.
- # DRV_CUSTOMERFILES_C means those files locate at SubSubCustomer path.
- #***************************************************************************
- DRV_CUSTOMERFILES_B = gpio_table.c \
- 8051_param_table.c \
- cust_system_info.c \
- kmf_share_data.c \
- scart_mapping_table.c \
- keypad_mapping_table.c \
- electricity_pwm_table.c
- DRV_CUSTOMERFILES_B1 = edid.c
- DRV_CUSTOMERFILES_B2 = barcode.c
- ifdef CONFIG_SUPPORT_PROJECT_ID
- DRV_CUSTOMERFILES_B3 = picture_wb_data.c
- endif
- DRV_CUSTOMERFILES_C = video_hdmi_timing_table.c \
- adc_overscan_table.c \
- video_scartRGB_timing_table.c \
- video_pc_timing_table.c \
- aspectRatioTable.c \
- hdmi_overscan_table.c \
- video_hdtv_timing_table.c \
- cvd2_overscan_table.c \
- video_mpeg_timing_table.c \
- mpeg_overscan_table.c \
- video_cvd2_timing_table.c \
-
- DRV_CUSTOMERFILES_WB_C = wbdata.c
- DRV_CUSTOMERFILES_WB = ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/system_setting/$(APP_FOLDER_NAME)/$(DRV_CUSTOMERFILES_WB_C)
- VPATH += ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/system_setting/$(APP_FOLDER_NAME)
- SRCS_LIST += $(addprefix build_, $(DRV_CUSTOMERFILES_WB_C))
- # Source codes
- # all .c files within aps/customer/actually_customer/board/adaptable
- VPATH += ../$(CUSTOMER_BOARD_PATH)/adaptable
- DRV_CUSTOMERFILES_B_WILLBEBUILD = \
- $(foreach file, $(DRV_CUSTOMERFILES_B), $(addprefix build_, $(file)))
- SRCS_LIST += $(DRV_CUSTOMERFILES_B_WILLBEBUILD)
- DRV_CUSTMERFILES_B_WITHPATH = \
- $(foreach file, $(DRV_CUSTOMERFILES_B), $(addprefix ../$(CUSTOMER_BOARD_PATH)/adaptable/, $(file)))
-
- VPATH += ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/edid
- DRV_CUSTOMERFILES_B1_WILLBEBUILD = \
- $(foreach file, $(DRV_CUSTOMERFILES_B1), $(addprefix build_, $(file)))
- SRCS_LIST += $(DRV_CUSTOMERFILES_B1_WILLBEBUILD)
- DRV_CUSTMERFILES_B1_WITHPATH = \
- $(foreach file, $(DRV_CUSTOMERFILES_B1), $(addprefix ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/edid/, $(file)))
- VPATH += ./$(CUSTOMER_NAME)/public/barcode
- DRV_CUSTOMERFILES_B2_WILLBEBUILD = \
- $(foreach file, $(DRV_CUSTOMERFILES_B2), $(addprefix build_, $(file)))
- SRCS_LIST += $(DRV_CUSTOMERFILES_B2_WILLBEBUILD)
- DRV_CUSTMERFILES_B2_WITHPATH = \
- $(foreach file, $(DRV_CUSTOMERFILES_B2), $(addprefix ./$(CUSTOMER_NAME)/public/barcode/, $(file)))
- ifdef CONFIG_SUPPORT_PROJECT_ID
- VPATH += ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/system_setting/$(APP_FOLDER_NAME)
- DRV_CUSTOMERFILES_B3_WILLBEBUILD = \
- $(foreach file, $(DRV_CUSTOMERFILES_B3), $(addprefix build_, $(file)))
- SRCS_LIST += $(DRV_CUSTOMERFILES_B3_WILLBEBUILD)
- DRV_CUSTMERFILES_B3_WITHPATH = \
- $(foreach file, $(DRV_CUSTOMERFILES_B3), $(addprefix ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/system_setting/$(APP_FOLDER_NAME)/, $(file)))
- endif
- # all .c files within aps/customer/actually_customer/subcustomer/subsubcustomer
- VPATH += ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/timing_info/
- DRV_CUSTOMERFILES_C_WILLBEBUILD = \
- $(foreach file, $(DRV_CUSTOMERFILES_C), $(addprefix build_, $(file)))
- SRCS_LIST += $(DRV_CUSTOMERFILES_C_WILLBEBUILD)
- DRV_CUSTMERFILES_C_WITHPATH = \
- $(foreach file, $(DRV_CUSTOMERFILES_C), $(addprefix ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/timing_info/, $(file)))
- # include ir makefile
- include ./$(CUSTOMER_NAME)/public/ir/makefile.ini
- IR_MAP_WILLBEBUILD = \
- $(foreach file, $(IR_MAP), $(addprefix build_, $(file)))
- SRCS_LIST += $(IR_MAP_WILLBEBUILD)
-
- # include panle's makefile
- ifdef PJ
- CONFIG_PANEL_TYPE = $(shell grep ^CONFIG_PANEL_TYPE ../../menuconfig.config | awk 'BEGIN {FS="\""}{print $$2}' | sed 's/=y//g')
- else
- include ./$(CUSTOMER_NAME)/public/panel/makefile.ini
- endif
- #***************************************************************************
- # Build binary file for drivers
- #***************************************************************************
- .PHONY: create_buildfiles gen_customerdata4driver all clean_loop gen_pnltestpattern gen_datasetting gen_gamebin gen_estickerbin
- create_buildfiles:
- ifdef CONFIG_SUPPORT_PROJECT_ID
- @$(MAKE) -C ./$(CUSTOMER_NAME) create_buildfiles
- @$(MAKE) -C ./$(CUSTOMER_NAME) all
- endif
- @../../tools/gen_customertablebefore.pl $(DRV_CUSTMERFILES_B_WITHPATH) $(DRV_CUSTMERFILES_B1_WITHPATH) $(DRV_CUSTMERFILES_B2_WITHPATH) $(DRV_CUSTMERFILES_B3_WITHPATH) $(DRV_CUSTMERFILES_C_WITHPATH) $(IR_MAP_WITHPATH) $(DRV_CUSTOMERFILES_WB)
- gen_customerdata4driver: $(TARGET_STATIC)
- @../../tools/gen_customertableafter.pl -L $(TARGET_STATIC) -F ./customertable.log \
- -T $(OBJCOPY) -O ../$(CUSTOMER_BOARD_PATH)/adaptable/customertable4driver.bin \
- -S "gGPIOTableAux gCust8051ParamTable gMainSysInfo gBootSysInfo gKmfShareData gEDIDtable gBARCodetable pic_wb_data KeypadInfo KeypadFacInfo $(IR_MAP_TABLE) wbdata"
- @cat ../$(CUSTOMER_BOARD_PATH)/adaptable/gGPIOTableAux.bin \
- ../$(CUSTOMER_BOARD_PATH)/adaptable/gCust8051ParamTable.bin \
- > ../$(CUSTOMER_BOARD_PATH)/adaptable/option.bin
- mv ../$(CUSTOMER_BOARD_PATH)/adaptable/gEDIDtable.bin ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/edid/.
- mv ../$(CUSTOMER_BOARD_PATH)/adaptable/gBARCodetable.bin ./$(CUSTOMER_NAME)/public/barcode/.
- $(OBJCOPY) --only-section=.customer.gGPIOTableMain -O binary objs/build_gpio_table.o gGPIOTableMain.bin
- mv gGPIOTableMain.bin ../$(CUSTOMER_BOARD_PATH)/adaptable/
- ifneq ($(IR_NUM), 0)
- mv ../$(CUSTOMER_BOARD_PATH)/adaptable/dIR*.bin ./$(CUSTOMER_NAME)/public/ir/.
- endif
-
- gen_multipanelbin:
- ifdef CONFIG_SUPPORT_PROJECT_ID
- ifdef CONFIG_STORE_FIXEDID_2BIN
- @../../tools/gen_paneltableEx.pl -P ./$(CUSTOMER_NAME)/public/panel/ -B ../$(CUSTOMER_BOARD_PATH)/adaptable/ -L ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/logo \
- -F ./$(CUSTOMER_NAME)/public/panel/$(CONFIG_PANEL_TYPE_DEFAULT_FOLDER) \
- -V `echo $(CONFIG_CHIPID) | sed 's/0x//'` --panel_ini2bin ../../tools/pnlset2bin/pnlset2bin --VIP_ini2bin ../../tools/vip2bin/vip2bin \
- --lzma ../../tools/lzma460/lzma -I $(CONFIG_PANEL_TYPE_DEFAULT_FOLDER)
- else
- $(error Please undefine CONFIG_SUPPORT_PROJECT_ID if not defined CONFIG_STORE_FIXEDID_2BIN !)
- endif
- else
- @../../tools/gen_paneltable.pl -M "$(CONFIG_PANEL_TYPE)" -P ./$(CUSTOMER_NAME)/public/panel/ -B ../$(CUSTOMER_BOARD_PATH)/adaptable/ -L ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/logo \
- -F ./$(CUSTOMER_NAME)/public/panel/$(CONFIG_PANEL_TYPE_DEFAULT_FOLDER) \
- -V `echo $(CONFIG_CHIPID) | sed 's/0x//'` --panel_ini2bin ../../tools/pnlset2bin/pnlset2bin --VIP_ini2bin ../../tools/vip2bin/vip2bin \
- --lzma ../../tools/lzma460/lzma -I $(CONFIG_PANEL_TYPE_DEFAULT_FOLDER) -X "n"
- endif
- gen_pnltestpattern:
- @../../tools/gen_pnltestpattern.sh ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/pnltestpattern
- gen_datasetting:
- echo "gen_datasetting"
- #step1:get data setting struct information
- @gcc -E -p $(INCLUDE) -include $(APSDIR)/include/project.h ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/include/app_common_api/app_data_setting.h -o app_data_setting_E.h
- @../../tools/gen_systemsettingmapping.pl -I app_data_setting_E.h -O ./
- gcc $(INCLUDE) -c -include $(APSDIR)/include/project.h ./syssetting_mapping.c -o data_struct.o
-
- #step2: get data setting date information
- @gcc $(INCLUDE) -c -include $(APSDIR)/include/project.h ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/system_setting/$(APP_FOLDER_NAME)/app_data_setting.c -o data_setting.o
-
- #setp3:update version
- @python ../../tools/gen_dataSettingVersion.py -m ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/system_setting/$(APP_FOLDER_NAME)/app_data_setting.c -d data_setting.o \
- -i data_struct.o \
-
- #setp4:delete temp file
- @rm app_data_setting_E.h
- @rm syssetting_mapping.c
- @rm syssetting_mapping.h
- @rm data_struct.o
- @rm data_setting.o
- gen_gamebin:
- echo "gen_gamebin"
- @python ../../tools/gen_gamebin.py -i ./$(CUSTOMER_NAME)/public/gamerom
- gen_langmode:
- @-rm ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/umf.TV_IDL_.*
- @-rm ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/umflang.ld
- ifndef CONFIG_TV_NEW_UI
- ifeq ($(CONFIG_SUPPORT_64M_DTV), y)
- ifdef CONFIG_ENABLE_UMF_LANGUAGE_MODULES
- echo "gen_langmode"
- python ../../tools/gen_LangMode.py -i ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/$(RESOURCES_LAN_NAME)/string/_TV_IDL_Combine_for64M.c -s ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/$(RESOURCES_LAN_NAME)/string/string_64M.in \
- -m ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/$(RESOURCES_LAN_NAME) -u ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME) \
- -l ../../mergedir -r .. -a ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/include -b ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/include \
- -c ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)
- else
- echo "gen_langmode, just delete temp file. now, s2tek formal old resources need"
- python ../../tools/gen_LangMode.py -i ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/$(RESOURCES_LAN_NAME)/string/_TV_IDL_Combine_for64M.c -s ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/$(RESOURCES_LAN_NAME)/string/string_64M.in \
- -m ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/$(RESOURCES_LAN_NAME) -u ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME) \
- -l ../../mergedir -r .. -a ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/include -b ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME)/include \
- -c ../application/$(CUSTOMER_NAME)/$(APP_FOLDER_NAME) -d yes
- endif
- endif
- else #else<CONFIG_TV_NEW_UI>
- ifdef CONFIG_ENABLE_UMF_LANGUAGE_MODULES
- #TODO
- $(error error:CONFIG_TV_NEW_UI don't support CONFIG_ENABLE_UMF_LANGUAGE_MODULES.please modify menuconfig")
- endif
- endif
- gen_usb_macst:
- echo "gen_usb_macst"
- ifdef CONFIG_SUPPORT_ANDROID_MCAST
- @../../tools/gen_compressmod.pl ../../tools/lzma460/lzma ../middleware/usb_mcast/usb_cast_bin/adb ../middleware/usb_mcast/usb_cast_bin/adb.bin
- endif
- ifdef CONFIG_SUPPORT_IPHONE_ICAST
- @../../tools/gen_compressmod.pl ../../tools/lzma460/lzma ../middleware/usb_mcast/usb_cast_bin/icast ../middleware/usb_mcast/usb_cast_bin/icast.bin
- endif
- gen_estickerbin:
- echo "gen_estickerbin"
- @python ../../tools/gen_esticker.py -i ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/logo/esticker
- all: gen_customerdata4driver
- rm -fr ./*.P ./*.o objs
- rm -fr ../$(CUSTOMER_BOARD_PATH)/adaptable/build_*
- rm -fr ./$(CUSTOMER_NAME)/sub_customer/$(SUBCUSTOMER_NAME)/$(SUBSUBCUSTOMER_NAME)/timing_info/build_*
- clean_loop: clean
- rm -fr $(TARGET_STATIC)
- rm -fr ../$(CUSTOMER_BOARD_PATH)/adaptable/customertable4driver.bin
- # include common make rule
- include ../rules.mak
|