#---------------------------------------------------------- # 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 DOXYGEN_PATH = ../docs #---------------------------------------------------------- # label #---------------------------------------------------------- all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) @echo ========== Complete LIBCF compilation ========== ifeq ($(DOXYGEN_CREATE),yes) cd $(DOXYGEN_PATH); make all endif # path $(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 $@ $? clean: rm -rf $(TARGET_PATH) $(OBJ_PATH) cd $(DOXYGEN_PATH); make clean