LINUX.ORG.RU

Makefile


0

0

Есть цели которые попадают под шаблон :

%.o: %.cpp $(CXX) -c $< $(CXXFLAGS) \ -I$ -I include/ -o $@; И есть цели которые попадают под шаблон :

%.o: %.cpp $(CXX) -c -shared $< $(CXXFLAGS) \ -I$ -I $(INC_ALL) -o $@;

Можно ли как нибудь указать ? $(first_shablon):%.cpp <для первого шаблона>

$(second_shablon):%.cpp <для второго шаблона>

Где $(first_shablon) - список объектных файлов, которые нужно компилировать по первому шаблону, а $(second_shablon) - ессно по второму. Можно ли сделать что нибудь подобное? Спасибо.

anonymous

Извиняюсь за форматирование.
%.o: %.cpp 
       $(CXX) -c $< $(CXXFLAGS) \
        -I$ -I include/ -o $@; 

%.o: %.cpp 
       $(CXX) -c -shared $< $(CXXFLAGS) \
       -I$ -I $(INC_ALL) -o $@;

anonymous
()

А по разным каталогам не судьба разнести?

K_X_XyHTA
()

Пример для GNU Make:

FIRST := 1.o 2.o
SECOND := 3.o 4.o

all : $(FIRST) $(SECOND)

$(FIRST) : %.o : %.c
        @echo FIRST '$@' '$^'

$(SECOND) : %.o : %.c
        @echo SECOND '$@' '$^'

Подробнее в документации -- глава про static pattern rules.

amm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.