| 1 | ################################################################ |
|---|
| 2 | # DST APP Makefile |
|---|
| 3 | # |
|---|
| 4 | ################################################################/ |
|---|
| 5 | |
|---|
| 6 | |
|---|
| 7 | # set TOP_DIR variable at the head of each makefile. |
|---|
| 8 | # this is "ROOT" of source tree. |
|---|
| 9 | # |
|---|
| 10 | TOP_DIR = ../.. |
|---|
| 11 | CUR_DIR = . |
|---|
| 12 | #$(warning TOP_DIR is '$(TOP_DIR)') |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | DST_PLATFORM_DEFINES += \ |
|---|
| 16 | CA_TYPE=NONE \ |
|---|
| 17 | NDS_LIB=NONE \ |
|---|
| 18 | XRPC_MODULES_SERVER \ |
|---|
| 19 | QC_svpldi \ |
|---|
| 20 | QC_reset \ |
|---|
| 21 | QC_qc_tests \ |
|---|
| 22 | QC_nskldi \ |
|---|
| 23 | QC_nskhal \ |
|---|
| 24 | QC_harm_tests \ |
|---|
| 25 | QC_cahdiver \ |
|---|
| 26 | SOCKET_GLUE_SERVER \ |
|---|
| 27 | MS_C_STDLIB \ |
|---|
| 28 | MS_BOARD_TYPE_SEL=BD_MST124A_D01A_S \ |
|---|
| 29 | MS_DVB_TYPE_SEL=INTERNAL_DVBT \ |
|---|
| 30 | ENABLE_DEBUG=1 \ |
|---|
| 31 | STB_ENABLE=1 \ |
|---|
| 32 | FBL_ENABLE=0 \ |
|---|
| 33 | MBOOT_LOGO_ENABLE=0 \ |
|---|
| 34 | MSOS_TYPE_ECOS \ |
|---|
| 35 | ENABLE_AESDMA \ |
|---|
| 36 | MS_DEBUG |
|---|
| 37 | |
|---|
| 38 | |
|---|
| 39 | DHL_DIR = $(TOP_DIR)/dhl |
|---|
| 40 | DLIB_DIR = $(TOP_DIR)/dlib |
|---|
| 41 | DMW_DIR = $(TOP_DIR)/dmw |
|---|
| 42 | APP_DIR = $(TOP_DIR)/app |
|---|
| 43 | OBJ_DIR = $(CUR_DIR)/../obj |
|---|
| 44 | #$(warning OBJ_DIR is '$(OBJ_DIR)') |
|---|
| 45 | |
|---|
| 46 | |
|---|
| 47 | TARGET = $(TOP_DIR)/obj/libdstapp.a |
|---|
| 48 | |
|---|
| 49 | |
|---|
| 50 | # include cross-compiler definitions |
|---|
| 51 | # cafrii 090715, use our own tools.mak for easy customization. |
|---|
| 52 | include $(TOP_DIR)/build/tools.mak |
|---|
| 53 | |
|---|
| 54 | |
|---|
| 55 | CFLAGS += $(foreach i,$(DST_PLATFORM_DEFINES),-D$(i)) |
|---|
| 56 | |
|---|
| 57 | |
|---|
| 58 | # |
|---|
| 59 | # Source files |
|---|
| 60 | # |
|---|
| 61 | APP_SRC_C := # just to emphasize in source insight's syntax-highliting |
|---|
| 62 | APP_SRC_C += \ |
|---|
| 63 | $(APP_DIR)/src/Function/App_Fnc_Audio.c \ |
|---|
| 64 | $(APP_DIR)/src/Function/App_Fnc_AutoScan.c \ |
|---|
| 65 | $(APP_DIR)/src/Function/App_Fnc_CC.c \ |
|---|
| 66 | $(APP_DIR)/src/Function/App_Fnc_ChTune.c \ |
|---|
| 67 | $(APP_DIR)/src/Function/App_Fnc_DigitKeyProc.c \ |
|---|
| 68 | $(APP_DIR)/src/Function/App_Fnc_EA2.c \ |
|---|
| 69 | $(APP_DIR)/src/Function/App_Fnc_EPG.c \ |
|---|
| 70 | $(APP_DIR)/src/Function/App_Fnc_NvRam.c \ |
|---|
| 71 | $(APP_DIR)/src/Function/App_Fnc_Pod.c \ |
|---|
| 72 | $(APP_DIR)/src/Function/App_Fnc_Power.c \ |
|---|
| 73 | $(APP_DIR)/src/Function/App_Fnc_Rating.c \ |
|---|
| 74 | $(APP_DIR)/src/Function/App_Fnc_RfUpdate.c \ |
|---|
| 75 | $(APP_DIR)/src/Function/App_Fnc_RRT.c \ |
|---|
| 76 | $(APP_DIR)/src/Function/App_Fnc_Sdds2.c \ |
|---|
| 77 | $(APP_DIR)/src/Function/App_Fnc_SignalMonitor.c \ |
|---|
| 78 | $(APP_DIR)/src/Function/App_Fnc_Time.c \ |
|---|
| 79 | $(APP_DIR)/src/Function/App_Fnc_Ucm.c \ |
|---|
| 80 | $(APP_DIR)/src/Function/App_Fnc_Video.c \ |
|---|
| 81 | $(APP_DIR)/src/Function/App_Fnc_Comm.c \ |
|---|
| 82 | $(APP_DIR)/src/Function/App_Fnc_Dummy.c \ |
|---|
| 83 | $(APP_DIR)/src/Main/App_Debug.c \ |
|---|
| 84 | $(APP_DIR)/src/Main/App_Main.c \ |
|---|
| 85 | $(APP_DIR)/src/Main/App_Version.c \ |
|---|
| 86 | $(APP_DIR)/src/Main/App_Map.c \ |
|---|
| 87 | $(APP_DIR)/src/kview/OSD/App_OSD_Banner.c \ |
|---|
| 88 | $(APP_DIR)/src/kview/OSD/App_OSD_ChEdit.c \ |
|---|
| 89 | $(APP_DIR)/src/kview/OSD/App_OSD_Common.c \ |
|---|
| 90 | $(APP_DIR)/src/kview/OSD/App_OSD_Epg2.c \ |
|---|
| 91 | $(APP_DIR)/src/kview/OSD/App_OSD_Main.c \ |
|---|
| 92 | $(APP_DIR)/src/kview/OSD/App_OSD_Pod.c \ |
|---|
| 93 | $(APP_DIR)/src/kview/OSD/App_OSD_RRT.c \ |
|---|
| 94 | $(APP_DIR)/src/kview/OSD/App_OSD_Scan.c \ |
|---|
| 95 | $(APP_DIR)/src/kview/OSD/App_OSD_Factory.c \ |
|---|
| 96 | $(APP_DIR)/src/kview/OSD/App_OSD_SetupWizard.c \ |
|---|
| 97 | $(APP_DIR)/src/kview/Proc/App_Proc_Banner.c \ |
|---|
| 98 | $(APP_DIR)/src/kview/Proc/App_Proc_CC.c \ |
|---|
| 99 | $(APP_DIR)/src/kview/Proc/App_Proc_ChEdit.c \ |
|---|
| 100 | $(APP_DIR)/src/kview/Proc/App_Proc_Epg2.c \ |
|---|
| 101 | $(APP_DIR)/src/kview/Proc/App_Proc_Etc.c \ |
|---|
| 102 | $(APP_DIR)/src/kview/Proc/App_Proc_Html.c \ |
|---|
| 103 | $(APP_DIR)/src/kview/Proc/App_Proc_Idle.c \ |
|---|
| 104 | $(APP_DIR)/src/kview/Proc/App_Proc_Init.c \ |
|---|
| 105 | $(APP_DIR)/src/kview/Proc/App_Proc_Main.c \ |
|---|
| 106 | $(APP_DIR)/src/kview/Proc/App_Proc_Rating.c \ |
|---|
| 107 | $(APP_DIR)/src/kview/Proc/App_Proc_RRT.c \ |
|---|
| 108 | $(APP_DIR)/src/kview/Proc/App_Proc_Scan.c \ |
|---|
| 109 | $(APP_DIR)/src/kview/Proc/App_Proc_Power.c \ |
|---|
| 110 | $(APP_DIR)/src/kview/Proc/App_Proc_Factory.c \ |
|---|
| 111 | $(APP_DIR)/src/kview/Proc/App_Proc_ServiceMenu.c \ |
|---|
| 112 | $(APP_DIR)/src/kview/Proc/App_Proc_SetupWizard.c \ |
|---|
| 113 | $(APP_DIR)/src/kview/Resource/App_Res_Png.c |
|---|
| 114 | |
|---|
| 115 | |
|---|
| 116 | # cafrii bugfix. relative path should be based on source code. so, use absolute path. |
|---|
| 117 | SRC_DIR += \ |
|---|
| 118 | $(APP_DIR)/src/Main \ |
|---|
| 119 | $(APP_DIR)/src/Function \ |
|---|
| 120 | $(APP_DIR)/src/kview/OSD \ |
|---|
| 121 | $(APP_DIR)/src/kview/Proc \ |
|---|
| 122 | $(APP_DIR)/src/kview/Resource |
|---|
| 123 | |
|---|
| 124 | |
|---|
| 125 | INC_DIRS += \ |
|---|
| 126 | $(DHL_DIR)/src \ |
|---|
| 127 | $(DHL_DIR)/api/include \ |
|---|
| 128 | $(DLIB_DIR)/src/si \ |
|---|
| 129 | $(DLIB_DIR)/src/osx \ |
|---|
| 130 | $(DLIB_DIR)/src/uiofilter \ |
|---|
| 131 | $(DLIB_DIR)/src/PNG \ |
|---|
| 132 | $(DLIB_DIR)/src/ZLIB \ |
|---|
| 133 | $(DMW_DIR)/src/include \ |
|---|
| 134 | $(DMW_DIR)/src/System \ |
|---|
| 135 | $(DMW_DIR)/src/EPG \ |
|---|
| 136 | $(DMW_DIR)/src/Channel \ |
|---|
| 137 | $(DMW_DIR)/src/EPG \ |
|---|
| 138 | $(DMW_DIR)/src/psi \ |
|---|
| 139 | $(DMW_DIR)/src/cc \ |
|---|
| 140 | $(DMW_DIR)/src/grp \ |
|---|
| 141 | $(DMW_DIR)/src/grp/jungle_font \ |
|---|
| 142 | $(DMW_DIR)/src/grp/BMF |
|---|
| 143 | |
|---|
| 144 | |
|---|
| 145 | # SRC_DIR °ú INC_DIRS¸¦ ±¸ºÐÇØ¼ »ç¿ëÇÑ´Ù. |
|---|
| 146 | # SRC_DIRÀº VPATH ¿¡ Ãß°¡µÇ°í, INC_DIRS´Â CFLAGS ¿¡ -Ixx ¿Í °°Àº ÇüÅ·ΠÃß°¡µÈ´Ù. |
|---|
| 147 | # |
|---|
| 148 | |
|---|
| 149 | VPATH = $(SRC_DIR) |
|---|
| 150 | |
|---|
| 151 | #vpath %.h $(VPATH) |
|---|
| 152 | #vpath %.c $(VPATH) |
|---|
| 153 | #vpath %.S $(VPATH) |
|---|
| 154 | |
|---|
| 155 | |
|---|
| 156 | CFLAGS += $(addprefix -I,$(SRC_DIR)) $(addprefix -I,$(INC_DIRS)) |
|---|
| 157 | |
|---|
| 158 | APP_OBJS = $(foreach APP_SRC_C, $(APP_SRC_C), $(OBJ_DIR)/$(notdir $(APP_SRC_C:.c=.o))) |
|---|
| 159 | |
|---|
| 160 | |
|---|
| 161 | # |
|---|
| 162 | # The targets |
|---|
| 163 | # |
|---|
| 164 | .PHONY : all app clean clean-app |
|---|
| 165 | |
|---|
| 166 | |
|---|
| 167 | all : app |
|---|
| 168 | |
|---|
| 169 | |
|---|
| 170 | |
|---|
| 171 | # skip showing cflags for simple output. |
|---|
| 172 | app : checkobjdir $(APP_OBJS) #show_cflags |
|---|
| 173 | $(Q_)$(ECHO) "++++++++ Archiving \"$(notdir $(TARGET))\" Library" |
|---|
| 174 | $(Q_)rm -f $(TARGET) |
|---|
| 175 | $(Q_)$(AR) crus $(TARGET) $(APP_OBJS) |
|---|
| 176 | |
|---|
| 177 | show_cflags : |
|---|
| 178 | $(Q_)$(ECHO) CFLAGS = $(filter-out -I% -D%, $(CFLAGS)) |
|---|
| 179 | |
|---|
| 180 | $(OBJ_DIR)/%.o: %.c |
|---|
| 181 | $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 182 | # $(Q_)$(CCDV) $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 183 | # dependency¸¦ Çѹø¿¡ ¸¸µé¾îÁÖÁö ¸øÇϹǷÎ, º°µµÀÇ cc ÀÛ¾÷À» ÅëÇØ .d ÆÄÀÏ »ý¼ºÇÑ´Ù. |
|---|
| 184 | # armcc °¡ »ý¼ºÇÑ rule¿¡´Â ¸ðµÎ backslash°¡ »ç¿ëµÇ¾î¼ À̸¦ slash·Î Ä¡È¯ÇØÁà¾ß ÇÔ. |
|---|
| 185 | # ccdv°¡ °É·¯Áá´ø ¸Þ½ÃÁö°¡ ¿©±â¼´Â º¸ÀÏ ¼ö ÀÖÀ½. stderr Ãâ·ÂÀº º¸ÀÌÁö ¾Êµµ·Ï ¸·ÀÚ. |
|---|
| 186 | # $(Q_)$(CC) -M $(CFLAGS) -c $< -o $@ 2> /dev/null | sed 's,\\,/,g' > $(patsubst %.o,%.d,$@) |
|---|
| 187 | |
|---|
| 188 | clean clean-app: |
|---|
| 189 | $(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 |
|---|
| 190 | $(Q_)$(RM) -f $(CONFIG_TMP) |
|---|
| 191 | |
|---|
| 192 | checkobjdir: |
|---|
| 193 | $(Q_)test -d $(OBJ_DIR) || (echo "mkdir $(OBJ_DIR)"; mkdir -p $(OBJ_DIR)) |
|---|
| 194 | $(Q_)test -d $(TOP_DIR)/obj || (echo "mkdir $(TOP_DIR)/obj"; mkdir -p $(TOP_DIR)/obj) |
|---|
| 195 | |
|---|
| 196 | |
|---|
| 197 | # |
|---|
| 198 | # Include all the depends |
|---|
| 199 | # |
|---|
| 200 | -include $(OBJ_DIR)/*.d |
|---|
| 201 | |
|---|
| 202 | |
|---|