On Fri, 2008-10-24 at 18:45 +0300, Andrei Deftu wrote:
> I have the following scenario
> 
> LIST := file1.cpp file2.cpp file3.cpp
> 
> and I want to generate these rules
> 
> file1.cpp_o: file1.cpp
>        # bla bla
> file2.cpp_o: file1.cpp
>        # bla bla
> file2.cpp_o: file1.cpp
>        # bla bla
> 
> but I want to write only a single rule for this, like:
> $(LIST:%=%_o): $(@:%_o=%)
>        # bla bla
> 
> The problem is that this is not valid

Yes.  See the GNU make manual chapter "how make reads a makefile" to
understand this.  It's a fundamental, critical aspect of make and
makefiles that you MUST understand, or you will never "get" makefiles.

> and I don't know how to write a rule for a list that expands to a rule
> for every element of the list and each of this rule must have as a
> target and as a dependency the current element of the list. Thanks.

Why can't youjust use a normal pattern rule?  Something like:

        %.cpp_o : %.cpp
                # bla bla

?




_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to