【发布时间】:2015-08-21 14:09:06
【问题描述】:
我正在尝试用 make 编译一个 c++ 项目,我不是 Makefile 专家,但看起来没问题,这个 Makefile 有什么问题:
.PHONY: all test log debug clean cleanall
####### BUILD RULES #####################################################
all: cleanall
make debug
clean
make test
clean
make log
log: CFLAGS := $(CFLAGS_LOG)
clean:
rm -f $(OBJS)
cleanall: clean
rm -f $(OUTPATH)$(APPNAME) \
$(OUTPATH_DBG)$(APPNAME_DBG) \
$(OUTPATH_DBG)$(APPNAME_LOG)
test: $(OBJS)
$(CXX) -static $(CFLAGS) -o $(OUTPATH)$(APPNAME) $(OBJS) $(LIB)
strip $(OUTPATH)$(APPNAME)
log: $(OBJS)
$(CXX) -static $(CFLAGS_LOG) -o $(OUTPATH)$(APPNAME_LOG) $(OBJS) $(LIB)
strip $(OUTPATH)$(APPNAME_LOG)
debug: $(OBJS)
$(CXX) $(CFLAGS_DBG) -o $(OUTPATH_DBG)$(APPNAME_DBG) $(OBJS) $(LIB)
不断出现崩溃错误:
make[1]: Leaving directory '/blablabla/dcp_edi/test'
clean
make: clean: command not found
Makefile:66: recipe for target 'all' failed
抱歉,您似乎不能发布包含太多代码的问题,而且我不知道该写什么才能使这篇文章更长。
【问题讨论】:
-
clean不是 shell 命令。它是你的makefile中的目标。all: make clean,基本上 -
如果我添加
all: cleanall make debug make clean make test make clean make log它会为目标测试产生同样的错误。