使用 auto tools 来管理gnu 项目 ,基础

输入: configure.ac和Makefile.am
输出: Makefile

目录结构,每个目录下需要有一个Makefile.am,在顶级目录有一个configure.ac

helloworld_cc
    configure.ac
    Makefile.am
    src
        Makefile.am
        simple.cc

configure.ac内容
 代码
 
  1. AC_INIT(src/simple.cc)  
  2. AM_INIT_AUTOMAKE(myapp,0.1)  
  3. AC_CONFIG_HEADER(config.h)  
  4. AC_PROG_CC  
  5. AC_PROG_CXX  
  6.   
  7. pkg_modules="gtkmm-2.4 >= 2.8.0"  
  8. PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])  
  9. AC_SUBST(PACKAGE_CFLAGS)  
  10. AC_SUBST(PACKAGE_LIBS)  
  11.   
  12. AC_OUTPUT(Makefile src/Makefile )  


Makefile.am内容
代码
  1. SUBDIRS = src  


src/Makefile.am 内容
代码
 
  1. INCLUDES = @PACKAGE_CFLAGS@  
  2.   
  3. bin_PROGRAMS = hello  
  4. hello_SOURCES = simple.cc  
  5.   
  6. hello_LDADD = @PACKAGE_LIBS@   




接下来:
1: "autoheader" 产生config.h.in
2: "aclocal"  产生aclocal.m4
3: "autoconf" 从configure.ac 生成  configure 脚本
4: "automake" 从Makefile.am 生成 Makefile.in ( 此处可能
            需要 automake --add-missing,并 touch NEWS ChangeLog README等 )
5: "./configure" 从Makefile.in 产生 Makefile
6: "make"   

你可能感兴趣的:(项目管理,脚本)