diff options
Diffstat (limited to 'tools/build/example/built_tool/core/Jamfile.jam')
-rw-r--r-- | tools/build/example/built_tool/core/Jamfile.jam | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/build/example/built_tool/core/Jamfile.jam b/tools/build/example/built_tool/core/Jamfile.jam new file mode 100644 index 000000000..2d96f7182 --- /dev/null +++ b/tools/build/example/built_tool/core/Jamfile.jam @@ -0,0 +1,30 @@ + +import toolset ; + +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) > $(<) +} |