#---------------------------------------------------------- # platform #---------------------------------------------------------- include ../makeinclude/userdefine.mk include ../makeinclude/platform.mk #---------------------------------------------------------- # env #---------------------------------------------------------- FILES = \ cf_file \ cf_socket \ cf_thread \ cf_mutex \ cf_debug \ cf_log \ cf_codec \ cf_list \ cf_queue \ cf_stack \ cf_bitwise \ cf_util \ TARGET_NAME = cf SOURCE_TYPE = c TARGET_PATH = ../_build OBJ_PATH = ../_obj TARGET = $(TARGET_PATH)/lib$(TARGET_NAME).$(EXT_SHARED) SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES)) OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES))) INCLUDES = -I../include #---------------------------------------------------------- # label #---------------------------------------------------------- all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) $(DOXYGEN_OUTPUT_PATH) @echo ========== Complete LIBCF compilation ========== $(TARGET_PATH): @echo make target path @if [ ! -d $@ ] ; then mkdir $@ ; fi $(OBJ_PATH): @echo make obj path @if [ ! -d $@ ] ; then mkdir $@ ; fi # link $(TARGET_PATH)/%.$(EXT_SHARED): $(OBJS) $(LD) $(SHARED_FLAGS) -o $@ $(LIBS) $? $(TARGET_PATH)/%.$(EXT_STATIC): $(OBJS) $(AR) $(ARFLAGS) $@ $? # compile $(OBJ_PATH)/%.o: %.$(SOURCE_TYPE) $(CC) $(CFLAGS) -c $(CDEFS) $(INCLUDES) -o $@ $? # doxygen $(DOXYGEN_OUTPUT_PATH): ifeq ($(DOXYGEN_CREATE),yes) ifeq ($(DOXYGEN),) @echo "doxygen was not found." else @echo "========== DOXYGEN DOCUMENTATION ==========" @if [ ! -d $@ ] ; then mkdir $@ ; fi cd $(DOXYGEN_PATH); $(DOXYGEN) $(DOXYGEN_FILE); cat warning.log; endif endif clean: rm -rf $(TARGET_PATH) $(OBJ_PATH) ifeq ($(DOXYGEN_CREATE),yes) rm -rf $(DOXYGEN_OUTPUT_PATH) endif