我试图设置一个nmake makefile来将我们的balsamiq样机文件自动导出到png文件,但是恐怕我无法制定一个通用规则的正面和反面。为此,没有明确列出我想要导出的所有文件。在makefile中使用带有通配符的nmake
This page详细介绍了用于导出文件的命令行语法,this page包含一个看起来像包含.obj文件到.exe文件的通用规则的示例。
到目前为止,我已经尝试了生成文件看起来是这样的:
.bmml.png:
"C:\Program Files\Balsamiq Mockups\Balsamiq Mockups.exe" export $< [email protected]
但是,这是行不通的。
如果我只需运行NMAKE(有一些过时的PNG文件),执行nmake只是做这个:
[C:\Temp] :nmake
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
[C:\Temp] :
如果我问它来建立一个特定的文件,它这样做:
[C:\Temp] :nmake "TestFile.png"
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
NMAKE : fatal error U1073: don't know how to make '"TestFile.png"'
Stop.
[C:\Temp] :
任何能够让我直立的nmake大师?
一个例子生成文件简单地通过复制它们,进行实验,使从.txt文件.dat文件,如下所示:
.txt.dat:
copy $< [email protected]
这个什么都不做一样,所以显然我不理解如何这种通用规则起作用。我是否需要指定一个上面列出我想要的文件的目标?
编辑:为了应对新的答案:
这个Makefile:
{}.txt{}.dat:
copy $** [email protected]
与此文件(TEST.DAT)
1
2
3
和下面的命令:
NMAKE test.txt
生成此错误消息:
[C:\] :nmake test.txt
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
NMAKE : fatal error U1073: don't know how to make 'test.txt'
Stop.
这是非常好的。唯一的一点是,即使目标是最新的,我也会发现它每次都会重建。如果目标比源更新,那么如何让它跳过? – CashCow 2011-12-29 17:54:18