Forum: Compiler & IDEs relativer Pfad in Makefile


von Mc S. (mcsplanish)


Lesenswert?

Hallo Leute,

kleine Frage. Ich rufe C:/Programme/Beispiel mein makefile auf und 
erstelle mir damit meine .bin in einem Unterordner .release.

Den Compiler habe ich über

export PATH  := /c/Programme/WinARM/bin:$(PATH)

aufgerufen.
Ich würde nun gerne ein Verzeichnis erstellen indem unter

C:/Programme/Beispiel/Ordner1 meine .c, .mak liegt und unter:

C:/Programme/Beispiel/ mein Compiler.

Allerdings soll das ganze auch dann funktionieren, wenn ich es ganz wo 
anders hin lege.

Ich möchte also nicht den absoluten Pfad zum Compiler mit 
C:/Programme/Beispiel/WinARM/bin angeben sondern lieber ausgehend vom 
makefile C:/Programme/Beispiel/Ordner1 einen Ordner höher suchen.

Wie schreibe ich denn sowas ins makefile?

Hoffe war jetzt nicht zu kompliziert. Könnt gerne fragen ;)
Danke für die Hilfe

von Stefan B. (stefan) Benutzerseite


Lesenswert?

> export PATH  := /c/Programme/WinARM/bin:$(PATH)
> C:/Programme/Beispiel/ mein Compiler.

Ich denke, dein Compiler liegt unter /c/Programme/WinARM/bin d.h. im 
Suchpfad oder was meinst du was anderes mit dem Compiler unter 
C:/Programme/Beispiel/?

Relative Pfade gehen so:

Angenommen du bist in C:/Programme/Beispiel/Ordner1 und hast dort ein 
Makefile und benutzt das mit make.

Dann ist ./ das aktuelle Verzeichnis bzw. die Dateien ohne Pfad werden 
in dem Verzeichnis C:/Programme/Beispiel/Ordner1 gesucht. Auch die 
Dateien, die beim #include mit "" angegeben werden.

Eine Datei xyz.c im Verzeichnis darüber (C:/Programme/Beispiel) suchst 
du mit ../xyz.c und noch ein Verzeichnis darüber (C:/Programme) mit 
../../xyz.c usw. Bei Includedateien kann man den relativen Pfad angeben 
oder besser über eine Compileroption im Makefile angeben so wie im 
Artikel Beispiel Makefile bei den EXTRAINCDIRS

von Mc S. (mcsplanish)


Lesenswert?

Ok ok,

ich hab es zu kompliziert geschrieben.
Also,

mein aktuelles Verzeichnis des Projektes mit Makfile etc.:

C:/Programme/Beispiel/Ordner1

Mein Kompiler liegt im Ordner Beispiel. Ich möchte jetzt nicht für den 
Pfad des kompiler:

C:/Programme/Beispiel

schreiben sondern. Ausgehend von Ordner1, irgendwas wir 
Ordner1/Beispiel/. Praktisch rückwärts.
Hilfe!

von Mc S. (mcsplanish)


Lesenswert?

ok ich habs. Hab die erste Antwort falsch verstanden!

Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.