3 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)
4 parallel = $(filter -j%, $(MAKEFLAGS))
5 nix = $(if $(findstring nix,$(shell realpath `which stack`)),--nix,)
7 build: build-$(flavour)
8 install: install-$(flavour) install-common
14 install-stack: build-stack
15 install -d -m755 $(DESTDIR)$(pfx)/bin
16 stack $(nix) --local-bin-path $(DESTDIR)$(pfx)/bin/ install
19 install -d -m755 $(DESTDIR)$(pfx)/lib/haskell-amqp-utils
20 install -m755 callback $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/
21 install -m644 callback.config.sh $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/
25 cabal install --only-dependencies $(CONSTRAINTS)
27 cabal build $(parallel)
30 install-cabal: build-cabal
31 cabal install --prefix=$(DESTDIR)$(pfx)
34 ./Setup configure --prefix=$(pfx)
35 ./Setup build $(parallel)
37 install-simple: build-simple
38 ./Setup copy --destdir=$(DESTDIR)
40 all: $(subst .hs,,$(wildcard *.hs))
47 rm -f Network/AMQP/Utils/*.hi Network/AMQP/Utils/*.o *.hi *.o $(subst .hs,,$(wildcard *.hs))
51 rm -f $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/callback
52 rm -f $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/callback.config.sh
53 rm -f $(DESTDIR)$(pfx)/bin/konsum
54 rm -f $(DESTDIR)$(pfx)/bin/agitprop
55 rm -f $(DESTDIR)$(pfx)/bin/arbeite
56 rm -f $(DESTDIR)$(pfx)/bin/plane
57 -rmdir $(DESTDIR)$(pfx)/lib/haskell-amqp-utils