C++简单的automake脚本

  1. 在工程根目录下执行autoscan命令自动生成configure.scan文件
  2. 把configure.scan文件重命名为configure.in
  3. 修改configure.in内容如下两处宏参数:
    # 其中server是指定生成的程序名
    AM_INIT_AUTOMAKE(server, 1.0)
    # 其中Debut/makefile是指定生成的makefile的路径
    AC_CONFIG_FILES([Debug/makefile])
  4. 编辑生成g_makefile.sh脚本,代码如下:
#!/bin/sh

# 将Makefile.am放在工程目录下的Debug目录中;
# 此脚本必须放在工程根目录下, main.cpp文件放在工程根目录下;

function generate_src_list()
{
    echo "server_SOURCES=\\";
    for SOURCE_FILE in `find . -iname "*.cpp"  -or -iname "*.cc" | grep -v "main.cpp" | sort -r`
    do  
        echo ".$SOURCE_FILE \\";
    done;
    echo "../main.cpp"
    echo
}

function generate_inc_list()
{
    echo "server_CPPFLAGS=\\";
    for PATH_NAME in `find . -iname "*.h" | sed 's/\/[A-Z_a-z0-9]*\.h$//g' | sort -u | grep -v "Debug\|^\.$\|\.pb\.h"`
    do  
        echo "-I.$PATH_NAME \\";
    done;
    echo "-I.."
}

echo "bindir=\${prefix}/Debug"
echo 
echo "bin_PROGRAMS = server"
echo 
cat def.mk
echo
echo
generate_inc_list
echo
generate_src_list
echo

5.编辑生成auto_compile_ex.sh脚本,代码如下:

#!/bin/sh

# 此脚本必须在工程根目录下执行
LOCAL_PATH=$(pwd)
rm -rf autoscan.log aclocal.m4 config.* configure depcomp install-sh missing ltmain.sh m4 stamp-h1 autom4te.cache lib_log log conf*.file

svn update

if [ $# -gt 0 ];then
    if [ $1 == "clean" ]; then
        exit 0;
    fi; 
fi;

if [ ! -d Debug ]; then
    mkdir Debug;
fi;

if [ ! -d m4 ]; then
    mkdir m4; 
fi;

sh g_makefile.sh > Debug/makefile.am

aclocal -I m4
autoheader
libtoolize --force
automake --add-missing
autoconf

#CC="distcc g++" CXX="distcc g++" ./configure --prefix=`pwd`
CC="g++" CXX="g++" ./configure --prefix=`pwd`
if [ $? -ne 0 ]; then
    echo "confiture error;";
    exit -1; 
fi;

cd ${LOCAL_PATH}/Debug
#make clean;
make -j12 all;
if [ $? -ne 0 ]; then
    echo "make error;";
    exit -1; 
fi;

cd ..
rm -rf autoscan.log aclocal.m4 config.* configure depcomp install-sh missing ltmain.sh m4 stamp-h1 autom4te.cache lib_log log conf*.file

6.在工程根目录下执行如下命令进行自动编译:
sh auto_compile_ex.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好的兆头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值