WinAVR MFile SRC =.

Gast #2016387
Lesenswert?
• ▲
▼
Hallo Zusammen,
bin grade am Verzweifeln. Ich habe ein Projekt mit mehreren .c und .h 
Files.
Eine dieser Files, möcht ich in einem separatem Verzeichnis sammeln und 
später für andere Projekte nutzen. Eine Art Bibliotek.

Im Makefile, muss ich ja alle .c Files in die SRC Zeile eintragen.
Für mein main.c wir ja $(TARGET).c  benutzt, macht es ja auch 
automatisch mit MFile. Doch wie ist die genaue Syntax für .c Files in 
einem anderen Verzeichniss. Gebe ich den Pfad in der Art an 
C:\WinAVR\Wunschverzeichniss\test.c dann bekomme ich Fehlermeldungen wie 
"multiple target patterns"

Kann mir da jemand helfen?
Persönliche Seite #2016500
Lesenswert?
• ▲
▼
Es wäre einfacher zu antworten, wenn man deine Verzeichnisstruktur 
kennen würde.

Für den Fall dass du im aktuellen Verzeichnis mit main.c und Makefile 
ein Verzeichnis Wunschverzeichnis hast und darin ein test.c:
1
TARGET = main
2
SRC = $(TARGET).c Wunschverzeichnis/test.c
usw.

Du kannst auch mit ../ im Verzeichnisbaum runterklettern in Richtung 
Hauptverzeichnis und dann auf andere Äste klettern
1
TARGET = main
2
SRC = $(TARGET).c ../../irgendwo/Wunschverzeichnis/test.c
usw.

Auch auf andere Bäume auf anderen Laufwerken müsstest du kommen können. 
Das habe ich aber nicht getestet.
1
TARGET = main
2
SRC = $(TARGET).c c:/WinAVR/Wunschverzeichnis/test.c
usw.

Wenn im Wunschverzeichnis auch Includedateien stehen, die z.B. von 
test.c oder main.c benutzt werden, dann sollte dieser Pfad in 
EXTRAINCDIRS = stehen, wenn du das Makefile nach Beispiel Makefile 
benutzt.

Wenn im Pfad Leerzeichen sind, dann die Argumente in "" klammern, weil 
das Leerzeichen ja ein reserviertes Trennzeichen für die Argumente in 
den ... = ... Zeilen ist.
Gast #2016657
Lesenswert?
• ▲
▼
Hallo Stefan,
danke für die Tipps!
Ich habe es jetzt so gemacht:

Deine erste Variante, sprich, die "Bibliotek" als Ordner in das 
Projektverzeichniss kopieren und dann werkeln.

Ich habe hier im Forum ein gutes Argument gegen mein ursprüngliches 
Vorhaben, gelesen. Denn wenn man etwas in seiner Bibliotek ändert, 
entsteht evtl. wo anders ein Problem. Daher die "Refernzbibliotek" 
kopieren und die Kopie im Projekt ändern.

So, und weiter gehts :-)


Gruß
Ted
Persönliche Seite #2016713
Lesenswert?
• ▲
▼
Das "Gegenargument": Du erzeugst so lauter lokale Kopien deiner 
Bibliothek und in irgendeiner hast du den Bugfix vergessen den du in der 
anderen vor Wochen gemacht hast. Dann suchst du dich dirmelig.

Besser ist eine Versionsverwaltung bei der du 1. Kommentare zu 
Änderungen eingeben kannst (musst) und 2. problemlos einen älteren Stand 
reproduzierar entnehmen kannst.

Ein weiterer Tipp: Speichere und Ändere nichts in dem Verzeichnis der 
Toolchain (WinAVR). Bei einem Update kannst du dann die Versionen 
einfach austauschen ohne auf Zusätze oder Änderungen Rücksicht nehmen zu 
müssen.

Idealerweise speicherst du die Toolchain auch in die Versionsverwaltung 
rein und kannst so komplette Projekte restaurieren.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.