1 Star 2 Fork 2

chenwifi / reactor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Makefile 1.18 KB
一键复制 编辑 原始数据 按行查看 历史
chenwifi 提交于 2021-05-20 13:16 . change event_handler from array to list
.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)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/chenwifi/reactor.git
git@gitee.com:chenwifi/reactor.git
chenwifi
reactor
reactor
master

搜索帮助