packages feed

context-free-grammar-0.1.1: Makefile

.PHONY : all
all :
	cabal build

.PHONY : test
test :
	cabal test

################################
# department of sanitation
################################

.PHONY : clean
clean :
	cabal clean
	# remove emacs cruft
	-find . -name '*~' -delete
	-find . -name '\#*' -delete

################################
# distribution
################################

.PHONY : dist
dist : all
	-cabal check
	cabal sdist

TEMPDIR := $(shell mktemp -d /tmp/temp.XXXX)

.PHONY : dist-test
dist-test : dist
	$(eval DIR := $(shell (cabal info . | awk '{print $$2 ; exit}')))
	$(eval TARBALL := $(DIR).tar)
	$(eval TGZBALL := $(TARBALL).gz)
	cp dist-newstyle/sdist/$(TGZBALL) $(TEMPDIR)
	cd $(TEMPDIR) && gunzip $(TGZBALL) && tar -xf $(TARBALL)
	cd $(TEMPDIR)/$(DIR) && make test
	rm -rf $(TEMPDIR)

################################
# documentation
################################

.PHONY : docs
docs :
	cabal haddock --haddock-for-hackage

.PHONY : docs-open
docs-open : docs
	# I can't find a better way to find the haddocks than guessing.
	open `find dist-newstyle/ -name doc-index.html`


################################
# reformatting
################################

.PHONY : reformat
reformat :
	find src tests -name '*.hs' -exec hindent \{} \;

################################
# de-linting
################################

.PHONY : lint
lint :
	hlint src tests