################################################################ # 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 DMW_DIR = $(TOP_DIR)/dmw OBJ_DIR = $(CUR_DIR)/../obj #$(warning OBJ_DIR is '$(OBJ_DIR)') TARGET = $(TOP_DIR)/obj/libdstdlib.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)) # # Source files # DLIB_SRC := # just to emphasize in source insight's syntax-highliting DLIB_SRC += \ $(DLIB_DIR)/src/si/DLIB_BitOp.c \ $(DLIB_DIR)/src/si/DLIB_PSI_Debug.c \ $(DLIB_DIR)/src/si/DLIB_PSI_Parser.c \ $(DLIB_DIR)/src/si/DLIB_PSI_Monitor.c \ $(DLIB_DIR)/src/si/DLIB_PSIP_Parser.c \ $(DLIB_DIR)/src/si/DLIB_PSIP_Monitor.c \ $(DLIB_DIR)/src/si/DLIB_PSI_Utils.c \ $(DLIB_DIR)/src/si/DLIB_SDDS_Monitor.c \ $(DLIB_DIR)/src/si/DLIB_SDDS_Parser.c \ $(DLIB_DIR)/src/osx/OSX_Task.c \ $(DLIB_DIR)/src/uiofilter/UioFilter.c \ $(DLIB_DIR)/src/PNG/png.c \ $(DLIB_DIR)/src/PNG/pngerror.c \ $(DLIB_DIR)/src/PNG/pngget.c \ $(DLIB_DIR)/src/PNG/pngmem.c \ $(DLIB_DIR)/src/PNG/pngpread.c \ $(DLIB_DIR)/src/PNG/pngread.c \ $(DLIB_DIR)/src/PNG/pngrio.c \ $(DLIB_DIR)/src/PNG/pngrtran.c \ $(DLIB_DIR)/src/PNG/pngrutil.c \ $(DLIB_DIR)/src/PNG/pngset.c \ $(DLIB_DIR)/src/PNG/pngtrans.c \ $(DLIB_DIR)/src/PNG/pngwio.c \ $(DLIB_DIR)/src/PNG/pngwrite.c \ $(DLIB_DIR)/src/PNG/pngwtran.c \ $(DLIB_DIR)/src/PNG/pngwutil.c \ $(DLIB_DIR)/src/ZLIB/adler32.c \ $(DLIB_DIR)/src/ZLIB/compress.c \ $(DLIB_DIR)/src/ZLIB/crc32.c \ $(DLIB_DIR)/src/ZLIB/deflate.c \ $(DLIB_DIR)/src/ZLIB/gzio.c \ $(DLIB_DIR)/src/ZLIB/infblock.c \ $(DLIB_DIR)/src/ZLIB/infcodes.c \ $(DLIB_DIR)/src/ZLIB/inffast.c \ $(DLIB_DIR)/src/ZLIB/inflate.c \ $(DLIB_DIR)/src/ZLIB/inftrees.c \ $(DLIB_DIR)/src/ZLIB/infutil.c \ $(DLIB_DIR)/src/ZLIB/trees.c \ $(DLIB_DIR)/src/ZLIB/uncompr.c \ $(DLIB_DIR)/src/ZLIB/zutil.c # cafrii bugfix. relative path should be based on source code. so, use absolute path. SRC_DIR += \ $(DLIB_DIR)/src/si \ $(DLIB_DIR)/src/osx \ $(DLIB_DIR)/src/uiofilter \ $(DLIB_DIR)/src/PNG \ $(DLIB_DIR)/src/ZLIB INC_DIRS += \ $(DHL_DIR)/src \ $(DHL_DIR)/api/include \ $(DMW_DIR)/src/include # 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)) DLIB_OBJS = $(foreach DLIB_SRC, $(DLIB_SRC), $(OBJ_DIR)/$(notdir $(DLIB_SRC:.c=.o))) # # The targets # .PHONY : all dlib clean clean-dlib all : dlib # skip showing cflags for simple output. dlib : checkobjdir $(DLIB_OBJS) #show_cflags $(Q_)$(ECHO) "++++++++ Archiving \"$(notdir $(TARGET))\" Library" $(Q_)rm -f $(TARGET) $(Q_)$(AR) crus $(TARGET) $(DLIB_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-dlib: $(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