
ディレクトリレイアウトは次のようになります。
/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
実際に Makefile 内の include を機能させたいので、 を変更して、include
の絶対パスに設定した環境変数から値を取得するようにしました/home/me/mydir
。つまり、
CACHE_ROOT?=..
include $(CACHE_ROOT)/makefiles/base.mk
読んだあとこの素晴らしい答え絶対パスが唯一の解決策であることに気づきました。