Hello,
I have constructed the following small script to be executed by the program
“GNU Make 4.2.1-1.7” on my openSUSE Tumbleweed system.
define rule_pair =
name::=$(1)
$$(name:.ml=.cmo): $$(name)
$$(OCAMLC_CMD) -c $$<
$$(name:.ml=.cmx): $$(name)
$$(OCAMLOPT_CMD) -c $$<
endef
$(foreach x,$(SRC_without_mli),$(eval $(call rule_pair,$(x))))
I guess that the functionality from this approach is similar to the usage
of two specific suffix rules.
But I would like to distinguish the involved software dependencies better.
I imagine that it would be nice to improve the shown implementation details.
1. I am using the extra variable “name” just for the reuse of the make
functionality “substitution references”. I would prefer to append desired
file name suffixes directly instead of replacing a previous one.
Can the passed text list become a bit smaller eventually?
2. The specification “$$(name)” is working. Would it make sense to avoid
such a variable reference there?
Unfortunately, the simple specification “$(1)” does not work in the way
I would expect for the selection of a single file as a dependency.
Would you like to explain this software behaviour?
Regards,
Markus
_______________________________________________
Bug-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-make