voglio definire una funzione di shellCome definire le funzioni globali della shell in un Makefile?
#!/bin/sh
test()
{
do_some_complicated_tests $1 $2;
if something; then
build_thisway $1 $2;
else
build_otherway $1 $2;
fi
}
in modo tale che posso usarlo in ogni regola della mia Makefile, come ad esempio:
foo: bar
test foo baz
Per essere chiari, io voglio il guscio funzione per far parte del Makefile. Qual è il modo più elegante per farlo? Punti bonus se puoi farlo senza chiamare ricorsivamente.
Background: Il mio problema reale è che make -n
produce un'uscita molto lunga e illeggibile. Ogni regola utilizza quasi la stessa sequenza di comandi di shell non leggibili e ci sono molte regole. La soluzione di cui sopra renderebbe più utile l'output di make -n
.
ho fatto @JonathanLeffler detto couldn' essere fatto?Sarò insopportabilmente compiaciuto di me stesso per almeno un mese. – Beta
Perché non inserire il codice in uno script di shell e chiamarlo? – reinierpost