www.mikrocontroller.net

Forum: Compiler & IDEs Variable Dateinamen beim Compilieren.


Autor: gf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HAllo zusammen

Ich habe ein Projekt, aus dem ich durch setzen von defines verschiedene 
Varianten compilieren kann. Je nachdem welche Variante ich compilieren 
will, kommentiere ich das jeweils andere deine aus. Das ganze sieht im 
Prinzip so aus:
#define VARIANTE_A             // Immer nur ein define gesetzt.
// #define VARIANTE_B

#ifdef VARIANTE_A
bla;
bla;
#endif

#ifdef VARIANTE_B
blub;
blub;
#endif

Kann ich irgendwie den Namen der Ausgabedatei (das Hex file) abhängig 
vom der eingestellten Variante machen? Ideal wäre wenn das Hexfile in 
einem Fall "VARIANTE_A.hex" und im anderen Fall "VARIANTE_B.hex" 
heisssen würde.
Ich nutze AVR Studio 4.13 und GCC.

Geht so was?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es würde gehen, wenn du das "#define VARIANTE_A" aus dem Sourcecode raus 
nimmst und das Definieren statt dessen im Makefile machen würdest. Dann 
kannst du dort auch nach Belieben andere Sachen davon abhängig machen 
(wie eben Dateinamen). Das geht aber nicht mit dem vom Studio 
generierten Makefile, du müsstest dann schon eine eigenes nehmen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht das ich wüsste.

Aber warum machst du nicht folgendes:

Du setzt 2 Projekte auf.
Anstelle des fehlerträchtigen Auskommentierens, erzeugst du den jeweils 
richtigen #define mit den Compiler Settings (oder einem 
projektspezifischen Header File, welches nur diesen #define enthält + 
möglicherweise andere Dinge, die Variantenabhängig sind)

Beide Projekte teilen sich den Code insofern, als die Source-Files in 
einem gemeinsamen Verzeichnis stehen, von wo sich jedes Projekt bedient.


Viola. Benötigst du eine frische Version einer Variante, machst du 
einfach das zugehörige Projekt auf und compilierst. Du brauchst nicht 
fehlerträchtig irgendein #define auskommentieren und auch nicht darauf 
achten, dass immer alle Einzelteile für die jeweilige Version richtig 
umkompiliert wurden.

Und natürlich steht dir dann das Hex-File im jeweiligen Projekt bis zum 
nächsten Build zur Verfügung.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.