[過去ログ] C言語なら俺に聞け 160 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
723
(4): デフォルトの名無しさん (ワッチョイ f9ad-QDb6) [sage] 2023/03/16(木) 20:52:18.53 ID:awXg4DCe0(1) AAS
VScodeで下記のようなMakefile作ってターミナル(PowerShell)で実行したのですが
ソースファイルを拾ってくれないです。
Makefileと同じディレクトリにsrcフォルダとその中にソースがあります。
SRC_DIRS = src
TEST := $(shell find $(SRC_DIRS) -name *.c)
test:
echo $(TEST)
エラーは「ファイルが見つかりません - *.c」と出ますがfindは使えないのですか?
724: デフォルトの名無しさん (ワッチョイ 8102-oxQa) [sage] 2023/03/17(金) 04:22:40.28 ID:1OmGmSd00(1/2) AAS
>>723
nmake派だから自信ないが、ファイル内文字列検索の方のfindコマンドが呼ばれてるように見える、当たり前だけど存在しないファイルに対して文字列検索はできないので

引数的に多分findでなくgciが望みのコマンドでは
gci -file -inc *.cとかそんな感じでどうよ
725: デフォルトの名無しさん (ワッチョイ a546-QPGK) [] 2023/03/17(金) 05:56:28.46 ID:F2H2paQ20(1) AAS
>>723
PowerShellは知らないが、Unixだと括る。
find $(SRC_DIRS) -name *.c

find $(SRC_DIRS) -name '*.c'
733: デフォルトの名無しさん (ワッチョイ 7a79-EKUa) [sage] 2023/03/17(金) 13:56:33.41 ID:GNeva6hg0(1) AAS
makeスレは昔から過疎スレだったよ
個人的にはCに関係するmakeの話はここでもいい気もするが
>>723みたいな環境や処理系すら書かないアホは相手したくないね
やはり専用スレだな
789
(1): デフォルトの名無しさん (ワッチョイ 934b-Z/XC) [sage] 2023/03/23(木) 20:15:11.71 ID:zF57gPzV0(1) AAS
>>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ファイルが出力されるはずです。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s