No soy experto en makefiles, pero estoy acostumbrado a los simples. En este momento, tengo una tarea a mano.Makefile - cambia el valor de la variable en función de un objetivo
Necesito compilar y vincular una aplicación de prueba con una biblioteca diferente y diferentes rutas de acceso basadas en el objetivo dado. Si el objetivo es TARGET1, enlace con LIB1 e incluya INCLUDEPATH1 durante la compilación. De forma similar, si el objetivo dado es TARGET2, compile con INCLUDEPATH2 en CFLAGS y enlace con LIB2.
%.o: %.c
@echo [CC] $< ...
$(CC) $(CFLAGS) -o $*.o $<
Ahora tengo una regla como la anterior que compila mi aplicación de prueba. Ahora, ¿cómo se puede cambiar CFLAGS en función del objetivo?
¡Guau, no sabía que las variables específicas del destino se propagan a reglas implícitas! –
Un gran consejo. A pesar de que he estado escribiendo Makefiles por mucho tiempo, de alguna manera nunca fui consciente de esta característica. –