summaryrefslogtreecommitdiff
path: root/buildlib
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:51:19 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:51:19 +0000
commit46976ca4e7393625fb25728d876e0c15b7e55c15 (patch)
tree952a560cac2d6a85057793778f4314e798fcfaf2 /buildlib
parent2c618e31b932f5c583bae5f144bef8035e68cb22 (diff)
Configuration fragment
Author: jgg Date: 1998-11-05 00:32:06 GMT Configuration fragment
Diffstat (limited to 'buildlib')
-rw-r--r--buildlib/configure.mak35
-rw-r--r--buildlib/defaults.mak4
2 files changed, 38 insertions, 1 deletions
diff --git a/buildlib/configure.mak b/buildlib/configure.mak
new file mode 100644
index 000000000..64c3179d1
--- /dev/null
+++ b/buildlib/configure.mak
@@ -0,0 +1,35 @@
+# -*- make -*-
+
+# This make fragment is included by the toplevel make to handle configure
+# and setup. It defines a target called startup that when run will init
+# the build directory, generate configure from configure.in, create aclocal
+# and has rules to run config.status should one of the .in files change.
+
+# Input
+# BUILD - The build director
+# CONVERTED - List of files output by configure $(BUILD) is prepended
+# The caller must provide depends for these files
+# It would be a fairly good idea to run this after a cvs checkout.
+BUILD=build
+
+.PHONY: startup
+startup: configure $(addprefix $(BUILD)/,$(CONVERTED))
+
+configure: aclocal.m4 configure.in
+ autoconf
+aclocal.m4:
+ aclocal -I buildlib
+$(BUILD)/config.status: configure
+ test -e $(BUILD) || mkdir $(BUILD)
+ (HERE=`pwd`; cd $(BUILD) && $$HERE/configure)
+$(CONVERTED): $(BUILD)/config.status
+ (cd $(BUILD) && ./config.status)
+
+# We include the environment if it exists and re-export it to configure. This
+# allows someone to edit it and not have their changes blown away.
+Env = $(wildcard $(BUILD)/environment.mak)
+ifneq ($(words $(Env)),0)
+include $(Env)
+export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS PICFLAGS
+endif
+
diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak
index 9b011301e..549be5385 100644
--- a/buildlib/defaults.mak
+++ b/buildlib/defaults.mak
@@ -18,7 +18,9 @@
# and then within the rule $(@F) gets back $(LOCAL)! Other rules will
# have to use some other mechanism (filter perhaps?) The reason such
# lengths are used is so that each directory can contain several 'instances'
-# of any given module
+# of any given module. I notice that the very latest gmake has the concept
+# of local variables for rules. It is possible this feature in conjunction
+# with the generated names will provide a very powerfull solution indeed!
# A build directory is used by default, all generated items get put into
# there. However unlike automake this is not done with a VPATH build