Skip to content

Make

make是一个管理项目编译和链接的工具。makefile是make的编译规则文件,可以实现自动化编译。

它采用增量编译的方案,只会编译没有在目标目录的文件。

使用

1、编写makefile文件。注意缩进是tab

makefile
# 指定的编译文件列表
all: lname.a \
    lname.so

# 指定对应文件的编译程序,如指定程序发生变化(只要是内容变了都会编译),就会重新编译
lname.a: name.h name.cpp
    g++ -c -o lname.a name.cpp

lname.so: name.h name.cpp
    g++ -fPIC -shared -o lname.so name.cpp

# 清空编译文件列表
clean:
    rm -f lname.a lname.so

当编译指令中出现比较多的文件路径时可以通过定义变量使用。

makefile
INB= -l/path1 -l/path2
LIB=-L/path1 -L/path2

all: demo1 demo2

demo1: demo1.cpp
    g++ -o demo1 demo1.cpp $(LIB) $(INB) -lname1 -lname2 
demo2: demo2.cpp
    g++ -o demo1 demo1.cpp $(LIB) $(INB) -lname1 -lname2 
clean:
    rm -f demo1 demo2

2、在目录下使用make make 即可得到编译文件,make clean可以清楚所有的编译。

文章更新时间: