以下の2つのファイルがあります(treeコマンドから)。Makefileでは、VPATH変数によって設定されたすべてのパスのファイルに対してワイルドカード機能を動作させる方法
.
|-- Makefile
|-- dir1
| `-- file1.c
`-- dir2
`-- file2.c
私はdir1とdir2ディレクトリのファイルをコンパイルしたかったので、以下のようにMakefileを書きました。
VPATH = dir1:dir2
CFILES := ${wildcard *.v}
$(info CFILES = ${CFILES})
出力:
CFILES =
のでwildcar機能が自動的にVPATH変数によって設定されたパスを検索しません。
パスをワイルドカード機能で明示的に書き込むと、機能します。
CFILES := ${wildcard dir1/*.c dir2/*.c} <== this makes it work
$(info CFILES = ${CFILES})
出力:
CFILES = dir1/file1.c dir2/file2.c
私はMakefileのにのみ、既存のパスを追加したいが、私はVPATHが設定したパスにワイルドカード機能を使用することができる方法はありますか?
あなたはそうではないようです。詳細はこちらhttp://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make –