我从事的项目通常是在多个操作系统和多种配置下构建和运行的。我使用两个编译器:icc和gcc,以及那些编译器的多组参数。这可以为我提供一个项目构建的多种变体。
我想做的是:
- 使用带有一组参数的icc或gcc编译器编译项目
- 测试应用程序的性能以及新构建之后>
- 比较获得的结果
- 为另一组参数编译项目并重复前面的步骤
有没有人知道如何使用makefile很好地完成它?
答案 0 :(得分:1)
您只需根据需要级联制作目标: E.g:
# 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