2013-04-21 28 views
0

我有一个make文件的问题。它在创建第一个.o文件后不会继续读取。这里是我的make文件:Makefile不读取其他文件

CC = g++ 
CFLAGS = -g 
LDFLAGS = -lm 

PokerEval.o: PokerEval.cpp 
    ${CC} ${CFLAGS} -c PokerEval.cpp 

random.o: random.cpp random.h 
    ${CC} ${CFLAGS} -c random.cpp 

myprogram: random.o PokerEval.o 
    ${CC} ${CFLAGS} PokerEval.o random.o ${LDFLAGS} -o myprogram 

clean: 
    rm -f myprogram *.o 
.PHONY: all clean 

所以,当我运行它,我得到的是这样的:

$ make 
g++ -g -c PokerEval.cpp 

回答

2

制作通常构建第一目标,除非你指定一个目标makefile文件在命令行上。

因此,您通常首先指定您的主要目标(例如,可执行文件),然后再依赖它。

请注意,您可以(并经常)在第一个目标之前定义 - 它们不会被视为目标。


  1. “通常”在这种情况下,意思是“一如既往地与正确设计制作工具”。例外是他们称之为make的一个古老的微软工具,但是无论如何,它都内置了的一切。他们目前的nmake(“新制造”)工作(至少半)是正确的,但现在已经有数十年了。
+0

+1好的历史视角 – sehe 2013-04-22 00:02:44

相关问题