1 # -*- makefile-gmake -*-
5 # CONFIGURE_ARGS :: arguments to be passed to ./Setup configure
6 # default: --disable-optimization
8 # RUN_COMMAND :: command to be run for "make run"
18 CONFIGURE_ARGS ?= --disable-optimization
20 SETUP_FILE := $(wildcard Setup.*hs)
21 CABAL_FILE := $(wildcard *.cabal)
23 ifeq ($(shell ls configure.ac 2>/dev/null),configure.ac)
24 AUTOCONF_AC_FILE := configure.ac
25 AUTOCONF_FILE := configure
27 ifeq ($(shell ls configure.in 2>/dev/null),configure.in)
28 AUTOCONF_AC_FILE := configure.in
29 AUTOCONF_FILE := configure
36 BUILDINFO_IN_FILE := $(wildcard *.buildinfo.in)
37 BUILDINFO_FILE := $(BUILDINFO_IN_FILE:.in=)
41 build: setup-config build-hook
46 ifeq ($(RUN_COMMAND),)
48 @echo "cabal-package.mk: No command to run."
49 @echo "cabal-package.mk: If you want to run something, define RUN_COMMAND variable."
52 @echo ".:.:. Let's go .:.:."
56 setup-config: dist/setup-config setup-config-hook $(BUILDINFO_FILE)
60 dist/setup-config: $(CABAL_FILE) Setup $(AUTOCONF_FILE)
61 ./Setup configure $(CONFIGURE_ARGS)
63 $(AUTOCONF_FILE): $(AUTOCONF_AC_FILE)
66 $(BUILDINFO_FILE): $(BUILDINFO_IN_FILE) configure
67 ./Setup configure $(CONFIGURE_ARGS)
73 $(RM_RF) dist Setup *.o *.hi .setup-config *.buildinfo
74 $(FIND) . -name '*~' -exec rm -f {} \;
82 $(SUDO) ./Setup install
92 --ignore="Use string literal" \
93 --ignore="Use concatMap"
95 .PHONY: build build-hook setup-config setup-config-hook run clean clean-hook install doc sdist test lint