我从事一个项目,该项目通常在多个操作系统和多种配置中构建和运行。我使用两个编译器:icc 和 gcc,以及这些编译器的多组参数。这可以给我一个项目构建的许多变体。
我想做的是:
- 使用带有一组参数的 icc 或 gcc 编译器编译项目
- 在新构建之前和之后测试应用程序的性能>
- 比较获得的结果
- 为另一组参数编译项目并重复前面的步骤
有谁知道如何使用makefile很好地做到这一点?
你只需要根据你的需要级联你的make-targets:例如:
# Assumed that $(CONFIGURATION_FILES) is a list of files, all named *.cfg
# There you store your set of arguments per step
#The main target
all: $(CONFIGURATION_FILES)
#Procedure for each configuration-file
%.cfg: compile_icc compile_gcc test compare
compile_icc:
#DO whatever is necesarry
compile_gcc:
#DO whatever is necesarry
test:
#DO whatever is necesarry
compare:
#DO whatever is necesarry
但是,对于这种工作,我宁愿使用一些构建自动化工具......我只知道 Maven,但对于基于 Makefile 的构建,其他一些工具可能更适合......看看不同的选项,例如这里: https ://en.wikipedia.org/wiki/List_of_build_automation_software