PPWIZARD is a free preprocessor for HTML, REXX, Visual Basic or any text files.
[Bottom][Contents][Search][Prev]: $$? - User Defined[Next]: Commands
\ -> Dependancies

Dependancies

If you know what a make file does then this is basically the functionality PPWIZARD is trying to supply. Once you have built your output files you don't need to rebuild them unless you modify one of your source files. PPWIZARD actually does a very much better job than any make-file-based process.

Let's consider a very complicated example where:

  1. The source file is called "INPUT.IT".

  2. It #includes "MACROS.IH".

  3. For some stupid reason it reads in line one of "CONFIG.SYS".

  4. It creates "OUTPUT.OUT" and "ALSO.OUT".

  5. You have many other ".IT" files with their own dependancies.

The whole process might take a while. You really only want to preprocess the above 3 input files to produce the 2 output files if you need to. PPWIZARD stores information in a dependancy file for each compile which will allow it to check whether a build is required or not. It will detect if any input or output files have changed or if they are missing and begin to rebuild the output.

To conditionally make your ".IT" files you could use:

ppwizard  *.it  /output:out\*.htm /CrLf /DependsOn:Depends\*.*.dep

This command says to make "*.IT" and put all output into the "OUT" directory and creates a "DEPENDS" directory and places dependancy information in this directory.

Most dependancies can be handled by the preprocessor but sometimes you need to help identify the input and output files. For example, you probably used a REXX linein() command to read from "CONFIG.SYS", you will need to use the #DependsOn command to indicate this one. In a similar manner, the example generates 2 output files; if you used the REXX lineout() command to create these then you would again need to use the #DependsOn command to indicate this output dependancy.

You might wish to have a look at these switches:

  1. /DependsOnComplete
  2. /DependsOnWarnings

Note that you can use the HOOK_DEPENDSON macro to add to or filter the information written to the dependancy file.


email me  any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Search][Prev]: $$? - User Defined[Next]: Commands


PPWIZARD Manual
My whole website and this manual itself was developed using PPWIZARD (free preprocessor written by Dennis Bareis)
Sunday November 05 2017 at 10:00am