在构建任何目标后强制 Makefile 执行脚本(就在退出之前)

Pon*_*ars 5 shell makefile

我想在 make 退出时执行一个 shell 命令,不管它构建的是什么目标。似乎 make 没有办法直接做到这一点。但是,这里有一个在启动时执行 shell 命令的示例,无论目标如何:

强制 Makefile 在构建目标之前执行脚本

是否有任何类似的 hack 在退出前执行一次 shell 命令?我可以将命令放在每个目标的底部,但是 a) 它会被执行多次,并且 b) 这很丑陋且难以管理。

Mad*_*ist 4

正如 janos 所说,make 中没有内置的工具可以做到这一点。您可以使用他建议的包装纸。另外,如果您愿意忍受一定程度的“bleah”,请使用递归将其推送到您的 makefile 中。也许它看起来像这样:

ifdef RECURSING

    ... normal makefile goes here ...

else

.DEFAULT all:
        @$(MAKE) RECURSING=true $@ ; r=$$? ; \
         <extra shell command here>; \
         exit $$r

endif
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

3242 次

最近记录:

6 年,4 月 前