私はまだLinux、特にMakefileに慣れていません。
Linuxでは、「makefolder/path/clean」はフォルダ/path/で「make clean」コマンドを実行するのと同じですか?
(フォルダ/パス/は任意のディレクトリを表します。)
この質問とは別に、Linuxでこの構文(コマンドとパラメータ)を一般化することは可能ですか?
コメントと提案の回答に基づいて更新:ありがとう。新しいことを学びました。私はまた、私が使用したMakefile(openwrt)がより多くの機能を持っているので、一般的なGNU Makefileとは異なることを発見しました。
要約すると、主な質問の2つのコマンドが異なります。
答え1
make clean
実行folder/path
するには
make -C folder/path clean
ただし、このスイッチはPOSIXではありません-C
(説明を参照)。少なくともGNUでは動作し、Linuxを実行している場合はmake
GNUがあります。make
答え2
まったくそうではありません。で実行されているディレクトリにルールがない場合、folder/path/clean
構文は機能しませんmake folder/path/clean
。
たとえば、目的の効果を得るために make ファイルに再帰的なクリーンアップルールを作成できます。たとえば、
recursive-clean:
(cd folder/path; make clean)
...
持っているすべてのディレクトリに対して、またはすべてのディレクトリなどに対してforループを実行します。