您的位置:首页 > 其它

自动生成makefile文件过程

2011-10-07 14:37 344 查看
我只打算介绍如何自动生成makefile文件过程,给新手一个直接的了解,不打算讲原理,毕竟原理会慢慢明白的。

目标: 自动生成makefile 文件,把一个Box2D_Lite 编译,Box2D_Lite 精简版的2D物理引擎,代码量很少,适合学习原理。

环境: Linux 2.6.32-5-amd64 x86_64 GNU/Linux ;

已经有OpenGl环境,Linux 可以安装mesa 一个开源的OpenGL 实现;

gcc 编译环境 g++ 有用到;

autoscan、aclocal、autoconf、autoheader、automake 这些工具。

链接:
Box2D_Lite.zip http://code.google.com/p/box2d/downloads/list



解压后文件如下,很明显,原本有有自带的win 下vs 工程项目文件,但是没有makefile,在linux下需要我们自己编写makefile文件,这里我们用自动生成。



输入autoscan 运行,可以发现多出了几个文件,有configure.scan、autoscan.log 。




接下来,我们要修改扫描后生成的配置文件,configure.scan ,先重命名为configure.in,然后修改配置,配置如下。



配置前 configure.in




配置后,注意红色部分是修改的地方,绿色部分是新增的:



现在可以输入aclocal,又多出了几个文件,如下:



现在,新建makefile.am文件,并编辑,如下,内容,简单的说就是配置一下编译的参数:



接下来,输入autoheader ,生成config.h.in 、config.h文件,如下,



输入autoconf 如下:



输入automake ,这里需要添加一下参数automake --add-missing ,结果如下:



可以看到有configure 生成了,



接下来输入 ./configure ,进行最后的makefile生成,如果没出错的话就像下面一样:





看到有个叫 Makefile 的文件生成了,你兴奋不?最后就可以编译了,运行make:



结果发现了几个错误,没事,修改一下源代码,在main.cpp 里面修改 #include "GL/glut.h“,增加#include <stdio.h>,然后重新make,



先总结一下,我们输入的命令有 autoscan aclocal autoheader autoconf automake

上一张图 从ibm论坛那边搞过来的,



发现编译通过了有一个叫box 的东西生成,就是我们之前配置文件给他取的名字,来运行一下,看效果,



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: