相关疑难解决方法(0)

makefile中处理组件的顺序

在makefile中,依赖行的形式是 -

abc: x y z
Run Code Online (Sandbox Code Playgroud)

所有三个组件(x,y,z)本身都是makefile中进一步向下的依赖行中的目标.

如果调用make abc,将执行三个目标x,y,z的顺序是什么?

makefile gnu-make

35
推荐指数
3
解决办法
3万
查看次数

仅限订单的先决条件在GNU make中无法正常工作?

我有一个仅限订单的先决条件的问题.这些根本不会首先执行.我是否误解了仅限订单的先决条件的工作方式?

以下make脚本:

.PHONY: mefirst mefirst2

mefirst:
    @echo "I'm first!"

mefirst2:
    @echo "I'm first too!"

normaltarget: normaltarget2 | mefirst2
    @echo "normaltarget done"

normaltarget2: a b c 
    @echo "normaltarget2 done"

helloworld: normaltarget | mefirst
    @echo "helloworld done"

.DEFAULT_GOAL := go
go: helloworld
    @echo "go done"

a:
    @echo a
b:
    @echo b
c:
    @echo c
Run Code Online (Sandbox Code Playgroud)

...打印出以下内容:

a
b
c
normaltarget2 done
I'm first too!
normaltarget done
I'm first!
helloworld done
go done
Run Code Online (Sandbox Code Playgroud)

......而不是我期望的:

I'm first!
I'm first too!
a
b
c
normaltarget2 done …
Run Code Online (Sandbox Code Playgroud)

makefile gnu-make

21
推荐指数
1
解决办法
8871
查看次数

标签 统计

gnu-make ×2

makefile ×2