include ディレクティブを使用して作業ディレクトリを指定する
GNU Make の -C dir オプション
使用例
以下の例では、-C
オプションを使用して、subdir
ディレクトリにある Makefile を実行します。
make -C subdir
このコマンドは、現在のディレクトリではなく、subdir
ディレクトリに移動し、そのディレクトリにある Makefile を実行します。
複数ディレクトリの指定
-C
オプションを複数回使用することで、複数のディレクトリを指定することができます。
make -C dir1 -C dir2
このコマンドは、まず dir1
ディレクトリに移動し、そのディレクトリにある Makefile を実行します。その後、dir2
ディレクトリに移動し、そのディレクトリにある Makefile を実行します。
オプションの組み合わせ
-C
オプションは、他の make
オプションと組み合わせて使用することができます。
make -C subdir -f Makefile.other
このコマンドは、subdir
ディレクトリに移動し、Makefile.other
という名前の Makefile を実行します。
注意事項
-C
オプションを使用する場合は、指定されたディレクトリに Makefile が存在することを確認する必要があります。
また、-C
オプションを使用して別のディレクトリに移動すると、現在のディレクトリは変更されます。元のディレクトリに戻するには、cd
コマンドを使用する必要があります。
-C
オプションは、make
コマンドに作業ディレクトリを指定するために使用されます。これは、現在のディレクトリではなく、指定されたディレクトリで Makefile を検索し、実行することを意味します。
-C
オプションは、複数のディレクトリを指定したり、他の make
オプションと組み合わせて使用することができます。
GNU Make の -C dir オプションのサンプルコード
サブディレクトリにある Makefile を実行する
# 上位ディレクトリの Makefile
all:
@echo "上位ディレクトリ"
make -C subdir
subdir:
@echo "サブディレクトリ"
複数のディレクトリにある Makefile を実行する
# Makefile
all:
@echo "ディレクトリ1"
make -C dir1
@echo "ディレクトリ2"
make -C dir2
この Makefile は、dir1
と dir2
というディレクトリにある Makefile を実行します。
オプションを指定して Makefile を実行する
# Makefile
all:
@echo "ディレクトリ"
make -C subdir -f Makefile.other
この Makefile は、subdir
ディレクトリにある Makefile.other
という名前の Makefile を実行します。
環境変数を設定して Makefile を実行する
# Makefile
all:
@echo "環境変数 FOO は $FOO"
make -C subdir FOO=bar
この Makefile は、subdir
ディレクトリで FOO
環境変数を bar
に設定して Makefile を実行します。
シンボリックリンクを使用して Makefile を実行する
# 上位ディレクトリの Makefile
all:
@echo "上位ディレクトリ"
make -C subdir
subdir:
@echo "サブディレクトリ"
# サブディレクトリの Makefile
all:
@echo "サブディレクトリ"
subdir
ディレクトリは、上位ディレクトリのシンボリックリンクであるとします。
この場合、make
コマンドは、subdir
ディレクトリに移動せずに、シンボリックリンクを通して上位ディレクトリの Makefile を実行します。
-C
オプションは、さまざまな状況で使用することができます。これらのサンプルコードを参考に、-C
オプションを有効活用してください。
GNU Make で作業ディレクトリを指定する他の方法
VPATH
変数は、make
コマンドに検索パスを指定するために使用されます。VPATH
変数に指定されたディレクトリは、make
コマンドが Makefile を検索する際に優先的に検索されます。
# Makefile
VPATH = subdir
all:
@echo "サブディレクトリの Makefile を実行"
make -f Makefile
この Makefile は、subdir
ディレクトリにある Makefile を優先的に検索します。
include
ディレクティブは、Makefile に別の Makefile をインクルードするために使用されます。include
ディレクティブで指定された Makefile は、現在のディレクトリではなく、指定されたディレクトリから読み込まれます。
# Makefile
include subdir/Makefile
all:
@echo "サブディレクトリの Makefile をインクルード"
この Makefile は、subdir
ディレクトリにある Makefile をインクルードします。
cd
コマンドは、シェルで作業ディレクトリを変更するために使用されます。make
コマンド内で cd
コマンドを使用することで、作業ディレクトリを一時的に変更することができます。
# Makefile
all:
@echo "現在のディレクトリ: $(PWD)"
cd subdir
@echo "サブディレクトリ: $(PWD)"
make
cd ..
@echo "現在のディレクトリ: $(PWD)"
この Makefile は、subdir
ディレクトリに一時的に移動し、そのディレクトリにある Makefile を実行します。
-C dir
オプション以外にも、VPATH
変数、include
ディレクティブ、cd
コマンドを使用して GNU Make で作業ディレクトリを指定することができます。
これらの方法をそれぞれの特徴を理解して、状況に応じて使い分けてください。
"-w" オプションと Makefile の .SILENT ディレクティブ:徹底比較
-w オプションは、GNU Make における重要なコマンドラインオプションの一つです。このオプションは、警告メッセージの表示を制御するために使用されます。機能-w オプションには、以下の 3 つの機能があります。警告メッセージの抑制特定の警告メッセージの抑制
【徹底解説】GNU Makeの「-v」オプション:詳細情報表示でデバッグを極める
概要GNU Makeの「-v」オプションは、冗長モードを有効にし、Makeの処理過程における詳細情報を表示します。これは、Makeの動作を理解したり、デバッグしたりする際に役立ちます。表示内容「-v」オプションを指定すると、Makeは以下の情報を表示します。
あなたは使いこなせる?GNU Make の "-k" オプションとその他方法
上記のコマンドは、Makefile に記述されたすべてのターゲットを、エラーが発生しても すべて実行しようとします。-k オプションには、以下の 2 つの動作モードがあります。エラーがあっても処理を継続する エラーが発生しても、Make は処理を継続し、残りのターゲットを実行しようとします。 エラーが発生したターゲットは、$? 変数に格納されます。 詳細なエラー情報は、make -r コマンドで確認できます。
コマンド出力スッキリ!Makeの「-s」オプションでスマートなビルド環境を実現
このオプションの利点と欠点利点:Makeの出力結果が簡潔になり、必要な情報だけを確認しやすくなります。長時間実行される複雑なMakefileを処理する場合などに、画面が情報で埋もれるのを防ぎます。スクリプト内でMakeを呼び出す場合などに、余計な情報が出力されずに、処理をよりスマートに見せることができます。
GNU Make の "--dry-run" オプション:ビルド前にコマンドを確認する方法
--dry-run オプションは、GNU Make に実際の処理を実行せずに、ターゲットのビルドに必要なコマンドを表示させるためのオプションです。ビルド前にコマンドを確認したい場合や、トラブルシューティングに役立ちます。使用方法--dry-run オプションは、make コマンドラインで以下のいずれかの方法で指定できます。
GNU Make の --quiet オプションでメッセージ出力を抑制
--quiet オプションは、以下の動作を引き起こします。ヘッダーとフッターメッセージの抑制ターゲットの更新に関する情報の抑制レシピの実行に関する情報の抑制エラーメッセージの表示--quiet オプションは、単独で使用したり、他のオプションと組み合わせて使用したりできます。たとえば、-v オプションと組み合わせて使用すると、レシピの実行に関する詳細情報のみを表示できます。
GNU Make で特定の Makefile の一部のみを処理する
"-b" オプションは、コマンドラインで make コマンドを実行する際に指定します。オプションの後に、読み込むファイルの名前を指定します。例:このコマンドは、"Makefile. debug" というファイルを読み込み、その内容を Makefile として処理します。
GNU Make の --version オプションの詳細解説
コマンドラインから --version オプションを実行すると、次の情報が表示されます。Make ユーティリティのバージョン番号メジャーバージョン番号マイナーバージョン番号パッチレベルリリース候補番号 (存在する場合)ビルドホストビルド日時
【徹底解説】GNU Makeの「-v」オプション:詳細情報表示でデバッグを極める
概要GNU Makeの「-v」オプションは、冗長モードを有効にし、Makeの処理過程における詳細情報を表示します。これは、Makeの動作を理解したり、デバッグしたりする際に役立ちます。表示内容「-v」オプションを指定すると、Makeは以下の情報を表示します。