
Ich habe folgendes Verzeichnislayout:
/home/me/mydir
\- tiller -> ./cache/git-repo1/subdir1/tiller
\- makefiles -> ./cache/git-repo2/subdir2/makefiles
Wenn ich drin bin /home/me/mydir
und tippe, ls -l
erhalte ich wie erwartet das oben genannte.
Wenn ich jedoch in ändere /home/me/mydir/tiller
und eingebe, ls ../makefiles
erhalte ich eine Fehlermeldung:ls: ../makefiles: No such file or directory
Wie kann ich /home/me/mydir/makefiles
über einen relativen Pfad darauf zugreifen /home/me/mydir/tiller
, oder ist die Verwendung eines absoluten Pfads meine einzige Option?
Bearbeiten: Ich glaube, ich treffeDas. Gibt es eine Lösung? Ich muss wirklich <cmd> ../makefiles
von innen heraus arbeiten /home/me/mydir/tiller
.
Antwort1
Da ich tatsächlich möchte, dass Includes in Makefiles funktionieren, habe ich mein so geändert, include
dass es einen Wert aus einer Umgebungsvariablen übernimmt, die ich auf den absoluten Pfad von gesetzt habe /home/me/mydir
, also:
CACHE_ROOT?=..
include $(CACHE_ROOT)/makefiles/base.mk
Nach dem Lesendiese tolle Antwortwurde mir klar, dass absolute Pfade die einzige Lösung waren.