There are some configuration files in my project and they are generated from the same template like foo.tmpl
=> Foo
. Now I would like to write a makefile that can generate a file related to the template.
I could not have had anything like this:
%:% .tmpl generate-to-tmpl $ & lt;
Since this is the goal of all possible files, however, I only want to restrict my goal with the .tmpl
correspondent. Now I've got the list of all templated files:
TEMPLATED_FILES = $ (shell search-type f -name "* .tmpl") GENERATED_FILES = $ (TEMPLATED_FILES: .tmpl =) < / Code>
I have to do something that looks like:
$ (foreach GENERATED_FILES): $ @ Tmpl generated-to-tmpl $ & lt;
How can I get it? Thank you.
%:% .tmpl
will try to match the target %
, but if there is no match % If the Tmpl
file exists, then that method will completely leave for that goal.
I believe in what you really want
$ (GENERATED_FILES):%: Do you have some reasons not to think like that? It is being said that if you want to be more specific, then what do you want:% .tmpl generated-to-tmpl $ & lt;
which will only apply to files in $ (GENERATED_FILES)
.
In addition, if your template files are only in your directory, then you can use:
TEMPLATED_FILES = $ (wildcard * .tmpl)
instead of shell and find
(there are also recursive wildcard defines available but find
is appropriate if you need it).
No comments:
Post a Comment