利用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)这个博客说的很清楚如何安装,安装完成后运行 ./configure 无错误提示

运行命令 make

运行make install

上面步骤无错误提示之后便可以运行autoscan命令,这时会生成 .scan 和 .log文件。这里需要使用命令mv把configure.scan改为configure.in或者configure.ac

使用vim查看configure.ac的内容并对其进行修改,否则在面运行aclocal时不会生成.m4的文件。

修改内容是,在configure.in中添加AM_INIT_AUTOMAKE这句话就可以了。如下图所示

再运行aclocal命令然后查看可一看到.m4文件生成

运行命令autofonf。生成configure文件

2.编写Makefile.am文件

3.automake

根据提示可能需要运行 automake --add-missing安装一些必要软件,然后运行automake生成Makefile.in文件

4.执行configure这时可能会有提示 config.status: error: cannot find input file: `config.h.in‘ 这样的错误,解决方法是运行命令 autoheader生成config.h.in,然后再执行configure。这时就可以看到Makefile文件就生成了。

链接:http://my.oschina.net/qihh/blog/66113

http://bbs.chinaunix.net/thread-793596-1-1.html

上面那个是一个很具体的介绍makefile.am makefile.in makefile之间的关系,以及如何一步步的生成makefile文件

下面这个链接是一个在生成.m4文件出错时的处理情况

时间: 2024-07-30 15:59:29

利用Makefile.am和Makefile.in生成Makefile文件的相关文章

利用Java注解将常量类生成js文件供前端调用

注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的事.标记可以加在包,类,字段,方法,方法的参数以及局部变量上. 1)定义一个最简单的注解 public @interface MyAnnotation {     //...... } 2)把注解加在某个类上: @MyAnnotation public class AnnotationTes

Makefile自动生成头文件依赖

前言 Makefile自动生成头文件依赖是很常用的功能,本文的目的是想尽量详细说明其中的原理和过程. Makefile模板 首先给出一个本人在小项目中常用的Makefile模板,支持自动生成头文件依赖. CC = gcc CFLAGS = -Wall -O INCLUDEFLAGS = LDFLAGS = OBJS = seq.o TARGETS = test_seq .PHONY:all all : $(TARGETS) test_seq:test_seq.o $(OBJS) $(CC) -o

使用automake、autoconf生成MakeFile文件

从helloworld入手 我们从大家最常使用的 例子程序helloworld开始. 下面的 过程如果简单地说来就是 : 新建三个文件: helloworld.c configure.in Makefile.am 然后执行: aclocal; autoconf; automake --add-missing; ./configure; make; ./helloworld 就可以看到Makefile被产生出来,而且可以将helloworld.c编译通过. 很简单吧,几条命令就可以做出一个符合惯例

linux学习笔记(一) 使用automake生成Makefile

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux系

自动生成Makefile的全过程详解

一.简介 Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用"./configure","make","make inst

cmake利用toolchain.cmake生成makefile之后,make生成静态库失败问题

问题描述 利用toolchian.cmake设置好编译器后,利用make指令生成静态库,出现以下问题 Error running link command: No such file or directory 出错原因,toolchain.cmake文件内没有声明静态库生成器AR:解决方式,在toolchian.cmake文件内添加下面的声明 SET(CMAKE_AR $(TOOLCHAIN_DIR)/bin/arm-linux-gnueabihf-ar CACHE FILEPATH "Arch

AutoConf自动生成Makefile(基于helloworld简单例子)

新建一个简单的helloworld工程文件夹,目录结构如下 hello.h代码: #include<stdio.h> void fprint() { printf("hello world!\n"); } hello.c代码: #include"hello.h" int main() { fprint(); return 0; } 利用AutoConf工具套件来自动生成Makefile 1. 进入helloworld/目录,运行autoscan 生成au

例解 autoconf 和 automake 生成 Makefile 文件

转自:http://www.ibm.com/developerworks/cn/linux/l-makefile/ 引子 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项 目开发还是安装应用软件,我们都经常要用到make或 make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系. 但是如

使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包(详解)

转自:http://blog.csdn.net/longerzone/article/details/12705507 一.前言 本文将介绍如何使用autotools生成一个Makefile文件,并在此基础上使用dh-make和debuild生成一个可发布的deb程序包,这也是我们在Linux下开发应用程序以及想要发布应用程序需要做的. 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make ins