I am struggling to use the standard output of one make "recipe" in
arguments of subsequent recipes, e.g. something like:
school:
HOST=$(shell php /usr/share/cacti/cli/add_device.php \
--description=school \
--ip=172.23.0.1 \
--template=1 | sed -n 's/Success - new device-id: (\([0-9]\+\))/\1/p')
php /usr/share/cacti/cli/add_tree.php \
--type=node \
--node-type=host \
--tree-id=$(DEFAULT_TREE) \
--host-id=$(HOST)
php /usr/share/cacti/cli/add_graphs.php \
--graph-type=ds \
--graph-template-id=$(TRAFFIC) \
--host-id=$(HOST) \
--snmp-query-id=$(INTERFACE_STATISTICS) \
--snmp-query-type-id=$(IN_OUT_BITS) \
--snmp-field=ifOperStatus \
--snmp-value=Up
I intend to assign the standard output to a variable ("HOST") then use
this variable in arguments of subsequent recipes. I have some idea why
this fails: "HOST=..." is evaluated by the shell, not by Make. How to do
it correctly?
Also Make normally fails when a recipe exits with nonzero status. I want
this behavior, but the $(shell ...) function prevents it?
Thanks for any advice!
_______________________________________________
Help-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-make