List 带有两个文件列表的Gnu Make
我有一个Gnu Makefile,其中有两个列表:List 带有两个文件列表的Gnu Make,list,makefile,List,Makefile,我有一个Gnu Makefile,其中有两个列表: LIST1=file01.cpp file02.cpp file03.cpp ...... LIST2=file10.cpp file11.cpp file12.cpp ..... 我想编译每个文件,但对于每个列表,我想使用不同的标志 我可以为每个文件指定一个规则。有更好的方法吗?您可以在目标基础上声明make变量。因此: LIST1=file01.cpp file02.cpp file03.cpp ...... LIST2=file10.c
LIST1=file01.cpp file02.cpp file03.cpp ......
LIST2=file10.cpp file11.cpp file12.cpp .....
我想编译每个文件,但对于每个列表,我想使用不同的标志
我可以为每个文件指定一个规则。有更好的方法吗?您可以在目标基础上声明make变量。因此:
LIST1=file01.cpp file02.cpp file03.cpp ......
LIST2=file10.cpp file11.cpp file12.cpp .....
OBJ1 = $(patsubst %.cpp,%.o,$(LIST1))
OBJ2 = $(patsubst %.cpp,%.o,$(LIST2))
$(OBJ1): CXXFLAGS = <flags-for-list1>
$(OBJ2): CXXFLAGS = <flags-for-list2>
all: $(OBJ1) $(OBJ2)
$(OBJ1) $(OBJ2): %.o: %.cpp
$(CXX) -c $(CXXFLAGS) $< -o $@
LIST1=file01.cpp file02.cpp file03.cpp。。。。。。
LIST2=file10.cpp file11.cpp file12.cpp。。。。。
OBJ1=$(patsubst%.cpp,%.o,$(列表1))
OBJ2=$(patsubst%.cpp,%.o,$(列表2))
$(OBJ1):CXXFLAGS=
$(OBJ2):CXXFLAGS=
全部:$(OBJ1)$(OBJ2)
$(OBJ1)$(OBJ2):%.o:%.cpp
$(CXX)-c$(CXXFLAGS)$<-o$@
可能离您想要的很近。谢谢。我没有足够的声誉来提高分数,但你可以接受答案,这也有助于将问题过滤为“已回答”。