makefile 浅析(一)
2016-07-09 17:38
218 查看
gcc提供的半自动化的工程管理器Make,它里面重要的就是makefile,它需要人工编写程序的编译规则,下面我们来看看makefile中的规则。
首先make是一种自动化的按钮,当我们使用make(就相当于按这个按钮),程序就会按照makefile里面写的顺序进行工作,是不是很方便呢,这样我们就不用为了编译一个程序而写很多次gcc了,因为我们已经按照规则在makefile里面写好了。
make的工作方式是:
在默认情况下我们输入make,它就会在当前目录下寻找makefile或Makefile的文件,当找到的话,他就会找文件中的第一个目标文件,并把它作为最终目标文件,其实就是“:”之前的是目标,“:”之后的是依赖,然后回车之后,加一个tab键写的就是命令。
下面我们来看一个例子:
cal : add.o sub.o main.o
gcc add.o sub.o main.o -o cal
add.o : add.c
gcc -c add.c
sub.o : sub.c
gcc -c sub.c
main.o : main.c
gcc -c main.c
上述中:cal是最终目标,它依赖add.o sub.o main.o产生,并执行命令gcc add.o sub.o main.o -o cal ,而add.o又是目标,它依赖add.c产生
是执行了gcc -c add.c 生成的。同样的,sub.o是依赖sub.c 执行了gcc -c sub.c这个命令产生,main.o也一样。最终就会执行四条命令,并产生了add.o,sub.o main.o和cal这个目标文件。这样我们以后要编译程序就只要在当前目录写一个make,就会执行程序啦。
这篇文章只是帮初学者建立一下makefile工作的概念,还有许多知识,比如变量啦,函数啦,嵌套执行啦,请看下期博客哈!
首先make是一种自动化的按钮,当我们使用make(就相当于按这个按钮),程序就会按照makefile里面写的顺序进行工作,是不是很方便呢,这样我们就不用为了编译一个程序而写很多次gcc了,因为我们已经按照规则在makefile里面写好了。
make的工作方式是:
在默认情况下我们输入make,它就会在当前目录下寻找makefile或Makefile的文件,当找到的话,他就会找文件中的第一个目标文件,并把它作为最终目标文件,其实就是“:”之前的是目标,“:”之后的是依赖,然后回车之后,加一个tab键写的就是命令。
下面我们来看一个例子:
cal : add.o sub.o main.o
gcc add.o sub.o main.o -o cal
add.o : add.c
gcc -c add.c
sub.o : sub.c
gcc -c sub.c
main.o : main.c
gcc -c main.c
上述中:cal是最终目标,它依赖add.o sub.o main.o产生,并执行命令gcc add.o sub.o main.o -o cal ,而add.o又是目标,它依赖add.c产生
是执行了gcc -c add.c 生成的。同样的,sub.o是依赖sub.c 执行了gcc -c sub.c这个命令产生,main.o也一样。最终就会执行四条命令,并产生了add.o,sub.o main.o和cal这个目标文件。这样我们以后要编译程序就只要在当前目录写一个make,就会执行程序啦。
这篇文章只是帮初学者建立一下makefile工作的概念,还有许多知识,比如变量啦,函数啦,嵌套执行啦,请看下期博客哈!
相关文章推荐
- Linux/Unix环境下的Make和Makefile详解
- Linux Makefile与Shell的问题
- Python实现生成简单的Makefile文件代码示例
- (转)自动生成 Makefile 的全过程详解
- u-boot的Makefile分析
- 关于linux模块驱动简单的Makefile
- 编译单个驱动的Makefile文件。
- makefile完全教程
- Linux内核Makefile文件
- Linux内核的Makefile
- Makefile 文件的相关知识(2)
- 使用AutoMake轻松生成Makefile
- 学习写 Makefile
- makefile之环境变量MAKEFILES
- 一起写 Makefile
- u-boot的Makefile分析435557749
- MakeFile
- MakeFile详解
- Linux内核makefile解析
- linux 2.6内核makefile分析