makefile.in与makefile.am

Q1: makefile.am 与 makefile.in是什么文件,干嘛用?

它对编译程序有用吗/

--------------------------------------------------

A1: 避免重复编译,减少等待时间之用。

A2: make install 时用

A3: automake 读取 Makefile.am 来产生 Makefile.in,

configure 读取 Makefile.in 来产生 Makefile

configure 脚本通常由 autoconf 读取 configure.in 产生

还有aclocal....

目的就是让程序员只写一个规则:.am文件/或.in文件,

就能生成适合各种配置/平台的Makfiles。

如果你写过Makefile,你就知道手工写一个放之四海而皆准的Makefile是多痛苦了。

当然这个Makefile的目的不是编译helloworld之类的小程序,呵呵。

时间: 2024-10-12 21:08:25

makefile.in与makefile.am的相关文章

Makefile使用,Makefile的优化全过程

以一组简单的.c文件为例.从编译命令到Makefile的学习过程. gcc参数不做过多叙述,如下这几个文件及内容: add.c int add(int a int b) { return a+b; } sub.c int sub(int a ,int b) { return a-b; } cal.h #ifndef __CAL_H_ #define __CAL_H_ int add(int,int); int sub(int,int); #endif main.c #include <stdio

通用 Makefile(及makefile中的notdir,wildcard和patsubst)

notdir,wildcard和patsubst是makefile中几个有用的函数,以前没留意过makefile中函数的用法,今天稍微看看~ 1.makefile里的函数 makefile里的函数使用,和取变量的值类似,是以一个'$'开始,然后是一个括号里面是函数名和需要的参数列表,多个变量用逗号隔开,像这样 return = $(functionname  arg1,arg2,arg3...). 可能这里的'$'更像是从某个地址取值类似的操作. 2. wildcard 使用:SRC = $(w

[Makefile]多目录Makefile写法

最近需要写一个测试程序,这个测试程序需要集成一些功能,写在同一个文件看上去很不好,多个文件的Makefile又不是很熟,于是分享下面这篇文章 转自:http://blog.csdn.net/yuzhihui_no1/article/details/44810357 前面已经分享了单目录项下多文件的makefile的编写,现在来看看多目录下多文件makefile的编写: 在做项目时,一般文件都会分几个目录来存放:基本的是  include/  bin/ src/ obj/ lib/ tools/,

利用Makefile.am和Makefile.in生成Makefile文件

1.运行命令 autoscan 生成 configure.scan和configure.log文件,这里如果需要安装autuconf软件包,下载地址http://download.chinaunix.net/download/0001000/648.shtml 下载之后解压 运行命令./configure  这时如果没有安装m4软件包会有错误提示,网上查一下如何安装m4软件包(http://blog.csdn.net/ldl22847/article/details/8575140)这个博客说的

Makefile 文件格式;makefile伪目标

Makefile包含 目标文件.依赖文件.可运行命令三部分. 每部分的基本格式例如以下: test: prog.o  code.o gcc  -o  test   prog.o   code.o 当中,第一行的test是目标文件. prog.o.code.o是依赖文件: 第二行的gcc -o test prog.o code.o是可运行命令. 整个Makefile文件都是这样的格式. 参考链接: https://blog.csdn.net/haoel/article/details/2886 M

Contiki 2.7 Makefile 文件(三)

2.第二部分 这里的usage,targets,savetarget,savedefines都是伪目标. 和all不同,这些伪目标不会被执行,除非显式指定这些目标. 这里有两个目标savetarget,savedefines前边我们提过. 通过命令 make TARGET=esb savetarget可以保存默认的TARGET到Makefile.target中. 通过命令 make TARGET=esb DEFINES=MYTRACE,MYVALUE=4711 savedefines 可以保存默

makefile编译文件介绍

通常在C语言程序开发中,尤其是大型项目的构建,我们不可能一个文件一个文件去编译,通常会编写Makefile文件使用make命令完成项目的编译构建: 如下:math项目是简单的计算那个数字大,哪个数字小,以及两个数字和的小程序.由max.c,min.c , sum.c 和main.c构成,分别如下: max.c #include <stdio.h> int max(int a,int b) {     if(a>b){         return a;      }else{      

Makefile编写

对于多个.c文件来说编译比较麻烦,在这里我就给大家介绍一下makefile的编写. Makefile 有三个非常有用的变量:[email protected],$^,$<.其意义为: [email protected]:目标文件 $^:所有的依赖文件 $<:第一个依赖文件 .c.o:表示所有的.o文件都依赖.c文件 这样Makefile就可以简化成如下: ################################################## # Makefile  example

make makefile cmake qmake都是什么,有什么区别

原文:https://www.zhihu.com/question/27455963 作者:玟清链接:https://www.zhihu.com/question/27455963/answer/36722992来源:知乎著作权归作者所有,转载请联系作者获得授权. 1. make 是用来执行Makefile的2. Makefile是类unix环境下(比如Linux)的类似于批处理的"脚本"文件.其基本语法是: 目标+依赖+命令,只有在目标文件不存在,或目标比依赖的文件更旧,命令才会被执