DESTDIR= pfx=/usr/local flavour=$(shell if stack --version >/dev/null 2>&1; then echo stack; elif cabal --version >/dev/null 2>&1; then echo cabal; else echo simple; fi) parallel=$(filter -j%, $(MAKEFLAGS)) build: build-$(flavour) install: install-$(flavour) install-common build-stack: stack setup stack build install-stack: build-stack install -d -m755 $(DESTDIR)$(pfx)/bin install -m755 $$(stack path --local-install-root)/bin/konsum $(DESTDIR)$(pfx)/bin/ install -m755 $$(stack path --local-install-root)/bin/agitprop $(DESTDIR)$(pfx)/bin/ install-common: install -d -m755 $(DESTDIR)$(pfx)/lib/haskell-amqp-utils install -m755 callback $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/ install -m644 callback.config.sh $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/ build-cabal: cabal update cabal install --only-dependencies --enable-tests $(CONSTRAINTS) cabal configure --enable-tests cabal build $(parallel) cabal test install-cabal: build-cabal cabal install --prefix=$(DESTDIR)$(pfx) build-simple: Setup ./Setup configure --prefix=$(pfx) ./Setup build $(parallel) install-simple: build-simple ./Setup copy --destdir=$(DESTDIR) all: $(subst .hs,,$(wildcard *.hs)) %: %.hs ghc -Wall -threaded $< rm -f $@.hi $@.o clean: rm -f *.hi *.o $(subst .hs,,$(wildcard *.hs)) rm -rf dist uninstall: rm -f $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/callback rm -f $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/callback.config.sh rm -f $(DESTDIR)$(pfx)/bin/konsum rm -f $(DESTDIR)$(pfx)/bin/agitprop -rmdir $(DESTDIR)$(pfx)/lib/haskell-amqp-utils