Концепции makefile - PullRequest
       23

Концепции makefile

0 голосов
/ 21 июня 2011

может кто-нибудь помочь мне. это код для файла make я просто пытаюсь сохранить разные файлы цели в разных каталогах, это возможно? в приведенном ниже коде.

OBJECTS = objj/mall.o objj/fall.o 

BACK = kajj/ball.o kajj/call.o

DIR = objj kajj rajj 

execc/gola : $(OBJECTS) $(BACK)
    gcc $^  -o  $@
$(OBJECTS):objj/%.o:%.c
    mkdir   $(DIR)
    gcc -c  $<  -o  $@
$(BACK) : kajj/%.o

Я хочу сохранить mall.o fall.o в objj и ball.o и call.o в kajj. Я застрял здесь, я не знаю, как продолжить, может ли кто-нибудь мне помочь, если мы используем% .o: % .c он заменяет все файлы obj один на один, но как их разделить. и кто-нибудь, пожалуйста, скажите мне, что на самом деле делает эта строка 1004 *

1 Ответ

1 голос
/ 21 июня 2011

Для правил двух столбцов рассмотрите то, что перед первым, как фактические цели, а что после первого столбца как правило шаблона.

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

$(BACK): kajj/%.o: %.c
    mkdir   $(DIR)
    gcc -c  $<  -o  $@
...