相対シンボリックリンクがサブディレクトリで解決されない

相対シンボリックリンクがサブディレクトリで解決されない

ディレクトリレイアウトは次のようになります。

/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

読んだあとこの素晴らしい答え絶対パスが唯一の解決策であることに気づきました。

関連情報