bcachefs-tools: add tarball make target

This makes it easy to generate a tarball, which should eventually
facilitate packaging:  "make tarball"

Note that it's currently using the $(VERSION) from git describe
which may not be ideal once point releases are happening, but that
holds true for everywhere $(VERSION) is used.

All tar.xz files are removed via "make clean"

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
This commit is contained in:
Eric Sandeen 2022-11-15 13:51:39 -06:00 committed by Kent Overstreet
parent cde2d0e2fc
commit d9905d97d0

View File

@ -181,7 +181,7 @@ install: bcachefs lib
.PHONY: clean .PHONY: clean
clean: clean:
@echo "Cleaning all" @echo "Cleaning all"
$(Q)$(RM) bcachefs mount.bcachefs libbcachefs_mount.a tests/test_helper .version $(OBJS) $(DEPS) $(DOCGENERATED) $(Q)$(RM) bcachefs mount.bcachefs libbcachefs_mount.a tests/test_helper .version *.tar.xz $(OBJS) $(DEPS) $(DOCGENERATED)
$(Q)$(RM) -rf rust-src/*/target $(Q)$(RM) -rf rust-src/*/target
.PHONY: deb .PHONY: deb
@ -240,3 +240,20 @@ update-bcachefs-sources:
.PHONY: update-commit-bcachefs-sources .PHONY: update-commit-bcachefs-sources
update-commit-bcachefs-sources: update-bcachefs-sources update-commit-bcachefs-sources: update-bcachefs-sources
git commit -m "Update bcachefs sources to $(shell git -C $(LINUX_DIR) show --oneline --no-patch)" git commit -m "Update bcachefs sources to $(shell git -C $(LINUX_DIR) show --oneline --no-patch)"
SRCTARXZ = bcachefs-tools-$(VERSION).tar.xz
SRCDIR=bcachefs-tools-$(VERSION)
.PHONY: tarball
tarball: $(SRCTARXZ)
$(SRCTARXZ) : .gitcensus
$(Q)tar --transform "s,^,$(SRCDIR)/," -Jcf $(SRCDIR).tar.xz \
`cat .gitcensus`
@echo Wrote: $@
.PHONY: .gitcensus
.gitcensus:
$(Q)if test -d .git; then \
git ls-files > .gitcensus; \
fi