# RUN_COMMAND :: command to be run for "make run"
#
-GHC ?= ghc
-FIND ?= find
-RM_RF ?= rm -rf
-SUDO ?= sudo
+GHC ?= ghc
+FIND ?= find
+RM_RF ?= rm -rf
+SUDO ?= sudo
+AUTOCONF ?= autoconf
-SETUP_FILE ?= $(wildcard Setup.*hs)
-CABAL_FILE ?= $(wildcard *.cabal)
+CONFIGURE_ARGS ?= --disable-optimization
-CONFIGURE_ARGS := --disable-optimization
+SETUP_FILE := $(wildcard Setup.*hs)
+CABAL_FILE := $(wildcard *.cabal)
-build: dist/setup-config Setup
+ifeq ($(shell ls configure.ac 2>/dev/null),configure.ac)
+ AUTOCONF_AC_FILE := configure.ac
+ AUTOCONF_FILE := configure
+else
+ ifeq ($(shell ls configure.in 2>/dev/null),configure.in)
+ AUTOCONF_AC_FILE := configure.in
+ AUTOCONF_FILE := configure
+ else
+ AUTOCONF_AC_FILE :=
+ AUTOCONF_FILE :=
+ endif
+endif
+
+BUILDINFO_IN_FILE := $(wildcard *.buildinfo.in)
+BUILDINFO_FILE := $(BUILDINFO_IN_FILE:.in=)
+
+all: build
+
+build: setup-config build-hook
./Setup build
+build-hook:
+
ifeq ($(RUN_COMMAND),)
run:
@echo "cabal-package.mk: No command to run."
$(RUN_COMMAND)
endif
-dist/setup-config: $(CABAL_FILE) Setup
+setup-config: dist/setup-config setup-config-hook $(BUILDINFO_FILE)
+
+setup-config-hook:
+
+dist/setup-config: $(CABAL_FILE) Setup $(AUTOCONF_FILE)
+ ./Setup configure $(CONFIGURE_ARGS)
+
+$(AUTOCONF_FILE): $(AUTOCONF_AC_FILE)
+ $(AUTOCONF)
+
+$(BUILDINFO_FILE): $(BUILDINFO_IN_FILE) configure
./Setup configure $(CONFIGURE_ARGS)
Setup: $(SETUP_FILE)
$(GHC) --make Setup
-clean:
+clean: clean-hook
$(RM_RF) dist Setup *.o *.hi .setup-config *.buildinfo
$(FIND) . -name '*~' -exec rm -f {} \;
-doc: dist/setup-config Setup
+clean-hook:
+
+doc: setup-config
./Setup haddock
install: build
$(SUDO) ./Setup install
-sdist: Setup
+sdist: setup-config
./Setup sdist
test: build
./Setup test
-.PHONY: build run clean install doc sdist test
+.PHONY: build build-hook setup-config setup-config-hook run clean clean-hook install doc sdist test
--- /dev/null
+AC_INIT([blackboard-dns], [], [pho at cielonegro dot org])
+AC_CONFIG_SRCDIR([blackboard-dns.cabal])
+
+# $localstatedir has a reference to ${prefix} but the ${prefix} is
+# "NONE" at this time. AC_OUTPUT changes the value of ${prefix} from
+# "NONE" to $ac_default_prefix but it's too late!
+if test "x$prefix" = "xNONE"; then
+ prefix=$ac_default_prefix
+fi
+
+DDNS_LOCALSTATEDIR=`eval echo "$localstatedir"`/blackboard-dns
+AC_SUBST([DDNS_LOCALSTATEDIR])
+
+AC_CONFIG_FILES([
+ blackboard-dns.buildinfo
+])
+AC_OUTPUT