package := $(notdir ./$(cabal:.cabal=))
version := $(shell sed -ne 's/^version: *\(.*\)/\1/p' $(cabal))
project := $(patsubst %.cabal,%,$(cabal))
+cabal_builddir ?= dist-newstyle
all: build
build:
git tag -f -s -m "$(package) v$(version)" $(package)-$(version)
tar:
+ git diff --exit-code
reuse lint
cabal sdist
cabal haddock --haddock-for-hackage --enable-doc
upload: LANG=C
-upload: tar
- cabal upload $(CABAL_UPLOAD_FLAGS) dist-newstyle/sdist/$(package)-$(version).tar.gz
- cabal upload $(CABAL_UPLOAD_FLAGS) --documentation dist-newstyle/$(package)-$(version)-docs.tar.gz
+upload: tar tag
+ git push --follow-tags $(GIT_PUSH_FLAGS)
+ cabal upload $(CABAL_UPLOAD_FLAGS) "$(cabal_builddir)"/sdist/$(package)-$(version).tar.gz
+ cabal upload $(CABAL_UPLOAD_FLAGS) --documentation "$(cabal_builddir)"/$(package)-$(version)-docs.tar.gz
%/publish: CABAL_UPLOAD_FLAGS+=--publish
%/publish: %