On 2006-2-17 16:44 UTC, Helge Avlesen wrote:
> 
> OBJS1=\
> dir1/file1.o \
> dir2/file2.o \
> ...
> OBJS2=\
> dir1/file3.o \
> dir2/file4.o \
[...]
> now, what I want is to create pattern rules, that will compile the
> OBJS1 group with one set of flags and OBJS2 with another
[...]
> $(OBJS1) : %.o : %.F90 ; $(F95) -c $(PFREEFLAGS1)  -o $@ $<
> $(OBJS1) : %.o : %.F   ; $(F95) -c $(PFIXEDFLAGS1) -o $@ $<
> $(OBJS1) : %.o : %.f90 ; $(F95) -c $(FREEFLAGS1)   -o $@ $<
> $(OBJS1) : %.o : %.f   ; $(F95) -c $(FIXEDFLAGS1)  -o $@ $<
> $(OBJS1) : %.o : %.c   ; $(CC)  -c $(CFLAGS1)      -o $@ $<

For all files in $(OBJS1), all these static pattern rules apply,
not just the one rule you want. I'd use target-specific variable
values:

$(OBJS1): CFLAGS   := CFLAGS1
$(OBJS1): CXXFLAGS := CXXFLAGS1

$(OBJS2): CFLAGS   := CFLAGS2
$(OBJS2): CXXFLAGS := CXXFLAGS2

%.o: %.c
        $(CC) -c $(CFLAGS) $< -o$@

%.o: %.cpp
        $(CXX) -c $(CXXFLAGS) $< -o$@


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

Reply via email to