Ich bin nicht makefiles, aber bin gewöhnt an einfache. Im Moment habe ich eine Aufgabe zur Hand.Makefile - ändere den Variablenwert in Abhängigkeit von einem Ziel
Ich muss eine Testanwendung mit einer anderen Bibliothek und einem anderen Include-Pfad basierend auf dem angegebenen Ziel kompilieren und verknüpfen. Wenn das Ziel TARGET1 ist, verknüpfen Sie es mit LIB1 und fügen Sie INCLUDEPATH1 während der Kompilierung ein. Wenn das Ziel TARGET2 ist, kompilieren Sie es mit INCLUDEPATH2 in CFLAGS und verknüpfen Sie es mit LIB2.
Jetzt habe ich eine Regel wie oben, die meine Testanwendung kompiliert. Nun, wie können die CFLAGS basierend auf dem Ziel geändert werden.
Wow, ich wusste nicht, dass zielspezifische Variablen zu impliziten Regeln propagiert werden! –
Toller Rat. Obwohl ich Makefiles zu lange geschrieben habe, war mir dieses Feature irgendwie nie bewusst. –