致力于制作

时间:2011-10-19 15:35:08

标签: git makefile

我正在编写程序C并使用git跟踪我的源代码。

每次运行makefile时,我都需要提交构建。 (是的,我知道这不是一个理想的事情或'聪明'的想法,但我必须在学校这样做。)

如何使用make文件中的日期注释将myprogram提交到我的git repo? 我应该使用shell脚本吗?

这是我的Makefile下面的

BUILDID=$(shell date +%Y%m%d-%H:%M:%S)
CFLAGS=-Wall -g

all: myprogram

clean:
    rm -f *.o
    rm -f myprogram

1 个答案:

答案 0 :(得分:1)

正如您在问题中所承认的那样,有很多方法可以做到这一点没有意义。但是,假设您想要的是让您的git存储库反映工作树中的所有更改(除了忽略的文件),您可以执行以下操作:

.PHONY: all commit

BUILDID=$(shell date +%Y%m%d-%H:%M:%S)
CFLAGS=-Wall -g

all: myprogram commit

commit:
    git add -A .
    git commit -m 'Automatic commit of successful build $(BUILDID)'

clean:
    rm -f *.o
    rm -f myprogram

.PHONY是特定于GNU的,意味着它的依赖关系不是真正的目标。)