0

これは一種のばかげた質問ですが、 を使用するのはこれが初めてですMakefile。ファイルの選択に問題があります。このコマンドを使用したとき、

target1:

     $(CC) -o target *.c

それはうまくいきました。しかし、これは機能しません。

SRCS = dir1/*.c
target1:

     $(CC) -o target $(SRCS)

このエラーを吐き出します。

clang: error: no such file or directory: 'dir1/*.c'

明らかにこれは、変数SRCSが渡される前にエスケープされているためです。Makefile に文字列をそのまま渡すにはどうすればよいですか? または、これを行うための別の従来の/設計された方法はありますか? (パターンによるファイルの選択)

4

2 に答える 2

3

次のようにキーワードを使用してwildcard、特定のパターンに一致するすべてのファイルを選択できます。

SRCS = $(wildcard dir1/*.c)
target1:

     $(CC) -o target $(SRCS)
于 2013-03-03T00:10:40.557 に答える
1
SRCS := $(shell echo dir1/*.c)
target1:
    $(CC) -o target $(SRCS)
于 2013-03-03T00:14:33.973 に答える