Как выполнить кучу make-файлов одной командой? Или как скрипт моего makefile? - PullRequest
0 голосов
/ 06 мая 2018

В поисках решения примерно за 2 часа я ничего не нашел, потому что я даже не знаю, как правильно его искать ... Моя проблема: я должен выполнить make-файл с другими файлами "tad" (tad, tad01, tad02, tad03 ... tad27), так есть ли какой-нибудь способ сделать какой-то цикл for и выполнить 27 раз make-файл, меняя только метку NAME на нужную tad ??

.PHONY= doc clean

NAME= tad02 #############I MEAN THIS LABEL<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
CC=g++
OPTIONS= -g 
DEBUG= #-D DEBUG
LIBDIR=lib
INCLUDEDIR=include
_OBJ= file1.o file2.o file3.o 
OBJ = $(patsubst %,$(LIBDIR)/%,$(_OBJ))

tad:    src/$(NAME).cpp $(OBJ)
    $(CC) $(OPTIONS) $(DEBUG) -I$(INCLUDEDIR) src/$(NAME).cpp $(OBJ) -o $(NAME)

$(LIBDIR)/%.o : $(LIBDIR)/%.cpp $(INCLUDEDIR)/%.h
    $(CC) $(OPTIONS) $(DEBUG) -c -I$(INCLUDEDIR) -o $@ $<

doc:
    doxygen

clean:
    rm -f $(OBJ) 

1 Ответ

0 голосов
/ 06 мая 2018

Есть много способов сделать это. Вот один из них:

TADS:= tad tad01 tadthree someothertad tad27

allTads: $(TADS)

$(TADS): %: src/%.cpp $(OBJ)
    $(CC) $(OPTIONS) $(DEBUG) -I$(INCLUDEDIR) $< $(OBJ) -o $@
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...