quiero definir una función de shell¿Cómo se definen las funciones de shell globales en un Makefile?
#!/bin/sh
test()
{
do_some_complicated_tests $1 $2;
if something; then
build_thisway $1 $2;
else
build_otherway $1 $2;
fi
}
de tal manera que pueda utilizarlo en todas las reglas de mi Makefile, tales como:
foo: bar
test foo baz
Para que quede claro, yo quiero la cáscara función para ser parte del Makefile. ¿Cuál es la forma más elegante de hacer esto? Puntos de bonificación si puede hacerlo sin llamar de forma recursiva.
Antecedentes: Mi problema real es que make -n
produce una salida muy larga y es ilegible. Cada regla usa casi la misma secuencia de comandos de shell ilegibles, y hay muchas reglas. La solución anterior haría que la salida de make -n
fuera más útil.
he hecho @JonathanLeffler dijo no podía' t hecho?Voy a estar insufriblemente complacido conmigo mismo por al menos un mes. – Beta
¿Por qué no simplemente poner el código en un script de shell y llamar eso? – reinierpost