shell - 如何只用一个命令执行一堆makefile?或者如何编写我的makefile?
问题描述
搜索大约 2 horus 的解决方案我什么也没找到,因为我什至不知道如何正确搜索它......我的问题是:我必须使用不同的“tad”文件(tad、tad01、tad02、tad03 .. .tad27),那么有什么方法可以制作某种“for循环”并执行27次makefile仅通过所需的tad更改标签NAME ??
.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)
解决方案
有很多方法可以做到这一点。这是一个:
TADS:= tad tad01 tadthree someothertad tad27
allTads: $(TADS)
$(TADS): %: src/%.cpp $(OBJ)
$(CC) $(OPTIONS) $(DEBUG) -I$(INCLUDEDIR) $< $(OBJ) -o $@
推荐阅读
- text - 如何将 Google Assistant 语音用作文本转语音
- syntax-error - c++程序多个声明错误
- c# - 无法连接到 docker 容器中托管的 restful api
- php - PHP 使用 mkdir 同时创建两个同名目录
- reactjs - ReactJS:ReferenceError:未定义 submitClick
- enterprise-architect - 以透明背景保存 EA 图
- python - Django 模板从表单中排除字段
- opengl - uint64_t 类型数组的 UBO 填充
- reactjs - 反应不变违规“渲染没有返回任何内容” - 如何调试
- javascript - 为每个项目添加类