我正在编写程序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
答案 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的,意味着它的依赖关系不是真正的目标。)