www.mikrocontroller.net

Forum: Compiler & IDEs Makefile Frage - Pfade umwandeln?


Autor: Michael Z. (incunabulum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

für ein kleines Projekt möchte ich versuchen, einen Teil des Codes 
separat auszulagern. Eine Bubliothek geht leider nicht, da ich dynamisch 
konfigurieren muss. Inzwischen kann ich sowhl Projekt-Code wie auch 
externen Code kompilieren, scheiter aber noch beim Linken.

Mein Makefile ist abgeleitet von MFile. Was ich nun bräuchte wäre im 
Linker-Build-Step, dass in einer "Array-Variable" mit Pfadangaben nur 
noch der Dateiname + ein festes Prefix vorhanden ist.

Also:
Die Variable sieht in etwa so aus:
.obj/main.o .obj/control/PcData.o .obj/control/PcStrings.o .obj/../xxx/libavr/drivers/lcds/DogSpi.o obj/../xxx/libavr/drivers/sensors/PressSensors.o etc. pp.
Daraus werden soll:
<prefix>/main.o <prefix>/PcData.o <prefix>/PcStrings.o <prefix>/DogSpi.o etc. pp.
Der zugehörige Buildstep sieht so aus:
# Link: create ELF output file from object files.
SECONDARY : $(TARGET).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
  @echo
  @echo $(MSG_LINKING) $@
  $(CC) $(ALL_CFLAGS) $^ --output $(BUILDDIR)/$@ $(LDFLAGS)

$^ bzw. $(OBJ) muss ich in diesem Fall konvertieren. Nur wie??? Ich such 
mir schon nen Wolf, komm da aber irgendwie nicht weiter....

Danke & cu, Michael


Autor: Michael Z. (incunabulum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun ja,

nach einigen Stunden probieren bringt manchmal allein ein Post hier die 
Lösung :-)

Mit VPATH kann man, vergleichbar dem EXTRAINCLUDEDIR für header files, 
zusätzliche Pfade für den gcc angeben. Und damit klappt auch alles, wie 
ich es will :-)

cu, mz

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.