| 1 | ################################################################ |
|---|
| 2 | # DST MW 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 | OBJ_DIR = $(CUR_DIR)/../obj |
|---|
| 43 | #$(warning OBJ_DIR is '$(OBJ_DIR)') |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | TARGET = $(TOP_DIR)/obj/libdstdmw.a |
|---|
| 47 | |
|---|
| 48 | |
|---|
| 49 | # include cross-compiler definitions |
|---|
| 50 | # cafrii 090715, use our own tools.mak for easy customization. |
|---|
| 51 | include $(TOP_DIR)/build/tools.mak |
|---|
| 52 | |
|---|
| 53 | |
|---|
| 54 | CFLAGS += $(foreach i,$(DST_PLATFORM_DEFINES),-D$(i)) |
|---|
| 55 | |
|---|
| 56 | |
|---|
| 57 | # |
|---|
| 58 | # Source files |
|---|
| 59 | # |
|---|
| 60 | DMW_SRC := # just to emphasize in source insight's syntax-highliting |
|---|
| 61 | DMW_SRC += \ |
|---|
| 62 | $(DMW_DIR)/src/System/DMW_Dummy.c \ |
|---|
| 63 | $(DMW_DIR)/src/System/DMW_Main.c \ |
|---|
| 64 | $(DMW_DIR)/src/System/DMW_Mutex.c \ |
|---|
| 65 | $(DMW_DIR)/src/System/DMW_MsgQue.c \ |
|---|
| 66 | $(DMW_DIR)/src/System/DMW_Timer.c \ |
|---|
| 67 | $(DMW_DIR)/src/System/DMW_SysTime.c \ |
|---|
| 68 | $(DMW_DIR)/src/System/DMW_CodeConv.c \ |
|---|
| 69 | $(DMW_DIR)/src/System/DMW_NvRam.c \ |
|---|
| 70 | $(DMW_DIR)/src/psi/DMW_PsiSdds.c \ |
|---|
| 71 | $(DMW_DIR)/src/psi/DMW_PsiEngine.c \ |
|---|
| 72 | $(DMW_DIR)/src/psi/DMW_PsiDatabase.c \ |
|---|
| 73 | $(DMW_DIR)/src/psi/DMW_PsiUtil.c \ |
|---|
| 74 | $(DMW_DIR)/src/psi/DMW_PsiLinkedList.c \ |
|---|
| 75 | $(DMW_DIR)/src/psi/DMW_PsiTask.c \ |
|---|
| 76 | $(DMW_DIR)/src/psi/DMW_PsiAPI.c \ |
|---|
| 77 | $(DMW_DIR)/src/EPG/DMW_EpgBase.c \ |
|---|
| 78 | $(DMW_DIR)/src/EPG/DMW_EpgDebug.c \ |
|---|
| 79 | $(DMW_DIR)/src/EPG/DMW_EpgInterface.c \ |
|---|
| 80 | $(DMW_DIR)/src/EPG/DMW_EpgRating.c \ |
|---|
| 81 | $(DMW_DIR)/src/EPG/DMW_EpgVersion.c \ |
|---|
| 82 | $(DMW_DIR)/src/EPG/DMW_RfDownload.c \ |
|---|
| 83 | $(DMW_DIR)/src/Channel/DMW_Channel.c \ |
|---|
| 84 | $(DMW_DIR)/src/Channel/DMW_ChannelTask.c \ |
|---|
| 85 | $(DMW_DIR)/src/Channel/DMW_ChannelUtil.c \ |
|---|
| 86 | $(DMW_DIR)/src/Channel/DMW_ChannelAV.c \ |
|---|
| 87 | $(DMW_DIR)/src/Channel/DMW_ChannelCSD.c \ |
|---|
| 88 | $(DMW_DIR)/src/Channel/DMW_ChannelDB.c \ |
|---|
| 89 | $(DMW_DIR)/src/Channel/DMW_ChannelDemux.c \ |
|---|
| 90 | $(DMW_DIR)/src/Channel/DMW_ChannelFreq.c \ |
|---|
| 91 | $(DMW_DIR)/src/Channel/DMW_ChannelHAL.c \ |
|---|
| 92 | $(DMW_DIR)/src/Channel/DMW_ChannelScan.c \ |
|---|
| 93 | $(DMW_DIR)/src/Channel/DMW_ChannelTune.c \ |
|---|
| 94 | $(DMW_DIR)/src/Channel/DMW_ChannelVer.c \ |
|---|
| 95 | $(DMW_DIR)/src/Channel/DMW_Mcm.c \ |
|---|
| 96 | $(DMW_DIR)/src/Channel/DMW_Ucm.c \ |
|---|
| 97 | $(DMW_DIR)/src/cc/cc_ddi_mstar.c \ |
|---|
| 98 | $(DMW_DIR)/src/cc/cc_main.c \ |
|---|
| 99 | $(DMW_DIR)/src/cc/app_cc.c \ |
|---|
| 100 | $(DMW_DIR)/src/cc/cc_display.c \ |
|---|
| 101 | $(DMW_DIR)/src/cc/cc_exec_608.c \ |
|---|
| 102 | $(DMW_DIR)/src/cc/cc_exec_708.c \ |
|---|
| 103 | $(DMW_DIR)/src/cc/cc_front.c \ |
|---|
| 104 | $(DMW_DIR)/src/cc/cc_user.c \ |
|---|
| 105 | $(DMW_DIR)/src/cc/cc_util.c \ |
|---|
| 106 | $(DMW_DIR)/src/cc/cc_win.c \ |
|---|
| 107 | $(DMW_DIR)/src/grp/DMG_Draw.c \ |
|---|
| 108 | $(DMW_DIR)/src/grp/DMG_Menu.c \ |
|---|
| 109 | $(DMW_DIR)/src/grp/DMG_Util.c \ |
|---|
| 110 | $(DMW_DIR)/src/grp/BMF.c \ |
|---|
| 111 | $(DMW_DIR)/src/grp/grp_jungle.c \ |
|---|
| 112 | $(DMW_DIR)/src/grp/jungle_font/utfOutline.c \ |
|---|
| 113 | $(DMW_DIR)/src/grp/jungle_font/utfStruct.c |
|---|
| 114 | # $(DMW_DIR)/src/EPG/DMW_EpgUtil.c \ |
|---|
| 115 | $(DMW_DIR)/src/EPG/DMW_EpgMgtMgr.c \ |
|---|
| 116 | $(DMW_DIR)/src/EPG/DMW_Xds.c \ |
|---|
| 117 | $(DMW_DIR)/src/EPG/DMW_EIA608B.c \ |
|---|
| 118 | |
|---|
| 119 | |
|---|
| 120 | # cafrii bugfix. relative path should be based on source code. so, use absolute path. |
|---|
| 121 | SRC_DIR += \ |
|---|
| 122 | $(DMW_DIR)/src/include \ |
|---|
| 123 | $(DMW_DIR)/src/System \ |
|---|
| 124 | $(DMW_DIR)/src/EPG \ |
|---|
| 125 | $(DMW_DIR)/src/Channel \ |
|---|
| 126 | $(DMW_DIR)/src/EPG \ |
|---|
| 127 | $(DMW_DIR)/src/psi \ |
|---|
| 128 | $(DMW_DIR)/src/cc \ |
|---|
| 129 | $(DMW_DIR)/src/grp \ |
|---|
| 130 | $(DMW_DIR)/src/grp/jungle_font \ |
|---|
| 131 | $(DMW_DIR)/src/grp/BMF |
|---|
| 132 | |
|---|
| 133 | |
|---|
| 134 | INC_DIRS += \ |
|---|
| 135 | $(DHL_DIR)/src \ |
|---|
| 136 | $(DHL_DIR)/api/include \ |
|---|
| 137 | $(DLIB_DIR)/src/si \ |
|---|
| 138 | $(DLIB_DIR)/src/osx \ |
|---|
| 139 | $(DLIB_DIR)/src/PNG \ |
|---|
| 140 | $(DLIB_DIR)/src/ZLIB |
|---|
| 141 | |
|---|
| 142 | |
|---|
| 143 | # SRC_DIR °ú INC_DIRS¸¦ ±¸ºÐÇØ¼ »ç¿ëÇÑ´Ù. |
|---|
| 144 | # SRC_DIRÀº VPATH ¿¡ Ãß°¡µÇ°í, INC_DIRS´Â CFLAGS ¿¡ -Ixx ¿Í °°Àº ÇüÅ·ΠÃß°¡µÈ´Ù. |
|---|
| 145 | # |
|---|
| 146 | |
|---|
| 147 | VPATH = $(SRC_DIR) |
|---|
| 148 | |
|---|
| 149 | #vpath %.h $(VPATH) |
|---|
| 150 | #vpath %.c $(VPATH) |
|---|
| 151 | #vpath %.S $(VPATH) |
|---|
| 152 | |
|---|
| 153 | |
|---|
| 154 | CFLAGS += $(addprefix -I,$(SRC_DIR)) $(addprefix -I,$(INC_DIRS)) |
|---|
| 155 | |
|---|
| 156 | DMW_OBJS = $(foreach DMW_SRC, $(DMW_SRC), $(OBJ_DIR)/$(notdir $(DMW_SRC:.c=.o))) |
|---|
| 157 | |
|---|
| 158 | |
|---|
| 159 | # |
|---|
| 160 | # The targets |
|---|
| 161 | # |
|---|
| 162 | .PHONY : all dmw clean clean-dmw |
|---|
| 163 | |
|---|
| 164 | |
|---|
| 165 | all : dmw |
|---|
| 166 | |
|---|
| 167 | |
|---|
| 168 | |
|---|
| 169 | # skip showing cflags for simple output. |
|---|
| 170 | dmw : checkobjdir $(DMW_OBJS) #show_cflags |
|---|
| 171 | $(Q_)$(ECHO) "++++++++ Archiving \"$(notdir $(TARGET))\" Library" |
|---|
| 172 | $(Q_)rm -f $(TARGET) |
|---|
| 173 | $(Q_)$(AR) crus $(TARGET) $(DMW_OBJS) |
|---|
| 174 | |
|---|
| 175 | show_cflags : |
|---|
| 176 | $(Q_)$(ECHO) CFLAGS = $(filter-out -I% -D%, $(CFLAGS)) |
|---|
| 177 | |
|---|
| 178 | $(OBJ_DIR)/%.o: %.c |
|---|
| 179 | $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 180 | # $(Q_)$(CCDV) $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 181 | # dependency¸¦ Çѹø¿¡ ¸¸µé¾îÁÖÁö ¸øÇϹǷÎ, º°µµÀÇ cc ÀÛ¾÷À» ÅëÇØ .d ÆÄÀÏ »ý¼ºÇÑ´Ù. |
|---|
| 182 | # armcc °¡ »ý¼ºÇÑ rule¿¡´Â ¸ðµÎ backslash°¡ »ç¿ëµÇ¾î¼ À̸¦ slash·Î Ä¡È¯ÇØÁà¾ß ÇÔ. |
|---|
| 183 | # ccdv°¡ °É·¯Áá´ø ¸Þ½ÃÁö°¡ ¿©±â¼´Â º¸ÀÏ ¼ö ÀÖÀ½. stderr Ãâ·ÂÀº º¸ÀÌÁö ¾Êµµ·Ï ¸·ÀÚ. |
|---|
| 184 | # $(Q_)$(CC) -M $(CFLAGS) -c $< -o $@ 2> /dev/null | sed 's,\\,/,g' > $(patsubst %.o,%.d,$@) |
|---|
| 185 | |
|---|
| 186 | clean clean-dmw: |
|---|
| 187 | $(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 |
|---|
| 188 | $(Q_)$(RM) -f $(CONFIG_TMP) |
|---|
| 189 | |
|---|
| 190 | checkobjdir: |
|---|
| 191 | $(Q_)test -d $(OBJ_DIR) || (echo "mkdir $(OBJ_DIR)"; mkdir -p $(OBJ_DIR)) |
|---|
| 192 | $(Q_)test -d $(TOP_DIR)/obj || (echo "mkdir $(TOP_DIR)/obj"; mkdir -p $(TOP_DIR)/obj) |
|---|
| 193 | |
|---|
| 194 | |
|---|
| 195 | # |
|---|
| 196 | # Include all the depends |
|---|
| 197 | # |
|---|
| 198 | -include $(OBJ_DIR)/*.d |
|---|
| 199 | |
|---|
| 200 | |
|---|