reinvoke

来自「Linux 下的编译工具」· 代码 · 共 66 行

TXT
66
字号
#                                                              -*-mode: perl-*-$description = "Test GNU make's auto-reinvocation feature.";$details = "\If the makefile or one it includes can be rebuilt then it is, and makeis reinvoked.  We create a rule to rebuild the makefile from a tempfile, then touch the temp file to make it newer than the makefile.";$omkfile = $makefile;&utouch(-600, 'incl.mk');# For some reason if we don't do this then the test fails for systems# with sub-second timestamps, maybe + NFS?  Not sure.&utouch(-1, 'incl-1.mk');run_make_test('all: ; @echo running rules.#MAKEFILE# incl.mk: incl-1.mk	@echo rebuilding $@	@echo >> $@include incl.mk',              '', "rebuilding incl.mk\nrunning rules.\n");# Make sure updating the makefile itself also works&utouch(-600, $omkfile);run_make_test(undef, '', "rebuilding #MAKEFILE#\nrunning rules.\n");&rmfiles('incl.mk', 'incl-1.mk');# In this test we create an included file that's out-of-date, but then# the rule doesn't update it.  Make shouldn't re-exec.&utouch(-600, 'b','a');#&utouch(-10, 'a');&touch('c');run_make_test('SHELL = /bin/shall: ; @echo helloa : b ; echo >> $@b : c ; [ -f $@ ] || echo >> $@c: ; echo >> $@include $(F)',              'F=a', "[ -f b ] || echo >> b\nhello\n");# Now try with the file we're not updating being the actual file we're# including: this and the previous one test different parts of the code.run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n")&rmfiles('a','b','c');# This tells the test driver that the perl test script executed properly.1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?