2005/10/14

在 Makefile 當中奇怪的 hyphen & backslash

在 Makefile 當中, command 可以以 hyphen 開頭, 也可以以 backslash 開頭, 各自可用的用途點不同.

  • hyphen 是 makefile 的東西, Causes any nonzero exit status of the command line to be ignored. 因為在 makefile 當中, 只要有 command 的 exit status 為 non-zero 則會跳出, 因此有此符號. 另外
    @ : Causes the command not to be echoed before it is executed.
    + : Causes a command line to be executed, even though the options -n, -q, or -t are specified
  • backslash 是 c shell 的東西, 該符號用以避免 alias 的指令, 而呈現最原始的指令.