在使automake autoconf 等工具管理的现有项目里增加自己源文件和静态库

来源:互联网 发布:安卓网络设置软件 编辑:程序博客网 时间:2024/06/05 01:50
  •  使用autoscan aclocallibtoolize autoheader automake autoconf等工具管理项目的一般方法
    http://www.ibm.com/developerworks/cn/linux/l-makefile/
    ( 参考别人的 )
    图 2生成Makefile流程图

  • 增加自己的C文件和静态库
    1. 在目录下增加gb目录,用来存放自己的C文件;增加一个include目录用来存放头文件;增加一个lib目录用来存放第三方的静态库文件。
    2. 修改项目目录下的configure.ac文件内容,增加编译gb目录代码的编译开关
      AC_ARG_ENABLE(gb,
          [  --enable-gb  Build gb-test ( requires GTK ) [default=no]],
               enable_gb=$enableval,
              enable_gb=no)
    3. 在下面项里增加自己的子目录,就能在这个目录下生成Makefile文件了。
      AC_OUTPUT([
      Makefile
      src/Makefile
      layouts/Makefile
      examples/Makefile
      gb/Makefile
      ])
      注:在configure.ac文件里有很多的宏,要自己手工添加;不同宏的含义还要学习一下。
    4. 在gb目录下增加一个Makefile.am文件,它是Makefile.in的源头,而Makefile.in又是Makefile文件的父文件。

      Makefile.am的内容如下:
      PREFIXDIR  = $(prefix)

      INCLUDES =  -I../include $(GTK2_CFLAGS)
      bbk_gb_test_CFLAGS = `pkg-config --cflags --libs gtk+-2.0`

      noinst_PROGRAMS = bbk_gb_test

      bbk_gb_test_SOURCES=bbk_gb_test.c gb_sc.c gb_en.c
      bbk_gb_test_LDADD=$(GTK2_LIBS)  ../lib/libgbe.a

      变量bbk_gb_test_LDADD就是指定链接的静态库
    5. 执行项目里的autogen.sh脚本,就能在gb目录下生成Makefile文件了。
原创粉丝点击