-
-
Neuer Benutzer
Öfters hier
Hallo Stefan,
TARGET_PLATFORM ist eine Variable im Makefile und nur das make-Tool verwendet sie. Der Compiler bekommt davon garnichts mit.
Das Ganze funktioniert so: mit "TARGET_PLATFORM=plat1" wird im Makefile die Variable TARGET_PLATFORM definiert und ihr der Wert "plat1" zugewiesen. Wird jetzt später an einer anderen Stelle im Makefile $(TARGET_PLATFORM) benutzt, ersetzt das make-Tool diese Variable durch ihren aktuellen Wert und führt dann die entsprechenden Kommandos aus. Make macht also im Prinzip eine Textersetzung. So wird z.B. aus "avr-gcc -D $(TARGET_PLATFORM) ..." das Kommando "avr-gcc -D plat1 ...".
Make ruft den Compiler also über die Kommandozeile "avr-gcc -D plat1 ..." auf. Mit der Option "-D" wird das Symbol "plat1" definiert und in Deinem C-Programm wird daraufhin der Zweig mit "#ifdef plat1" compiliert.
Ich hoffe, meine Erklärung war einigermaßen verständlich. Falls nicht, einfach weiter fragen.
Gruß,
M@nni
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen