次のディレクトリレイアウトがあります。
/home/me/mydir
\- tiller -> ./cache/git-repo1/subdir1/tiller
\- makefiles -> ./cache/git-repo2/subdir2/makefiles
/home/me/mydir
これを入力すると、期待ls -l
どおりに上記の結果が表示されます。
ただし、に変更して/home/me/mydir/tiller
入力するとls ../makefiles
エラーが発生します。ls: ../makefiles: No such file or directory
相対パスを使用してどのように/home/me/mydir/makefiles
アクセスできますか/home/me/mydir/tiller
?それとも、絶対パスを使用することは唯一のオプションですか?
編集する:戦いそうだこれ。解決策はありますか?私は本当に<cmd> ../makefiles
内部で作業する必要があります/home/me/mydir/tiller
。
ベストアンサー1
include
実際にMakefileに含める作業をしたいので、環境変数から値を取得し、それを絶対パスに設定するように変更しました/home/me/mydir
。
CACHE_ROOT?=..
include $(CACHE_ROOT)/makefiles/base.mk
読んだ後これは素晴らしい答えです、絶対パスが唯一の解決策であることに気づきました。