0
我写了一个makefile文件中的命令序列是,如果我改变这下面一个是亘古不变的工作顺序我的makefile相关的规则序列Makefile的行为
.PHONY: all clean distclean run
run : $(program_NAME)
./$(program_NAME) > output.txt #runs my program and stotre output in output.txt
all: $(program_NAME)
$(program_NAME): $(program_OBJS)
$(LINK.cc) $(program_OBJS) -o $(program_NAME)
里面如下对我来说: -
.PHONY: all clean distclean run
$(program_NAME): $(program_OBJS)
$(LINK.cc) $(program_OBJS) -o $(program_NAME)
all: $(program_NAME)
run : $(program_NAME)
./$(program_NAME) > output.txt #runs my program and stotre output in output.txt
这doesnot generate any output.txt
对我来说。 我觉得run :
依赖于$(program_NAME),所以$(program_NAME): $(program_OBJS) $(LINK.cc) $(program_OBJS) -o $(program_NAME)s
应该在makefile中的run :
之前。但它的工作方式很好。 有人可以在这里扔光吗? (谢谢)
对于所有makefile而言,它们定义的第一条规则是自动执行的吗? – Invictus 2012-04-18 20:17:35
我在makefile中已经考虑过缩进,我只写了最初的。这只是粘贴在这里,我没有遵循。 – Invictus 2012-04-18 20:21:32
是的,第一条规则是默认执行的,除非你在执行时指定其他的为'make'。 – 2012-04-18 20:30:59