Rational Developer for System z
PL/I for Windows, Version 8.0, Programming Guide

Targets in several description blocks

Using a file as a target in more than one description block causes NMAKE to end. You can overcome this limitation by using two colons (::) as the target/dependent separator instead of one colon.

The following description block is permissible:

X :: A
  command
X :: B
  command

The following causes NMAKE to end:

X : A
  command
X : B
  command

It is permissible to use single colons if the target/dependent lines are grouped above the same commands. The following is permissible:

X : A
X : B
  command

Double colon (::) target/dependent separator example

  target.lib :: a.asm b.asm c.asm
    ml a.asm b.asm c.asm
    ilib target a.obj b.obj c.obj

  target.lib :: d.pli e.pli
    pli d.pli
    pli e.pli
    ilib target d.obj e.obj

These two description blocks both update the library named target.lib. If any of the assembly-language files have changed more recently than the library file, NMAKE executes the commands in the first block to assemble the source files and update the library. Similarly, if any of the PL/I language files have changed, NMAKE executes the second group of commands to compile the PL/I files and update the library.


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)