【发布时间】:2018-05-06 18:20:18
【问题描述】:
搜索大约 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)
【问题讨论】:
-
CC=g++永远不合适。使用CXX=g++。CC是你的 C 编译器,CXX是你的 C++ 编译器。当您定义正确的变量时,Make 的默认规则会更好地工作。