diff options
author | Cory Fields <theuni-nospam-@xbmc.org> | 2012-09-20 02:42:43 -0400 |
---|---|---|
committer | Cory Fields <theuni-nospam-@xbmc.org> | 2012-09-20 03:35:41 -0400 |
commit | d24d30ad2bd83c02c02342295f883d73aadf29f1 (patch) | |
tree | dbd9093b7a923d62789df4e5da9bc4c264e36dd9 /bootstrap.mk | |
parent | c31aca24e63b1b70a6e207f360f134f460cbe2d7 (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.mk | 39 |
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 ) + |