dmake

 view release on metacpan or  search on metacpan

ChangeLog  view on Meta::CPAN

	* sysintf.c:

	#i64572# Assumes that targets without recipe lines have a current time
	stamp after they were made (independent of the actual time stamp of the
	file.

2007-08-18 18:23  vq

	* make.c, sysintf.c:

	#i64572# Make dmake warn if the time stamp of a target is not updated
	after making the target. This warning can be silenced using the
	.SILENT attribute.

2007-08-17 23:21  vq

	* make.c:

	#i10000# Remove unused variable.

2007-08-17 23:16  vq

ChangeLog  view on Meta::CPAN

2007-08-14 13:55  vq

	* make.c:

	#i64572# Revert previous patch.

2007-08-13 11:33  vq

	* make.c:

	#i64572# Make dmake warn if the time stamp of a target is not updated
	after making the target.

2007-08-11 17:23  vq

	* tests/: Makefile.am, Makefile.in, recipes-9:

	#i80598# Add testcase.

2007-08-11 16:52  vq

man/dmake.nc  view on Meta::CPAN




DMAKE(1)                                                              DMAKE(1)


                   specifying the '+' character at the start of each line of a
                   non-group recipe.

       .UPDATEALL  Indicates that all the targets  listed  in  this  rule  are
                   updated  by  the  execution  of the accompanying recipe.  A
                   common example is the production of the y.tab.c and y.tab.h
                   files  by  yacc  when  it  is run on a grammar.  Specifying
                   .UPDATEALL in such a rule  prevents  the  running  of  yacc
                   twice,  once  for the y.tab.c file and once for the y.tab.h
                   file.  .UPDATEALL targets that are specified  in  a  single
                   rule  are treated as a single target and all timestamps are
                   updated whenever any target in the set is made.  As a side-
                   effect,  dmake  internally  sorts such targets in ascending
                   alphabetical order and the value of $@ is always the  first
                   target in the sorted set.

       .WINPATH    Switch  between default (POSIX) and Windows style path rep-
                   resentation.  (This attribute is specific for cygwin  dmake
                   executables   and   non-cygwin   environments  ignore  this
                   attribute.)

                   Under Cygwin it can be useful  to  generate  Windows  style

man/dmake.nc  view on Meta::CPAN

                     %and one that causes dmake to swap out
                     +and one that is executed using a shell.

       The second and new format of the recipe block begins the block with the
       character  '['  (the  open group character) in the last non-white space
       position of a line, and terminates the block  with  the  character  ']'
       (the  close group character) in the first non-white space position of a
       line.  In this form each recipe line need not have a leading TAB.  This
       is called a recipe group.  Groups so defined are fed intact as a single
       unit to a shell for execution whenever the corresponding  target  needs
       to  be  updated.  If the open group character '[' is preceded by one or
       all of the recipe properties (-, %, @ and @@) then they  apply  to  the
       entire  group  in  the same way that they apply to single recipe lines.
       You may also specify '+' but it is redundant  as  a  shell  is  already
       being  used  to  run  the recipe.  See the MAKING TARGETS section for a
       description of how dmake invokes recipes.  Here  is  an  example  of  a



Dmake Version 4.12                2008-02-26                                21

man/dmake.tf  view on Meta::CPAN

flag defined in the RECIPES section.
.IP \fB.SYMBOL\fP 1.2i
Target is a library member and is an entry point into a module in the
library.  This attribute is used only when searching a library for a target.
Targets of the form lib((entry)) have this attribute set automatically.
.IP \fB.USESHELL\fP 1.2i
Force each recipe line of a target to be executed using a shell.
Specifying this attribute is equivalent to specifying the '+' character at the
start of each line of a non-group recipe.
.IP \fB.UPDATEALL\fP 1.2i
Indicates that all the targets listed in this rule are updated by the
execution of the accompanying recipe.
A common example is the production of the
.I y.tab.c
and
.I y.tab.h
files by
.B yacc
when it is run on a grammar.  Specifying .UPDATEALL in such a rule
prevents the running of yacc twice, once for the y.tab.c file and once
for the y.tab.h file.  .UPDATEALL targets that are specified in a single rule
are treated as a single target and all timestamps are updated whenever any
target in the set is made.  As a side-effect, \fBdmake\fP internally sorts
such targets in ascending alphabetical order and the value of $@ is always
the first target in the sorted set.
.IP \fB.WINPATH\fP 1.2i
Switch between default (POSIX) and Windows style path representation.
(This attribute is specific for cygwin dmake executables and non-cygwin
environments ignore this attribute.)
.sp
Under Cygwin it can be useful to generate Windows style paths (with
regular slashes) instead of the default cygwin style (POSIX) paths

man/dmake.tf  view on Meta::CPAN

.RE
.PP
The second and new format of the recipe block begins the block with the
character '[' (the open group character) in the last non-white space
position of a line, and terminates the
block with the character ']' (the close group character)
in the first non-white space position of a line.
In this form each recipe line need not have a leading TAB.  This is
called a recipe group.  Groups so defined are fed intact as a single
unit to a shell for execution whenever the corresponding target needs to
be updated.  If the open group character '[' is preceded
by one or all of the
.I recipe properties
(\-, %, @ and @@)
then they apply to the entire group in the same way that they
apply to single recipe lines.  You may also specify '+' but it is
redundant as a shell is already being used to run the recipe.
See the MAKING TARGETS section for a description of how
.B dmake
invokes recipes.
Here is an example of a group recipe:



( run in 0.331 second using v1.01-cache-2.11-cpan-0d8aa00de5b )