AutoMake 使用实例
来源:互联网 发布:mac os 10.7的升级包 编辑:程序博客网 时间:2024/06/07 03:32
mkdir src includes
放两个文件在/src 与 /includes 下,分别为helloworld.c 与 helloworld.h
$autoscan
$mv configure.scan configure.in
$vim configure.in
将configure.in改为如下
# ImageBroswer for double screen project-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.67)
AC_INIT(Imagebroswer, 1.0, keenite@gmail.com)
AC_CONFIG_SRCDIR([src/Imagebroswer.c])
AC_CONFIG_HEADERS([condefs.h])
# Checks for programs.
AC_PROG_CC
AM_INIT_AUTOMAKE(imagebroswer,1.0)
AC_PROG_MAKE_SET
# Checks for libraries.
build_arm="no"
have_libminigui="no"
AC_CHECK_HEADERS(minigui/common.h, have_libminigui=yes, foo=bar)
AC_ARG_ENABLE(arm,
[--enable-arm enable the arm mode for the makefile <default = no>],
build_arm=$enableval)
threads version=”no”
AC_CHECK_DECLS(_MGRM_THREADS, threads_version="yes", foo=bar, [#include <minigui/common.h>])
use_newgal="no"
AC_CHECK_DECLS(_USE_NEWGAL, use_newgal="yes", foo=bar, [#include <minigui/common.h>])
LIBS="$LIBS -L/usr/local/lib -ljpeg -lminigui_ths -lpthread -ldl"
AC_CHECK_DECLS(_HAVE_MATH_LIB, LIBS="$LIBS -lm", foo=bar, [#include <minigui/common.h>])
AC_CHECK_DECLS(_MGIMAGE_PNG, LIBS="$LIBS -lpng", foo=bar, [#include <minigui/common.h>])
AC_CHECK_DECLS(_MGFONT_TTF, LIBS="$LIBS -lttf", foo=bar, [#include <minigui/common.h>])
AC_CHECK_DECLS(_MGFONT_FT2, LIBS="$LIBS -lfreetype", foo=bar, [#include <minigui/common.h>])
if test "x$build_arm" = "xyes"; then
AC_DEFINE(ARM_VERSION,1,[define the arm])
fi
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES(
Makefile
src/Makefile
)
AC_OUTPUT
需要注意几点:
1. 因为需要根据--enable-arm参数来决定是否定义#define ARM_VERSION, 所以与此相关的几行代码为:
AC_CONFIG_HEADERS([condefs.h])
AC_ARG_ENABLE(arm,
[--enable-arm enable the arm mode for the makefile <default = no>],
build_arm=$enableval)
if test "x$build_arm" = "xyes"; then
AC_DEFINE(ARM_VERSION,1,[define the arm])
fi
2. autoheader 用来生成头文件,不可或缺的一步
建立两个Makefile.am在src下和项目根目录下
$cat Makefile.am
SUBDIRS=src
$cat src/Makefile.am
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=helloworld
helloworld_SOURCES=helloworld.c
然后:
$aclocal
$autoconf
$autoheader
$touch NEWS README AUTHORS ChangeLog
$automake --add-missing
$./configure
$./make
- AutoMake 使用实例
- automake使用实例
- automake使用实例
- 实例解析 Automake 的使用
- Linux automake使用教程实例
- Autoconfig/Automake工具使用实例
- Automake 使用
- automake使用
- Automake 使用
- 使用autoconf、automake自动生成Makefile实例讲解
- 不错的实例(automake)
- Automake入门实例
- cygwin64 AutoMake 实例
- automake 之 helloworld 实例[转]
- automake/autoconf打包简单实例
- automake连载--Linux下使用automake入门
- automake连载--Linux下使用automake入门
- AutoMake使用小结
- Winform MDI窗体子窗体显示区域大小
- 设置Eclipse里面的Android Virtual Device的存储位置
- sql moneg 类型
- http://www.blogjava.net/Supershen/archive/2008/01/18/176207.html
- 循环和递归在算法中的应用
- AutoMake 使用实例
- pipe demo小程序
- 谷歌笔试:已知实力对比关系和出场顺序,输出比赛名次
- Java_JAR
- linux X Window System(私房菜)
- 终止处理程序
- stringbuffer 和 string
- 建造者模式c++实现
- proxool连接池的配置【结合spring和hibernate】