【发布时间】:2015-12-18 17:12:39
【问题描述】:
我正在开发一个包含Main.cpp 和一组.hpp 文件的并行项目。我发现下面的Makefile 适合在 Xeon Phi 上编译、部署和执行我的项目。这里的问题是,如果我只编辑.hpp 之一(所以不是Main.cpp),那么当我执行make compile 时显然没有任何反应(所以我必须先执行make clean)。你能帮我改变它,所以如果我编辑file.hpp 那么它会编译它吗?谢谢!
FF_ROOT = /home/luca/fastflow
BOOST_ROOT = /home/luca/boost_1_59_0
CC = icpc -mmic
CXX = $(CC) -std=c++11 -DNO_DEFAULT_MAPPING
INCLUDES = -I $(BOOST_ROOT) -I $(FF_ROOT)
CXXFLAGS =
LDFLAGS = -pthread
OPTFLAGS = -O3 -finline-functions -DNDEBUG -g -O0
TARGETS = \
Main \
.PHONY: all clean copy exec cleanall
.SUFFIXES: .cpp
%: %.cpp
$(CXX) $(CXXFLAGS) $(INCLUDES) $(OPTFLAGS) -o $@ $< $(LDFLAGS)
all: compile
compile: $(TARGETS)
copy:
scp $(TARGETS) mic0:
exec:
ssh mic0 './$(TARGETS) $(ARGS)'
clean:
rm -f $(TARGETS)
cleanall : clean
\rm -f *.o *~
【问题讨论】: