2013-12-20 19 views
0

好吧,我想我錯過了我的makefile中的一些東西,這讓我很頭疼。在我的本地版本中,我使用"dev:"來調用它,它確實是開發目標;太棒了,但我也希望它始終做到"all:"目標。當我打電話給make dev時,它運行的是開發者,但不是全部,有沒有術語在這裏失敗?Makefile始終會調用所有對象,即使對目標也是如此

,這裏是我的makefile,如果沒有目標明確給出

BUILD="build/" 
STATIC="static/" 
APP_NAME="Open World" 

all: 
    # Remove the current build folder 
    rm -rf ${BUILD} 

    # Create the build directory 
    mkdir -p ${BUILD} 

dev: 
    all 
    dev=${STATIC}dev 

    echo "Doing DEVELOPMENT build" 

    # Copy the package.json 
    cp ${dev}package.json ${BUILD} 

prod: 
    echo "production" 
+2

不要忘記'.PHONY'目標。 –

+0

「全部」只是一個約定。它絕對沒有特別的意義。你可以沒有「全部」目標,或者你可以在你的makefile的末尾加上「all」(除非你專門運行'make all')否則不會調用它。 – MadScientist

回答

2

默認(第一個)目標只運行。如果你希望它在另一個目標被給出時運行,那麼你需要使它成爲該目標的依賴。

dev: all 
+0

我知道這將是完全愚蠢的,像這樣..謝謝! –

相關問題