一个简单的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

上一篇:idea反编译失败 /* compiled code */的解决方法


下一篇:Windows 7, Visual Studio 2015下编译Webkit