the following Makefile (and make-3.79.1):
DIRA=.
DIRB=b
CFLAGS_A=-O2
CFLAGS_B=-g
$(DIRA)/%.o: $(DIRA)/%.c
gcc $(CFLAGS_A) -o $@ -c $<
$(DIRB)/%.o: $(DIRB)/%.c
gcc $(CFLAGS_B) -o $@ -c $<
and the command:
make ./a.o b/b.o
executed the wrong commands:
gcc -O2 -o a.o -c a.c
gcc -O2 -o b/b.o -c b/b.c # "-O2" should be "-g"
whereas this Makefile:
DIRA=.
DIRB=b
CFLAGS_A=-O2
CFLAGS_B=-g
$(DIRB)/%.o: $(DIRB)/%.c
gcc $(CFLAGS_B) -o $@ -c $<
$(DIRA)/%.o: $(DIRA)/%.c
gcc $(CFLAGS_A) -o $@ -c $<
and the same command:
make ./a.o b/b.o
executes the correct commands:
gcc -O2 -o a.o -c a.c
gcc -g -o b/b.o -c b/b.c
raf
_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-make