GNU Makefile手札】的更多相关文章

通配符 $@ 目标集合 $< 第一个依赖文件 $^ 所有依赖文件 $? 执行结果 % 表示任意长度的字符 $$$$ 随机数 @<command> 执行时不输出该命令到控制台 变量赋值 =  直接赋值 := 未定义赋值 += 追加赋值 ?= Makefile函数 在Makefile中可以使用函数来处理变量,函数的返回值可以当做变量来使用.函数调用,很像变量的使用,也是以“$”来标识的,其语法为:$( )或${ }.参数间以逗号分隔,函数名和参数间以空格分隔.函数调用以“$”开头,以圆括号或…
在常见的编程语言中,使用条件控制结构诸如if ... else if ... else...是很寻常的事情,那么在GNU Makefile中如何使用呢? ifeq ifneq 例如:foo.sh #!/bin/bash ARCH=$(uname -p) if [[ $ARCH == "x86_64" ]]; then ARCH32="i686" ARCH64="x86_64" elif [[ $ARCH == "ppc64le"…
在之前我们已经学习了一个文件的编译过程,但是做过项目的都知道,一个工程中的源文件不计其数,其按类型.功能.模块会分别放在若干个目录中,而这些文件如何编译就需要有一个编译规则,虽然现在很多大型的项目都是直接用诸如CMake.Autotools.SCons等工具生成的,但是对于一些小项目,使用工具就没有什么必要了,而且对于项目编写来说,掌握Makefile的基本知识对我们来说也是很有必要的. 我们本篇文章所要讲解的就是这个编译规则的文件makefile的规则及如何进行编写.makefile定义了一系…
资料: <跟我一起写makefile>---中文,baiduNetdisk http://www.gnu.org/software/make/manual/make.html…
[Introduction] make 是程序员很好用的工具,如果存在makefile存在,每次更新代码,执行shell命令 shell 就可以执行所有需要编译的文件,make是根据你编写的Makefile文件和源程序的最后的修改时间来决定哪些文件需要更新重编的. [Introduction to Makefiles] 问题的关键是如何编写一个Makefile文件,我们都是通过Makefile 来告诉make工具怎么去做.一个简单的makefile的规则如下: target ... : prer…
1.运算类的实现,代码如下:  (1)operator.cpp #include<iostream> #include "operator.h" using namespace std; bool Operator::setOperator(char c)//注意指定是那个类的函数 { bool ret = true; if( ('+' == c) | ('-' == c) | ('*' == c) | ('/' == c) ) { Opm = c; } else { co…
一.相关概念的介绍 什么是 Makefile?怎么书写 Makefile?竟然有工具可以自动生成 Makefile?怎么生成啊?开始的时候,我有这么多疑问,所以,必须得先把基本的概念搞个清楚. 1.Makefile makefile用来定义整个工程的编译规则.一个工程中的源文件计数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚…
使用automake快速生成编译的Makefile 1,确保自己装有的软件automake autoconf 2, 1)执行autoscan 并将生成的configure.scan重命名为configure.in 添加一行参数:AM_INIT_AUTOMAKE(hello, 1.0) -- 程序名 版本号 如果AC_CONFIG_FILES([Makefile])存在则不用管,否则AC_OUTPUT(Makefile) --指的是configure 运行后生成的文件名 2)执行aclocal->…
linux make手册:http://www.gnu.org/software/make/manual/make.html 一篇文章: 假设我们有一个程序由5个文件组成,源代码如下:/*main.c*/#include "mytool1.h"#include "mytool2.h"int main(){         mytool1_print("hello mytool1!");         mytool2_print("he…
据http://bbs.chinaunix.net/thread-2300778-1-1.html的讨论,发现还是有很多人在问通用Makefile的问题,这里做一个总结.也作为以后的参考.       笔者在写程序的时候会遇到这样的烦恼:一个项目中可能会有很多个应用程序,而新建一个应用程序则所有的Makefile都要重写一遍,虽然可以部分的粘帖复制,但还是感觉应该找到更好的解决途径:另外当一个应用程序中包含多个文件夹时通常要在每个目录下创建一个Makefile,当有数十个文件夹时,要创建如此多的…