2010-08-13 6 views

risposta

123

Essi controllano il comportamento di marca per le linee di comando contrassegnate:

  • @ sopprime la normale 'eco' del comando che viene eseguito.

  • - significa ignorare lo stato di uscita del comando che viene eseguito (normalmente, uno stato di uscita diverso da zero interromperà quella parte del build).

  • + significa 'eseguire questo comando sotto make -n' (o 'make -t' o 'make -q') quando i comandi non vengono normalmente eseguiti. Vedere anche le specifiche POSIX per make e anche §9.3 del manuale GNU Make.

Il + notazione è un (POSIX-standardizzato) generalizzazione del fatto meccanismo (non normalizzato), per cui una riga di comando contenente ${MAKE} o $(MAKE) viene eseguito sotto make -n.

(@ è discusso §5.2 del manuale GNU Make; - è descritto in §5.5,. E §5.7.1 menziona l'uso di +)

29

@ impedisce alla riga di comando di echeggiare nella console. Puoi farlo globalmente con -s o --keep-silent

- dice di continuare a procedere, anche se il comando non riesce per qualche motivo. Puoi farlo globalmente tramite il flag -i (o --ignore-errors).

+ Non avevo familiarità con prima che me lo chiedessi. Il più vicino che posso dire, nega l'effetto di -n, -t e -q, che fondamentalmente dicono di fare in realtà non eseguire i comandi. Quindi una riga con un + nella parte anteriore sarebbe comunque eseguita.

Se si legge il manuale ufficiale di Gnu Make, sono tutti citati in Chapter 5. Nella mia vecchia copia del manuale era il capitolo sui "comandi", ma term du jour ora sembra essere "ricette".