File: Makefile

package info (click to toggle)
github-backup 1.20160522-2
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 448 kB
  • ctags: 4
  • sloc: haskell: 3,813; makefile: 30; sh: 19
file content (34 lines) | stat: -rw-r--r-- 1,345 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
PREFIX=/usr
CABAL?=cabal # set to "./Setup" if you lack a cabal program

build: Build/SysConfig.hs
	$(CABAL) build
	ln -sf dist/build/github-backup/github-backup github-backup
	ln -sf dist/build/gitriddance/gitriddance gitriddance
	@$(MAKE) tags >/dev/null 2>&1 &

Build/SysConfig.hs: configure.hs Build/TestConfig.hs Build/Configure.hs
	if [ "$(CABAL)" = ./Setup ]; then ghc --make Setup; fi
	$(CABAL) configure --ghc-options="$(shell Build/collect-ghc-options.sh)"

install: build
	install -d $(DESTDIR)$(PREFIX)/bin
	install github-backup gitriddance $(DESTDIR)$(PREFIX)/bin
	install -d $(DESTDIR)$(PREFIX)/share/man/man1
	install -m 0644 github-backup.1 gitriddance.1 $(DESTDIR)$(PREFIX)/share/man/man1
	install -d $(DESTDIR)$(PREFIX)/share/bash-completion/completions
	./github-backup --bash-completion-script github-backup > $(DESTDIR)$(PREFIX)/share/bash-completion/completions/github-backup

clean:
	rm -rf github-backup gitriddance dist configure Build/SysConfig.hs Setup tags
	find -name \*.o -exec rm {} \;
	find -name \*.hi -exec rm {} \;

# Upload to hackage.
hackage: clean
	./Build/make-sdist.sh
	@cabal upload dist/*.tar.gz

# hothasktags chokes on some template haskell etc, so ignore errors
tags:
	find . | grep -v /.git/ | grep -v /tmp/ | grep -v /dist/ | grep -v /doc/ | egrep '\.hs$$' | xargs hothasktags > tags 2>/dev/null