Makefileで出力ディレクトリを指定する方法は?
Makeファイルで変数を使用して出力ディレクトリを指定できます。以下に例を示します:
# 定义输出目录变量
OUTPUT_DIR = ./output
# 设置默认目标
all: $(OUTPUT_DIR)/target
# 生成目标文件
$(OUTPUT_DIR)/target: source.cpp
# 编译命令
g++ -o $@ $<
# 清理目标文件
clean:
rm -rf $(OUTPUT_DIR)
上記の例では、OUTPUT_DIRという変数を定義することで出力ディレクトリを./outputに指定しています。ターゲットルール内で$(OUTPUT_DIR)変数を利用することで、生成されるターゲットファイルを指定の出力ディレクトリへ置くことができます。
なお、コンパイルコマンド中で、自動変数 `$@` と `$<` を使用しているが、これらは、それぞれ、目的ファイルと先頭の依存 ファイルを表す。これによって、実際の状況に応じて、目的ファイルと依存ファイルを動的に生成できる。
コンパイルコマンドを実行するには、コマンドラインでmakeコマンドを実行するか、make allコマンドを実行してターゲットファイルを生成できます。ターゲットファイルをクリーンアップするには、make cleanコマンドを実行します。