您的位置:首页 > 运维架构 > Linux

linux 一个超简单的makefile

2017-04-25 22:08 381 查看
makefile 自动化变量:

$@ : 规则的目标文件名
例如:main:main.o test.o
g++ -Wall -g main.o test.o -o main
可以写成:
main:main.o test.o
g++ -Wall -g main.o test.o -o $@

$< : 规则的第一个依赖文件名
例如:main.o: main.cpp
g++ -Wall -g -c main.cpp -o main.o
可以写成:
main.o: main.cpp
g++ -Wall -g -c $< -o main.o

$^ : 规则的所有依赖文件列表。
例如:test.o:test.cpp test.h
g++ -Wall -g -c test.cpp test.h -o test.o
可以写成:
test.o:test.cpp test.h
g++ -Wall -g -c $^ -o test.o

//程序文件包括main.cpp test.cpp test.h

.PHONY:clean
XX=g++
exe=dididididididididi
obj=main.o test.o
$(exe):$(obj)
$(XX) -pthread -Wall -g -o $(exe) $(obj)
main.o:main.cpp test.h
$(XX) -c main.cpp -o main.o
test.o:test.cpp test.h
$(XX) -c test.cpp -o test.o
clean:
rm -f *.o $(exe)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: