Estoy escribiendo un Makefile con muchas cosas repetitivas, p.Funciones en Makefile
debug_ifort_Linux:
if [ $(UNAME) = Linux ]; then \
$(MAKE) FC=ifort FFLAGS=$(difort) PETSC_FFLAGS="..." \
[email protected] LEXT="ifort_$(UNAME)" -e syst; \
else \
echo $(err_arch); \
exit 1; \
fi
donde se define el destino 'Syst', la variable 'UNAME' se define (y es generalmente de Linux, pero podría también por Cygwin o OSF1) y las variables 'difort' y 'err_arch' también se definen . Este bloque de código se usa muchas veces para diferentes objetivos de compilación (usando una convención de nombre de ''). Como se trata de una gran cantidad de código redundante, me gustaría poder escribirlo de una manera más simple. Por ejemplo, me gustaría hacer algo como esto:
debug_ifort_Linux:
compile(uname,compiler,flags,petsc_flags,target,lext)
donde compilación podría ser una función que hace el código anterior en base a los argumentos. ¿Alguien tiene alguna idea de cómo podría lograr esto?
¿Por qué es esto mejor que la respuesta anterior que actualmente está marcada como correcta? –
Debe usar variables de varias líneas, en lugar de \. Lo cual de nuevo sería "demasiado para simplemente editar esa respuesta" (por lo que he recibido reseñas hasta ahora) – JonnyJD
Y explicar las variables de líneas múltiples es demasiado para hacer un comentario. Pero no tienes que estar de acuerdo, por supuesto. – JonnyJD