在Makefile中,可以使用变量来指定输出目录。下面是一个示例:
# 定义输出目录变量
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
命令。