1
我有一个生成文件,运行一组涉及各种文件的测试,并将结果写入日志文件。是否可以编写makefile,以便在处理完文件中的所有其他目标后运行同一组shell命令,而不管发生的错误如何。我知道我可以使用shell脚本来调用makefile,然后使用shell命令,但是我想知道是否可以从makefile文件本身做到这一点,而不使用像make print
这样的伪目标(例如, 。如何在编译完文件中的所有目标后编写makefile以运行shell命令?
任何方式来“捕捉”而不是忽略返回代码,所以我们可以退出与测试错误代码的结局? – Kaos 2016-04-15 09:01:25
@Kaos您可以使用http://stackoverflow.com/questions/11157083/makefile-output-and-exitcode-to-variable中的解决方案。然而,使用这个解决方案意味着你在评估目标依赖关系之前运行所有的测试*实质上是将Makefile转换为Bash脚本。如果要保留Makefile依赖项评估功能,那么当您在Makefile目标配方中执行每个测试时,需要将每个测试的返回代码写入单独的临时文件,然后对最后一个目标中的结果或后Makefile完成执行。 – 2016-05-27 13:07:58
谢谢。我结束了一个单行shell命令: ''' test:update-version build-tools ;; gradle test; RET = $$? ; cp -r app/build/reports $ {DIST_DIR};退出$$ ret ''' – Kaos 2016-06-01 08:50:20