diff options
Diffstat (limited to 'src/boost/tools/build/example/built_tool/core/Jamfile.jam')
-rw-r--r-- | src/boost/tools/build/example/built_tool/core/Jamfile.jam | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/boost/tools/build/example/built_tool/core/Jamfile.jam b/src/boost/tools/build/example/built_tool/core/Jamfile.jam new file mode 100644 index 000000000..d4ec62382 --- /dev/null +++ b/src/boost/tools/build/example/built_tool/core/Jamfile.jam @@ -0,0 +1,39 @@ + +import toolset ; +import os ; + +project : requirements <tblgen>../tblgen//tblgen ; + + +# Create a.c using a custom action defined below. +make a.c : a.td : @tblgen ; + +# Use a.c in executable. +exe core : core.cpp a.c ; + +# The action has to invoke the tool built in other +# parts of the project. The <tblgen> feature is used +# to specify the location of the tool, and the flags +# statement below make the full path to the tool +# available inside the action. +toolset.flags tblgen COMMAND <tblgen> ; + +# We generally want a.c to be rebuilt when the tool changes. +rule tblgen ( targets * : sources * : properties * ) +{ + DEPENDS $(targets) : [ on $(targets) return $(COMMAND) ] ; +} + +# The action that invokes the tool +actions tblgen bind COMMAND +{ + $(COMMAND:E=tblgen) > $(<) +} + +if [ os.name ] = VMS +{ + actions tblgen bind COMMAND + { + PIPE MCR $(COMMAND:WE=tblgen) > $(<:W) + } +} |