如何只用一个命令执行一堆makefile?或者我的makefile脚本如何?

时间:2018-05-06 18:20:19

标签: shell loops makefile

搜索大约2个horus的解决方案我没有发现任何内容因为我甚至不知道如何正确搜索它...我的问题是:我必须使用不同的“tad”文件执行makefile(tad,tad01,tad02, tad03 ... tad27),那么是否有某种方法可以制作某种“for循环”并执行27次makefile只需更改标签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 :(得分:0)

有很多方法可以做到这一点。这是一个:

TADS:= tad tad01 tadthree someothertad tad27

allTads: $(TADS)

$(TADS): %: src/%.cpp $(OBJ)
    $(CC) $(OPTIONS) $(DEBUG) -I$(INCLUDEDIR) $< $(OBJ) -o $@