Makefile:使用'make -j'时如何控制部分编译顺序?

问题描述 投票:0回答:1

我编写了一个makefile,出于某种原因,我希望它执行该程序。但是当我只使用'make'命令时它太慢了,所以我添加了参数'-j'以加快速度。我只希望它先编译所有文件并运行自动编译的程序,但是它在编译前先运行程序。如何部分控制订单?

makefile

all:test run
test:test1.o test2.o test3.o
    gcc test1.o test2.o test3.o -o test
test1:test1.c
    gcc -c test1.c
test2:test2.c
    gcc -c test2.c
test3:test3.c
    gcc -c test3.c
run:
    ./test

它可以在完全编译之前先运行./test

makefile gnu-make
1个回答
1
投票

如何部分控制订单?

您可以通过指定目标之间的依赖关系来控制订单。在建立依赖关系之前,不会构建目标。

[run应取决于test

run: test
    ./test

.PHONY: run
© www.soinside.com 2019 - 2024. All rights reserved.