2016-04-18 38 views
0

私はmakefileを初めて使用しています。私は再帰的にroot_folderのすべてのファイルを見つけて変数に格納したい。私はメイクファイルでこれを達成するために書かれているコードは以下の通りです:メイクファイルのフォルダ内のすべてのファイルを再帰的にインクルードするには

dirs:=$(root_folder)/*/ 
SOURCE:=$(foreach dir,$(dirs),$(wildcard $(dir)/*.cpp)) 

しかしの.cppファイルがこのimplementation.IとSOURCE変数に含まなっていません、私のアプローチは、この問題でwrong.Any助けだと思います非常に感謝されます。

よろしく、

+1

可能な重複[?GNUにおける再帰ワイルドカード作る](HTTP ://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make) – user657267

答えて

0

newbie_in
Linuxを使っていると仮定すると、使用する検索:

SOURCE:=$(shell find $(root_folder) -name *.cpp) 

または

SOURCE:=$(shell cd $(root_folder) && find . -name *.cpp) 
+0

ありがとうございますcomment.ButあなたのOSはc ygwinのインストール、その環境でも正常に動作しますか? –

+0

'$(shell ...)'はシェル環境でコマンドを実行し、cygwinはlinuxを模倣するので、findコマンドをサポートするはずですが、windows findコマンドでcygwinのバージョンを上書きすることは可能です。詳細は、[here](http://superuser.com/questions/126123/find-command-doesnt-seem-to-work-in-cygwin)を参照してください。 (私はcygwinを持っていないので、私はそれを試すことはできません)。がんばろう。 – John

+0

cygwinなしでwindowsコマンドプロンプトでこれを達成する方法はありますか? –

関連する問題