]> woffs.de Git - fd/haskell-amqp-utils.git/blob - Makefile
release 0.6.0.0
[fd/haskell-amqp-utils.git] / Makefile
1 DESTDIR=
2 pfx = /usr/local
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,)
6
7 build: build-$(flavour)
8 install: install-$(flavour) install-common
9
10 build-stack:
11         stack $(nix) setup
12         stack $(nix) build
13
14 install-stack: build-stack
15         install -d -m755 $(DESTDIR)$(pfx)/bin
16         stack $(nix) --local-bin-path $(DESTDIR)$(pfx)/bin/ install
17
18 install-common:
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/
22
23 build-cabal:
24         cabal update
25         cabal install --only-dependencies $(CONSTRAINTS)
26         cabal configure
27         cabal build $(parallel)
28         cabal test
29
30 install-cabal: build-cabal
31         cabal install --prefix=$(DESTDIR)$(pfx)
32
33 build-simple: Setup
34         ./Setup configure --prefix=$(pfx)
35         ./Setup build $(parallel)
36
37 install-simple: build-simple
38         ./Setup copy --destdir=$(DESTDIR)
39
40 all:    $(subst .hs,,$(wildcard *.hs))
41
42 Setup:  Setup.hs
43         ghc $<
44         rm -f [email protected] [email protected]
45
46 clean:
47         rm -f Network/AMQP/Utils/*.hi Network/AMQP/Utils/*.o *.hi *.o $(subst .hs,,$(wildcard *.hs))
48         rm -rf dist
49
50 uninstall:
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