如何在makefile中并行运行目标

时间:2014-12-12 17:17:10

标签: makefile

我有一个makefile:

CC=g++
CFLAGS=-c -Wall
LDFLAGS=
SOURCES=main.cpp hello.cpp factorial.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello

all: $(EXECUTABLE)


$(EXECUTABLE): $(OBJECTS) 
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
%.o: %.cpp
$(CC) $(CFLAGS) $(<F) -o $@

当我们执行此操作时,我们可以看到目标main.o,hello.o,factorial.o是串行运行的,因为它们是独立的,我们可以让它们并行运行。

g++ -c -Wall main.cpp -o main.o
g++ -c -Wall hello.cpp -o hello.o
g++ -c -Wall factorial.cpp -o factorial.o

如果是,请帮助我

1 个答案:

答案 0 :(得分:0)

(在评论中回答。见:Empty InfoWindow when Marker is clicked

@Wintermute写道:

  

调用make -j $number,其中$number是您希望它并行生成的最大进程数。

另请参阅此处的文档:https://www.gnu.org/software/make/manual/html_node/Parallel.html#Parallel