私のプロジェクトのディレクトリ構造は次のとおりです。Makefileにパスを持つディレクトリコンテンツの非再帰的なリストを取得するには?次のように
私のMakefileは次のようになります。
dir1_contents = $(shell ls dir1/*)
dir3_contents = $(shell ls dir3/*)
all: clean_dir1 clean_dir3
clean_dir1:
echo 'dir1_contents = $(dir1_contents)'
clean_dir3:
echo 'dir3_contents = $(dir3_contents)'
私はmakeを実行すると、これは私が得るものです:
$ pwd
make-test
$ make -s
dir1_contents = dir1/file2.junk dir1/dir2: file1.junk
dir3_contents = dir3/file3.junk
私はdir1
の内容をdir1_contents
に入れたいと思っています。しかし、私は再帰的な内容を望んでいません。 dir1
ディレクトリのすぐ下にあるコンテンツだけです。どうしたらいいですか?
メイクファイルの最初の2行から/*
を削除すると、私は必要な正しい内容を得ることができます。
$ pwd
make-test
$ make -s
dir1_contents = dir2 file2.junk
dir3_contents = file3.junk
がどのように私はまた、必要なファイルパスを私がしたい右の内容を取得することができます。しかし、その後、彼らは私も必要なそのパスが不足していますか?
'dir1_contents = DIR1/$(シェルのls DIR1)' – igagis
igagis、うまくいかなかったことします。https:/ /gist.github.com/saqib-zmi/0a245d7af4451e91e064ef949ed322f4 –
その解決策は、 'dir1_contents = $(addprefix dir1 /、$(shell ls dir1))'と修正することができます。 – Beta