From fc35e5f3a3b932e615b3e15eceb2c3a3da2be098 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 11 Nov 2016 15:01:55 -0400 Subject: sync makefile with git-annex's * Makefile: Support building with stack as well as cabal. * Makefile: The CABAL variable has been renamed to BUILDER. --- CHANGELOG | 2 ++ Makefile | 23 +++++++++++++++++------ debian/rules | 2 +- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c57824c..faa87c4 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,8 @@ git-repair (1.20161111) unstable; urgency=medium it is NOT the full git-repair source tree. * debian/changelog: Converted to symlinks to CHANGELOG. * Merge from git-annex. + * Makefile: Support building with stack as well as cabal. + * Makefile: The CABAL variable has been renamed to BUILDER. -- Joey Hess Fri, 11 Nov 2016 14:56:14 -0400 diff --git a/Makefile b/Makefile index f4acea5..bd2ac44 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,25 @@ +# set to "./Setup" if you lack a cabal program. Or can be set to "stack" +BUILDER?=cabal +GHC?=ghc + PREFIX=/usr -CABAL?=cabal # set to "./Setup" if you lack a cabal program build: Build/SysConfig.hs - $(CABAL) build - ln -sf dist/build/git-repair/git-repair git-repair + $(BUILDER) build $(BUILDEROPTIONS) + if [ "$(BUILDER)" = stack ]; then \ + ln -sf $$(find .stack-work/ -name git-repair -type f | grep build/git-annex/git-repair | tail -n 1) git-repair; \ + else \ + ln -sf dist/build/git-repair/git-repair git-repair; \ + fi @$(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)" +Build/SysConfig.hs: Build/TestConfig.hs Build/Configure.hs + if [ "$(BUILDER)" = ./Setup ]; then ghc --make Setup; fi + if [ "$(BUILDER)" = stack ]; then \ + $(BUILDER) build $(BUILDEROPTIONS); \ + else \ + $(BUILDER) configure --ghc-options="$(shell Build/collect-ghc-options.sh)"; \ + fi install: build install -d $(DESTDIR)$(PREFIX)/bin diff --git a/debian/rules b/debian/rules index 4d8fa21..9198916 100755 --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,7 @@ #!/usr/bin/make -f # Avoid using cabal, as it writes to $HOME -export CABAL=./Setup +export BUILDER=./Setup # Do use the changelog's version number, rather than making one up. export RELEASE_BUILD=1 -- cgit v1.2.3