![](/img/trans.png)
[英]recursive Makefile: want to run phony target then run the all target
[英]Behavior of the all target in Makefile
我有以下makefile:
DESTFILES = build/test1 build/toto2
build/test1: test1
cp $< $@
build/toto2: toto2
cp $< $@
all: build/test1 build/toto2
Makefile所在的目錄包含build
子目錄和test1
, toto2
空文件。
目的是將文件復制到build子目錄(la make install
)。
當我執行make all
命令時,文件將在build
適當地復制。 但是當我只make
all
目標中的第一個成為目標時,將觸發test1
,因此僅復制了第一個文件。
我對此行為感到非常驚訝。 有人可以啟發我嗎?
這是與Archlinux上的GNU Make 4.1一起使用的。
對於GNU make,默認目標(您只需鍵入make
完成的目標)是第一個名稱不以“。”開頭的目標。 all
都只是一個名字,GNU make對此沒有任何特殊之處。 如果希望它為默認值,請將其放在第一位或使用特殊的.DEFAULT_GOAL
變量:
.DEFAULT_GOAL := all
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.