仅在失败时保留中间文件

时间:2018-01-31 15:30:34

标签: gnu-make

我的Makefile中有一个链式规则:

%.int: %.src
        preprocess -i $< -o $@

%.dst: %.int
        compile -i $< -o $@

SRCS=$(wildcard *.src)
DSTS=$(patsubst %.src,$.dst,$(SRCS))

all: $(DSTS)

预处理.src.int,然后将.int编译为.dst

它工作正常,但GNU Make总是删除中间文件。

那很好;我读过the docs;我明白为什么会那样做。我知道如果我使用.PRECIOUS.SECONDARY伪目标,我可以保留它们。

但是,我想要做的是保留中间文件当且仅当int2dst步骤失败时。基本上,我想看看预处理器给我带来的混乱。

我可以使用GNU Make吗?

1 个答案:

答案 0 :(得分:0)

一个可能的解决方案,虽然可能不是一个漂亮的解决方案,但是将这些文件放入%.dst: %.int compile -i $< -o $@ rm $< ,然后手动从构建规则中删除:

Private Sub Command1_Click()

 Dim wscript As Object
 Dim objShell As Object
 Dim objExecObject As Object

   Set objShell = wscript.CreateObject("WScript.Shell")
   Set objExecObject = objShell.Exec("python.exe /k Get_Info.py")
   Text1.Text = ""
   Do While Not objExecObject.StdOut.AtEndOfStream
        Text1.Text = Text1.Text & vbCrLf & objExecObject.StdOut.ReadLine()
   Loop
End Sub