################################################################ # DST HAL Makefile # ################################################################/ # set TOP_DIR variable at the head of each makefile. # this is "ROOT" of source tree. # TOP_DIR = ../.. CUR_DIR = . #$(warning TOP_DIR is '$(TOP_DIR)') DST_PLATFORM_DEFINES += \ CA_TYPE=NONE \ NDS_LIB=NONE \ XRPC_MODULES_SERVER \ QC_svpldi \ QC_reset \ QC_qc_tests \ QC_nskldi \ QC_nskhal \ QC_harm_tests \ QC_cahdiver \ SOCKET_GLUE_SERVER \ MS_C_STDLIB \ MS_BOARD_TYPE_SEL=BD_MST124A_D01A_S \ MS_DVB_TYPE_SEL=INTERNAL_DVBT \ ENABLE_DEBUG=1 \ STB_ENABLE=1 \ FBL_ENABLE=0 \ MBOOT_LOGO_ENABLE=0 \ MSOS_TYPE_ECOS \ ENABLE_AESDMA \ MS_DEBUG DHL_DIR = $(TOP_DIR)/dhl DLIB_DIR = $(TOP_DIR)/dlib OBJ_DIR = $(CUR_DIR)/../obj #$(warning OBJ_DIR is '$(OBJ_DIR)') TARGET = $(TOP_DIR)/obj/libdstdhl.a # include cross-compiler definitions # cafrii 090715, use our own tools.mak for easy customization. include $(TOP_DIR)/build/tools.mak CFLAGS += $(foreach i,$(DST_PLATFORM_DEFINES),-D$(i)) ifeq ($(fe_sal), y) CFLAGS += -D_FE_DTQS22DDP101A_LG else ifeq ($(fe_sbl), y) CFLAGS += -D_FE_DTQS22DDP101B_LG else ifeq ($(fe_lgl), y) CFLAGS += -D_FE_LGH952F_LG else ifeq ($(fe_sas), y) CFLAGS += -D_FE_DTQS22DDP101A_SS else ifeq ($(fe_sbs), y) CFLAGS += -D_FE_DTQS22DDP101B_SS else ifeq ($(fe_lgs), y) CFLAGS += -D_FE_LGH952F_SS else endif # # Source files # DHL_SRC := # just to emphasize in source insight's syntax-highliting DHL_SRC += \ DHL_OSAL.c \ DHL_OSAL_Print.c \ DHL_DBG.c \ DHL_DBG_Print.c \ DHL_DBG_Shell.c \ DHL_DBG_Symbols.c \ DHL_UTL.c \ DHL_Timer.c \ DHL_SYS.c \ DHL_DEV_Platform.c \ DHL_FE.c \ DHL_FE_Platform.c \ DHL_Demux.c \ DHL_AVCAP.c \ DHL_PSI.c \ DHL_PSI_Impl.c \ DHL_PSI_Rx.c \ DHL_Graphic.c \ DHL_Graphic_Platform.c \ DHL_UIO.c \ DHL_UIO_Platform.c \ DHL_NVM.c \ DHL_COM.c \ DHL_Main.c ifeq ($(fe_sal), y) DHL_SRC += \ DHL_FE_Platform_dtqs22ddp101a.c \ SemcoMXL201.c \ MxL201RF_API.c \ MxL201RF.c \ MxL_User_Define.c \ UserDefinedIIC.c \ DHL_FE_Platform_lg3305.c \ LG3305.c else ifeq ($(fe_sbl), y) DHL_SRC += \ DHL_FE_Platform_dtqs22ddp101b.c \ MxL601_OEM_Drv.c \ MxL601_TunerApi.c \ MxL601_TunerCfg.c \ MxL601_TunerSpurTable.c \ SemcoMxL601.c \ UserDefinedIIC2.c \ DHL_FE_Platform_lg3305.c \ LG3305.c else ifeq ($(fe_lgl), y) DHL_SRC += \ DHL_FE_Platform_lgh952f.c \ DHL_FE_Platform_lg3305.c \ LG3305.c else ifeq ($(fe_sas), y) DHL_SRC += \ DHL_FE_Platform_dtqs22ddp101a.c \ SemcoMXL201.c \ MxL201RF_API.c \ MxL201RF.c \ MxL_User_Define.c \ UserDefinedIIC.c \ DHL_FE_Platform_s5h1411.c \ S5H1411.c else ifeq ($(fe_sbs), y) DHL_SRC += \ DHL_FE_Platform_dtqs22ddp101b.c \ MxL601_OEM_Drv.c \ MxL601_TunerApi.c \ MxL601_TunerCfg.c \ MxL601_TunerSpurTable.c \ SemcoMxL601.c \ UserDefinedIIC2.c \ DHL_FE_Platform_s5h1411.c \ S5H1411.c else ifeq ($(fe_lgs), y) DHL_SRC += \ DHL_FE_Platform_lgh952f.c \ DHL_FE_Platform_s5h1411.c \ S5H1411.c else endif # cafrii bugfix. relative path should be based on source code. so, use absolute path. SRC_DIR += \ $(DHL_DIR)/src \ $(DHL_DIR)/src/devices/lg3305 \ $(DHL_DIR)/src/devices/dtqs22ddp101a \ $(DHL_DIR)/src/devices/dtqs22ddp101b \ $(DHL_DIR)/src/devices/S5H1411 INC_DIRS += \ $(DRIVER_ROOT)/ecos/ecos_k1_34kf_net_fileio_posix_fat_c++_mipsisa32_552/include \ $(DRIVER_ROOT)/cus_mstar/project/mstar_demo \ $(DRIVER_ROOT)/cus_mstar/project/mstar_demo/include \ $(DRIVER_ROOT)/cus_mstar/project/mstar_demo/include/chip \ $(DRIVER_ROOT)/cus_mstar/platform/driver/iic \ $(DRIVER_ROOT)/cus_mstar/platform/driver/emac \ $(DRIVER_ROOT)/cus_mstar/platform/driver/pad \ $(DRIVER_ROOT)/cus_mstar/platform/driver/FrontPnl \ $(DRIVER_ROOT)/cus_mstar/platform/driver/IR \ $(DRIVER_ROOT)/cus_mstar/platform/driver/scart \ $(DRIVER_ROOT)/cus_mstar/platform/driver/demod \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend \ $(DRIVER_ROOT)/cus_mstar/platform/driver/driver/frontend/inc \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/MxL5007T_API_Files_V4.1.3 \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/tmbslTDA18250/src \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/tmbslTDA18250/inc \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/tmddTDA18250/inc \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/tmddTDA18250/src \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/MXL201RF \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/NT220x/inc \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/NT220x/tmbslNT220x/inc \ $(DRIVER_ROOT)/cus_mstar/platform/driver/frontend/DIB8096 \ $(DRIVER_ROOT)/cus_mstar/platform/driver/pq/include \ $(DRIVER_ROOT)/cus_mstar/platform/driver/pq/hal/k1_mstar/include \ $(DRIVER_ROOT)/cus_mstar/api/vdec \ $(DRIVER_ROOT)/cus_mstar/api/xc \ $(DRIVER_ROOT)/cus_mstar/api/gpio \ $(DRIVER_ROOT)/cus_mstar/api/frontend \ $(DRIVER_ROOT)/cus_mstar/api/lan \ $(DRIVER_ROOT)/cus_mstar/api/XML/expat-2.0.1 \ $(DRIVER_ROOT)/cus_mstar/app/demo \ $(DRIVER_ROOT)/bsp/include \ $(DRIVER_ROOT)/bsp/lib/fw \ $(DHL_DIR)/api/include \ $(DLIB_DIR)/src/PNG \ $(DLIB_DIR)/src/uiofilter # SRC_DIR °ú INC_DIRS¸¦ ±¸ºÐÇØ¼­ »ç¿ëÇÑ´Ù. # SRC_DIRÀº VPATH ¿¡ Ãß°¡µÇ°í, INC_DIRS´Â CFLAGS ¿¡ -Ixx ¿Í °°Àº ÇüÅ·ΠÃß°¡µÈ´Ù. # VPATH = $(SRC_DIR) #vpath %.h $(VPATH) #vpath %.c $(VPATH) #vpath %.S $(VPATH) CFLAGS += $(addprefix -I,$(SRC_DIR)) $(addprefix -I,$(INC_DIRS)) DHL_OBJS = $(foreach DHL_SRC, $(DHL_SRC), $(OBJ_DIR)/$(notdir $(DHL_SRC:.c=.o))) # # The targets # .PHONY : all dhl clean clean-dhl all : dhl # skip showing cflags for simple output. dhl : checkobjdir $(DHL_OBJS) #show_cflags $(Q_)$(ECHO) "++++++++ Archiving \"$(notdir $(TARGET))\" Library" $(Q_)rm -f $(TARGET) $(Q_)$(AR) crus $(TARGET) $(DHL_OBJS) show_cflags : $(Q_)$(ECHO) CFLAGS = $(filter-out -I% -D%, $(CFLAGS)) $(OBJ_DIR)/%.o: %.c $(CC) $(CFLAGS) -c $< -o $@ # $(Q_)$(CCDV) $(CC) $(CFLAGS) -c $< -o $@ # dependency¸¦ Çѹø¿¡ ¸¸µé¾îÁÖÁö ¸øÇϹǷÎ, º°µµÀÇ cc ÀÛ¾÷À» ÅëÇØ .d ÆÄÀÏ »ý¼ºÇÑ´Ù. # armcc °¡ »ý¼ºÇÑ rule¿¡´Â ¸ðµÎ backslash°¡ »ç¿ëµÇ¾î¼­ À̸¦ slash·Î Ä¡È¯ÇØÁà¾ß ÇÔ. # ccdv°¡ °É·¯Áá´ø ¸Þ½ÃÁö°¡ ¿©±â¼­´Â º¸ÀÏ ¼ö ÀÖÀ½. stderr Ãâ·ÂÀº º¸ÀÌÁö ¾Êµµ·Ï ¸·ÀÚ. # $(Q_)$(CC) -M $(CFLAGS) -c $< -o $@ 2> /dev/null | sed 's,\\,/,g' > $(patsubst %.o,%.d,$@) clean clean-dhl: $(Q_)$(RM) -f $(TARGET) $(OBJ_DIR)/*.o $(OBJ_DIR)/*.d $(OBJ_DIR)/*.map $(OBJ_DIR)/*~ core $(OBJ_DIR)/*.elf $(OBJ_DIR)/*.bin $(OBJ_DIR)/*.dis $(OBJ_DIR)/*.lst $(Q_)$(RM) -f $(CONFIG_TMP) checkobjdir: $(Q_)test -d $(OBJ_DIR) || (echo "mkdir $(OBJ_DIR)"; mkdir -p $(OBJ_DIR)) $(Q_)test -d $(TOP_DIR)/obj || (echo "mkdir $(TOP_DIR)/obj"; mkdir -p $(TOP_DIR)/obj) # # Include all the depends # -include $(OBJ_DIR)/*.d