On 10/24/08, Greg Chicares <[EMAIL PROTECTED]> wrote:
> On 2008-10-24 16:13Z, Andrei Deftu wrote:
>  > On Fri, Oct 24, 2008 at 6:51 PM, Paul Smith <[EMAIL PROTECTED]> wrote:
>  >> Why can't youjust use a normal pattern rule?  Something like:
>  >>
>  >>        %.cpp_o : %.cpp
>  >>                # bla bla
>  >>
>  >> ?
>  >
>  > Thanks but this rule matches every .cpp_o files and I want it to match
>  > only the files from LIST.
>  > e.g.:
>  >
>  > LIST1 := file1.cpp file2.cpp file3.cpp
>  > LIST2 := file4.cpp file5.cpp file6.cpp
>  >
>  > and I want the files from LIST1 to be built using one rule and the
>  > ones from LIST2 using other rule. Then, your solution does not work.
>
>
> How does the rule vary--can you parameterize it?
>
>  For example, if it varies only by $(CXXFLAGS):
>
>  $(LIST1): CXXFLAGS := flags1
>  $(LIST2): CXXFLAGS := flags2
>
>  %.cpp_o : %.cpp
>         $(CXX) $(CXXFLAGS) $< -o$@
>

Or you could use static patterns:
LIST1 := file1.cpp file2.cpp file3.cpp
LIST2 := file4.cpp file5.cpp file6.cpp

LIST1_o := $(LIST1:.cpp=.o)
LIST2_o := $(LIST2:.cpp=.o)

all: $(LIST1_o) $(LIST2_o)

$(LIST1_o): %.o: %.cpp
        @echo "From list 1: gcc $< -o $@"
$(LIST2_o): %.o: %.cpp
        @echo "From list 2: gcc $< -o $@"

$ make
>From list 1: gcc file1.cpp -o file1.o
>From list 1: gcc file2.cpp -o file2.o
>From list 1: gcc file3.cpp -o file3.o
>From list 2: gcc file4.cpp -o file4.o
>From list 2: gcc file5.cpp -o file5.o
>From list 2: gcc file6.cpp -o file6.o

-Mike


_______________________________________________
Help-make mailing list
Help-make@gnu.org
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to