23/03/23 20:15:11.71 zF57gPzV0.net
>>723を聞いたらこうなった
Makefileの変数展開は、シェルの変数展開とは異なり、特殊文字の処理を行います。したがって、$(shell find $(SRC_DIRS) -name .c)の.cは、Makefileの展開により、現在のディレクトリにある*.cとして解釈されてしまいます。
そのため、正しいファイルを検索するためには、*.cをクォートする必要があります。具体的には、以下のようにしてください。
TEST := $(shell find $(SRC_DIRS) -name '*.c')
また、echo $(TEST)は、Makefileのルールではありません。Makefileルールにするには、次のようにしてください。
test:
echo $(TEST)
これで、make testコマンドを実行すると、$(SRC_DIRS)ディレクトリ以下のすべての.cファイルが出力されるはずです。