Re: Nmakefile
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Apr 22, 2010 at 10:34:57AM +0100, Damien Churchill wrote:
> What version of Nmake is required to use this? I've tried with
> Microsoft v1.50 and it fails with:
>
> Nmakefile(263) : fatal error U1088: invalid separator '::' on inference rule
$ nmake -? | grep Version
Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
The documentation calls the :: form a "batch mode" rule:
"{frompath}.fromext{topath}.toext::
commands
Batch-mode inference rules provide only one invocation
of the inference rule when N commands go through this inference
rule. Without batch-mode inference rules, it would require N
commands to be invoked. N is the number of dependents that
trigger the inference rule.
Makefiles that contain batch-mode inference rules must
use NMAKE version 1.62 or higher. To check the NMAKE version,
run the _NMAKE_VER macro available with NMAKE version 1.62 or
higher. This macro returns a string representing the Visual C++
product version.
The only syntactical difference from the standard
inference rule is that the batch-mode inference rule is
terminated with a double colon (::)."
You can replace it with a single colon at the price of slower
compilation. If you have a newer version with alternat syntax,
that would be interesting.
--jkl