2017-01-29 5 views
0

Ist das Schlüsselwort exec in einem Makefile erforderlich?Warum exec in Makefile verwenden?

build-cache: clean-cache          
    @exec ./scripts/copy_packages.sh 
    ./scripts/build_makefile.sh 
    docker build -t common/cache ./cache 

Ich habe gerade festgestellt, dass einige Zeilen Exec und andere nicht verwenden.

+0

Ist es der GNU auch 'make'? – uzsolt

Antwort

3

Nein (exec ist kein Schlüsselwort in make); Sie misparsing die Zeile:

@exec ./scripts/copy_packages.sh 

Die @ bedeutet „diese Zeile nicht echo“, wenn die Befehle in diesem ‚Rezept‘ ausgeführt wird. Die exec bedeutet, dass die Shell, die make beginnt, die Zeile zu starten, sich mit dem Skript ./scripts/copy_packages.sh ersetzt.

Siehe What do @, - and + do as prefixes to recipe lines in make?

Verwandte Themen