# SPDX-FileCopyrightText: 2022 Frank Doepper # # SPDX-License-Identifier: GPL-3.0-only 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)) nix = $(if $(findstring nix,$(shell realpath `which stack`)),--nix,) build: build-$(flavour) $(MAKE) -C doc DESTDIR=$(DESTDIR) pfx=$(pfx) build install: install-$(flavour) install-common build-stack: stack $(nix) setup stack $(nix) build install-stack: build-stack install -d -m755 $(DESTDIR)$(pfx)/bin stack $(nix) --local-bin-path $(DESTDIR)$(pfx)/bin/ install install-common: install -d -m755 $(DESTDIR)$(pfx)/lib/haskell-amqp-utils install -m755 callback copy-to-hotfolder $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/ install -m644 callback.config.sh $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/ $(MAKE) -C doc DESTDIR=$(DESTDIR) pfx=$(pfx) install build-cabal: cabal update cabal install --only-dependencies $(CONSTRAINTS) cabal configure 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)) Setup: Setup.hs ghc $< rm -f $@.hi $@.o README.md: $(MAKE) -C doc ../README.md clean: rm -f Network/AMQP/Utils/*.hi Network/AMQP/Utils/*.o *.hi *.o $(subst .hs,,$(wildcard *.hs)) rm -rf dist $(MAKE) -C doc $@ uninstall: rm -f $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/callback rm -f $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/copy-to-hotfolder rm -f $(DESTDIR)$(pfx)/lib/haskell-amqp-utils/callback.config.sh rm -f $(DESTDIR)$(pfx)/bin/konsum rm -f $(DESTDIR)$(pfx)/bin/agitprop rm -f $(DESTDIR)$(pfx)/bin/arbeite rm -f $(DESTDIR)$(pfx)/bin/plane -rmdir $(DESTDIR)$(pfx)/lib/haskell-amqp-utils