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