aboutsummaryrefslogtreecommitdiff
path: root/bootstrap.mk
diff options
context:
space:
mode:
authorCory Fields <theuni-nospam-@xbmc.org>2012-09-20 02:42:43 -0400
committerCory Fields <theuni-nospam-@xbmc.org>2012-09-20 03:35:41 -0400
commitd24d30ad2bd83c02c02342295f883d73aadf29f1 (patch)
treedbd9093b7a923d62789df4e5da9bc4c264e36dd9 /bootstrap.mk
parentc31aca24e63b1b70a6e207f360f134f460cbe2d7 (diff)
build: bootstrap overhaul
Put an end to the constant autoreconfs when switching branches. Use make to determine when bootstrapping for xbmc and subprojects needs to happen (hint: rarely). bootstrapping can now be done in parallel, but I didn't obseve much (any?) speed increase. Also allows for easier skipping of reconfigures for minor/cosmetic configure.in changes. This should be transparent to users, other than the fact that it's much faster. Same build procedure as always: ./bootstrap && ./configure && make
Diffstat (limited to 'bootstrap.mk')
-rw-r--r--bootstrap.mk39
1 files changed, 39 insertions, 0 deletions
diff --git a/bootstrap.mk b/bootstrap.mk
new file mode 100644
index 0000000000..b4dfe13194
--- /dev/null
+++ b/bootstrap.mk
@@ -0,0 +1,39 @@
+BOOTSTRAP_SUBDIRS += configure.in
+BOOTSTRAP_SUBDIRS += lib/libid3tag/libid3tag/configure.ac
+BOOTSTRAP_SUBDIRS += xbmc/screensavers/rsxs-0.9/configure.ac
+BOOTSTRAP_SUBDIRS += xbmc/visualizations/Goom/goom2k4-0/configure.in
+BOOTSTRAP_SUBDIRS += lib/libapetag/configure.in
+BOOTSTRAP_SUBDIRS += lib/cpluff/configure.ac
+BOOTSTRAP_SUBDIRS += lib/gtest/configure.ac
+
+ifneq ($(wildcard lib/libdvd/libdvdcss/configure.ac),)
+BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdcss/configure.ac
+DVD_CSS=lib/libdvd/libdvdcss/configure
+endif
+BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdread/configure.ac
+BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdnav/configure.ac
+
+ifneq ($(wildcard pvr-addons/Makefile.am),)
+BOOTSTRAP_SUBDIRS += pvr-addons/configure.ac
+endif
+
+BOOTSTRAP_TARGETS=$(basename $(BOOTSTRAP_SUBDIRS))
+all: $(BOOTSTRAP_TARGETS)
+
+#preserve order for libdvd. dvdcss (if present) -> dvdread -> dvdnav.
+lib/libdvd/libdvdread/configure: $(DVD_CSS)
+lib/libdvd/libdvdnav/configure: lib/libdvd/libdvdread/configure
+
+%: %.ac
+ autoreconf -vif $(@D)
+ -@rm -rf $(@D)/autom4te.cache
+
+%: %.in
+ autoreconf -vif $(@D)
+ -@rm -rf $(@D)/autom4te.cache
+
+configure: configure.in
+ autoreconf -vif $(@D)
+ -@rm -rf $(@D)/autom4te.cache
+ @test -n "$$BOOTSTRAP_STANDALONE" || ( echo "Configuration is stale. You should almost certainly reconfigure" && false )
+