#---------------------------------------------------------- # 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 \ 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))) DOXYGEN_PATH = ../docs DOXYGEN_FILE = $(DOXYGEN_PATH)/doxyfile INCLUDES = -I../include #---------------------------------------------------------- # label #---------------------------------------------------------- all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) doxygen @echo ========== Complete LIBCF compilation ========== $(TARGET_PATH): dummy @if [ ! -d $@ ] ; then mkdir $@ ; fi $(OBJ_PATH): dummy @if [ ! -d $@ ] ; then mkdir $@ ; fi # link $(TARGET_PATH)/%.$(EXT_SHARED): $(OBJS) $(LD) $(SHARED_FLAGS) -o $@ $? $(LIBS) $(TARGET_PATH)/%.$(EXT_STATIC): $(OBJS) $(AR) $(ARFLAGS) -o $@ $? # compile $(OBJ_PATH)/%.o: %.$(SOURCE_TYPE) $(CC) $(CFLAGS) $(CDEFS) $(INCLUDES) -o $@ -c $? # doxygen doxygen: dummy ifeq ($(DOXYGEN_CREATE),YES) ifeq ($(DOXYGEN),) @echo "doxygen was not found." else @echo "========== DOXYGEN DOCUMENTATION ==========" cd $(DOXYGEN_PATH); $(DOXYGEN) $(DOXYGEN_FILE); cat warning.log; endif endif clean: dummy rm -rf $(TARGET_PATH) $(OBJ_PATH) ifeq ($(DOXYGEN_CREATE),YES) rm -rf ../documentation endif dummy: