一个简单的makefile,一次性编译本文件夹下所有的cpp文件

代码:

 CXX := g++

CFLAGS := -g
TARGET := xxx.exe
SRCS := $(wildcard *.cpp)
OBJS := $(patsubst %cpp,%o,$(SRCS))
all:$(TARGET)
%.o:%.cpp
    $(CXX) $(CFLAGS) -c $<
$(TARGET):$(OBJS)
    $(CXX) $(CFLAGS) -o $@ $^
clean:
    rm -rf $(TARGET) *.o

操作:

make xxx.exe

解释

TARGET := xxx.exe 是最终的可执行文件的名称,可以根据需要修改

SRCS := $(wildcard *.cpp)  所有的cpp文件

OBJS := $(patsubst %cpp,%o,$(SRCS)) 所有的.o文件

all:$(TARGET) 相当于一个代码段的标志

 %.o:%.cpp  将每个cpp编译成一个.o文件

    $(CXX) $(CFLAGS) -c $<

 $(TARGET):$(OBJS)  将所有.o链接成一个可执行文件

    $(CXX) $(CFLAGS) -o $@ $

clean:  输入 make clean 执行这段,删除之前的内容
rm -rf $(TARGET) *.o

 

转载于:https://www.cnblogs.com/GhostZCH/p/4421058.html

你可能感兴趣的:(一个简单的makefile,一次性编译本文件夹下所有的cpp文件)