每次运行autotools时如何运行脚本(用于生成版本号)

时间:2014-02-28 12:50:00

标签: eclipse sh autotools automake

我正在使用autotools / eclipse / linux。 我想在每次点击构建按钮时运行一个脚本来增加头文件中的内部版本号。我是否将它添加到Makefile.am中?这是什么语法?

2 个答案:

答案 0 :(得分:1)

您可以这样做:将其添加到all目标,以便每次都运行,并将其声明为.PHONY,以便make不会尝试将其与现有关联文件。

all: update-build-number

.PHONY: update-build-number
update-build-number:
    $(srcdir)/my_increment_script

答案 1 :(得分:0)

对于尝试使用git进行版本控制并自动化其版本编号的其他人来说,这可能很有用

这是我的号码生成器:

#!/bin/sh
#echo "Test version of version_script runs OK!"
    majorversion=1
    #echo "Commits"
    #git rev-list HEAD
    lastmerge=`git rev-list --merges HEAD | head -n1`
    #echo "Last Merge"
    #echo $lastmerge
    #echo "Merges (Sub version)"
    #git rev-list --merges HEAD
    subvn=`git rev-list --merges HEAD | wc -l`
    #echo $subvn
    #echo "Commits+1 since last merge (Sub sub version)"
    subsubvn=`git rev-list HEAD | grep -B99999 -e$lastmerge - | wc -l`
    #echo $subsubvn
    #echo "No merges"
    #git rev-list --no-merges HEAD
    #git rev-list --no-merges HEAD | wc -l
    #echo $majorversion.$subvn.$subsubvn > versionnumfile
    echo $majorversion.$subvn.$sub

主要版本是硬编码(目前),子版本是合并数量,子版本是自上次合并以来的提交数量(+1)