代码拉取完成,页面将自动刷新
.PHONY : all clean
CC := gcc
MKDIR := mkdir
RM := rm -rf
#already exist dir
DIR_INCLUDES := include
DIR_SRC := communicate
#dir that need to be created
DIR_BIN := bin
DIR_OBJ := obj
DIR_DEP := dep
LIBS = -pthread
ifeq ("$(DEBUG)","y")
CFLAGS := -g
endif
INCLUDES := $(foreach dir,$(DIR_INCLUDES),-I$(dir))
DIRS := $(DIR_BIN) $(DIR_OBJ) $(DIR_DEP)
SRCS := $(wildcard $(DIR_SRC)/*.c)
OBJS := $(SRCS:.c=.o)
OBJS := $(subst $(DIR_SRC),$(DIR_OBJ),$(OBJS))
DEPS := $(SRCS:.c=.d)
DEPS := $(subst $(DIR_SRC),$(DIR_DEP),$(DEPS))
EXE := server
EXE := $(addprefix $(DIR_BIN)/,$(EXE))
all : $(DIR_OBJ) $(DIR_BIN) $(EXE)
ifeq ("$(MAKECMDGOALS)","all")
-include $(DEPS)
endif
ifeq ("$(MAKECMDGOALS)","")
-include $(DEPS)
endif
$(EXE) : $(OBJS)
$(CC) $(CFLGAS) $(LIBS) -o $@ $^
echo "Success! Target => $@"
$(DIR_OBJ)/%.o : $(DIR_SRC)/%.c
$(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $(filter $(DIR_SRC)/%.c,$^)
$(DIRS) :
$(MKDIR) $@
ifeq ("$(wildcard $(DIR_DEP))","")
$(DIR_DEP)/%.d : $(DIR_DEP) $(DIR_SRC)/%.c
else
$(DIR_DEP)/%.d : $(DIR_SRC)/%.c
endif
@echo "Creating $@..."
@set -e;\
$(CC) -MM $(INCLUDES) $(filter %.c,$^) | sed 's,\(.*\)\.o[ :]*,$(DIR_OBJ)/\1.o $@: ,g' > $@
clean:
$(RM) $(DIRS)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。