How to change or disable dependency file creation, Tool chains, Sample build rule for testmx.c – HP Integrity NonStop H-Series User Manual
Page 51

Example 4 Sample build rule for testmx.c
EC_DEPS += \
./src/mxprog.dep
src/testmx.c: ../src/testmx.ec
@echo 'Building file: $<'
@echo 'Invoking: C/C++ SQL/MX Preprocessor (TNS/E)'
c89 -I"C:\Users\doon\workspace\testmx\mxheaders" -Wsystype=oss \
-Wsqlmx=preprocess_only -Wsqlmx_port=18650 -Wcall_shared \
-Wsqlhost=nonstopsystem.corp.net -Wsqluser=sdev.doon,\
`"C:/e3.7/eclipse/plugins/com.hp.nsdee_3.0/Tools/nsdee-auth.exe"\
invoke nonstopsystem.corp.net sdev.doon` -Wsqlmxadd='-c "$@" -V "$*.dep"' "$<" && \
sed '2~1s/\(.*\)/"\1"/'< "$*.dep" | tr -s '\r\n' ' ' | sed 's/ /: /; s/^.*\\//' \
>"$*.dep2"; mv "$*.dep2" "$*.dep"
@echo 'Finished building: $<'
@echo ' '
How to change or disable dependency file creation
NSDEE checks the build variable DependencyHandling to determine how to write commands
to makefiles for generating dependecy files. Using the Build Variables property page for your
project, you can set DependencyHandling to one of the following values:
•
none
to turn off generation of dependencies
•
makeonly
to limit generation of dependencies to those that can be generated without using
NSDEE (as when invoking make outside of NSDEE)
•
full
(the default) to generate a full list of dependencies (but not system header dependencies)
For information on setting build variables, see
“Setting build variables” (page 86)
Setting DependencyHandling to none can be useful if you are not concerned about automatically
building sources when header files change. Setting DependencyHandling to none will result
in faster builds. Keep in mind, though, that, after an initial build generates dependency files for
all object files, subsequent builds only generate dependency files for objects that need to be rebuilt.
So after an initial build, the performance cost of generating dependency files is greatly lessened.
Setting DependencyHandling to makeonly can also result in faster builds since NSDEE will
not do a final pass over dependency files to create dummy header file dependencies.
NOTE:
Since the SQL/MX preprocessor does not include paths to .mxh header files in its
dependency output, using makeonly for SQL/MX builds may not result in make detecting .mxh
header changes. Setting DependencyHandling to full will cause NSDEE to post-process the
output to add paths to the header files.
If you want NSDEE to include system headers in dependency files, specify
makeonly+systemHeaders
or full+systemHeaders, depending whether you want NSDEE
to do a final pass over the dependency files to add dummy rules for headers.
NOTE:
If you mistype none or makeonly when setting DependencyHandling, dependency
generation will default to full. Additionally, if you mistype +systemHeaders, no system headers
will be added to dependency files.
Tool Chains
A tool chain is a group of tools used to build an application for a particular target architecture.
The term “tool chain” more specifically refers to a list of tools defined for a managed project and
the options that will be passed to those tools when they are invoked during builds. You can view
the tool chains associated with a project by opening the Settings property page. At most a project
can have two tool chains, one for TNS/R and one for TNS/E.
Tool Chains
51