Makefile学习笔记(二)
概述
如果Makefile仅使用上一篇中记录的内容,也是可以完成编译安装大型开源项目的,只是Makefile编写起来会相当麻烦。所幸Makefile可以如shell脚本一般编写,只是附加了一些make内建的规则,这一篇则介绍一些让Makefile编写起来更简洁的方法。
Makefile变量
Makefile编写过程中,在多个目标多个.o文件构建过程中,常常有一些可能重复用到的编译选项,如一些头文件搜索路径,动态链接库路径等选项。重复编写这些选项也是很耗时的,而且如果编写之前,像路径之类的选项没确定是正确的,之后修改起来也很麻烦。
针对这个问题,Makefile允许如Shell脚本一般,定义变量,方式也是一样,”变量名=变量值”即可。这里通过一个例子来理解一下:
CC = clang
CPP = clang++
ISOC = -std=c11
ISOCPP = -std=c++14
CFLAGS = -Wall
all: main
main: main.o test