Programmer's WorkBench (pwb.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
How PWB Creates a Project Makefile
◄Up► ◄Contents► ◄Index► ◄Back►
─────Programmer's WorkBench─────────────────────────────────────────────────
PWB creates a project makefile by applying the current set of build
rules (the project template) to the project file list. PWB
regenerates the makefile each time you choose Save List in the Edit
Project dialog box.
PWB uses the following algorithm to create a PWB makefile:
1. Create macro definitions for every Build:macro rule.
2. Create a definition for the FILES macro. This macro contains
the project file list that you specify in the Edit Project
dialog box.
3. Apply the Build:all rule to create the 'all' pseudotarget.
4. Apply the Build:suffixes rule to create the first two of three
.SUFFIXES directives in the makefile. The first directive
clears the predefined NMAKE suffixes list.
5. For each target listed in the Build:all rule, create a
description block using that target's Build:target rule and
associated Build:command rules.
6. For each description block, scan the commands for references
to macro names of the form:
<ext>S
For each macro of this form that is found, generate
dependencies for the description block and apply inference
rules to create description blocks for the dependent files.
See: ◄Generating Dependents►
7. For each description block, scan the commands for references
to macros of the form:
<ext>_FILE
When a reference to an <ext>_FILE macro is found, look for a
single file with the specified extension in the file list. If
the file is found, create a definition for the <ext>_FILE
macro that contains the name of that file and add the macro to
the dependency list.
If more than one such file is found, generate the message:
Multiple <ext> files - only one is allowed
and use only the first file in the list.
8. Add the description block for the run and debug pseudotargets.
9. If any files in the list are not used in any of the preceding
steps, generate the message:
File type not used with current project template
The file remains in the file list and appears in the FILES
macro. However, it is not a dependent for any target in the
makefile. It not used by any part of the PWB build process.
After creating the makefile, PWB creates the project status file.
The project is now complete.
See: ◄Project Status File►
See
◄Build:all►
◄Build:command►
◄Build:command {run │ debug} "<command_line>"►
◄Build:include [no] dependencies►
◄Build:include [no] system►
◄Build:suffixes►
◄Build:target►
◄Project menu, Edit Project►
◄User Part of a PWB Makefile►
-♦-