makefile помещает objs в отдельный каталог - PullRequest
0 голосов
/ 03 ноября 2010

Почему

$(OBJDIR)\%.o:$(SRDDIR)\%.s
    $(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o $@

$(OBJDIR)\%.o:$(SRDDIR)\%.c
    $(GCC) -c -g -I$(SRCDIR) $(CFLAGS) $< -o $@

выдает предупреждение (говорит, что игнорирует первое правило), где

%.o:%.s
    $(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o $@

%.o:%.c
    $(GCC) -c -g -I$(SRCDIR) $(CFLAGS) $< -o $@

работает нормально, но все мои источники и объекты будут в одном каталоге.Я хотел бы поместить objs (сгенерированный из сборочных файлов и файлов c) в отдельный каталог (и я запускаю make для windows).

Ответы [ 2 ]

1 голос
/ 03 ноября 2010

Попробуйте использовать прямые косые черты ("/") вместо обратных косых черт ("\").

0 голосов
/ 03 ноября 2010

Флаг -o GCC определяет, где создается выходной файл.

Так что это может сработать, если вы измените:

%.o:%.s $(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o $@

К

%.o:%.s $(GCC) -c -g -I$(SRCDIR) $(ASFLAGS) $< -o myoutputdir/$@
...