2012-05-21 2 views
0

Рассмотрим следующий пример:Overwiting целевой каталог в броской все правила в GNU Makefile

SRCS = somefile.c util/someother.c ../src/more.c 

%.o : %.c 
    $(GCC) -MD -c $< -o [email protected] -Wp,-MD,.deps/$*.d 
    @cp .deps/$*.d .deps/$*.P; \ 
     sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ 
      -e '/^$$/ d' -e 's/$$/ :/' < .deps/$*.d >> .deps/$*.P; \ 
     rm -f .deps/$*.d 

-include $(SRCS:%.c=.deps/%.P) 

Как бы я изменить выше, так что .o файлы в конечном итоге в ./? В настоящее время они создают в каталоге исходный файл, и это плохо.

ответ

0

Я хотел бы сделать это следующим образом:

SRCS = somefile.c someother.c more.c 

%.o : %.c 
    [same as before] 

-include $(SRCS:%.c=.deps/%.P) 

vpath %.c util ../src 
Смежные вопросы