summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildlib/makefile.in24
-rw-r--r--configure.in6
2 files changed, 26 insertions, 4 deletions
diff --git a/buildlib/makefile.in b/buildlib/makefile.in
new file mode 100644
index 000000000..a2f8300ce
--- /dev/null
+++ b/buildlib/makefile.in
@@ -0,0 +1,24 @@
+# -*- make -*-
+
+# This is the build directory make file, it sets the build directory
+# and runs the src makefile.
+
+SRCDIR=@top_srcdir@
+SUBDIRS:=./doc ./bin ./obj ./include/apt-pkg ./include/deity
+BUILD:=$(shell pwd)
+export BUILD
+
+# Chain to the parent make to do the actual building
+.PHONY: headers library clean veryclean all binary program doc
+headers library clean veryclean all binary program doc:
+ $(MAKE) -C $(SRCDIR) $@
+
+# This makes any missing directories
+.PHONY: dirs
+MISSING_DIRS:= $(filter-out $(wildcard $(SUBDIRS)),$(SUBDIRS))
+dirs:
+ifneq ($(words $(MISSING_DIRS)),0)
+ @mkdir $(MISSING_DIRS)
+else
+ @echo > /dev/null
+endif
diff --git a/configure.in b/configure.in
index b3f6c57f4..61460e290 100644
--- a/configure.in
+++ b/configure.in
@@ -9,6 +9,7 @@ dnl need a C++ compiler that is semi-standard conformant, exceptions are
dnl not used but STL is.
AC_INIT(configure.in)
+AC_CONFIG_AUX_DIR(buildlib)
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in)
dnl Tom's host stuff
@@ -84,7 +85,4 @@ dnl Check for debiandoc
AC_CHECK_PROG(DEBIANDOC_HTML,debiandoc2html,"yes","")
AC_CHECK_PROG(DEBIANDOC_TEXT,debiandoc2text,"yes","")
-AC_OUTPUT(environment.mak:buildlib/environment.mak.in)
-
-dnl Setup the directories
-mkdir doc bin obj include/apt-pkg include/deity
+AC_OUTPUT(environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in,make dirs)