[beast: 4/11] BSE: remake bsehack.idl via stamp file to avoid unneccessary BEAST recompilations



commit 4b585bc5a5aee8279790e78907b5eeeef0e42812
Author: Tim Janik <timj gnu org>
Date:   Mon Sep 7 18:55:38 2015 +0200

    BSE: remake bsehack.idl via stamp file to avoid unneccessary BEAST recompilations

 bse/Makefile.am |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)
---
diff --git a/bse/Makefile.am b/bse/Makefile.am
index c18dc96..8e422df 100644
--- a/bse/Makefile.am
+++ b/bse/Makefile.am
@@ -283,18 +283,21 @@ bsegenbasics.cc: bsebasics.idl $(SFIDL) bsebasics.genidl.hh
        $(Q) $(SFIDL) --core-cxx --macro $(<F) $(SFIDL_INC) $< > $@ || (rm $@ ; exit 1 )
 
 
-#
-# this file describes the BSE public API and needs to be generated at the
-# end of the build process
-#
-bsehack.idl: bsebasics.idl bseprocidl
-       grep -v bsehack.idl $(srcdir)/bse.idl | $(SFIDL) $(SFIDL_INC) --list-types - > xgen-2-$(@F)
-       echo "/* this file was generated from make $< */" > xgen-$(@F) \
-       && ./bseprocidl xgen-2-$(@F) --g-fatal-warnings >> xgen-$(@F) \
-       && cp xgen-$(@F) bsehack.idl \
-       && rm -f xgen-$(@F) xgen-2-$(@F)
-CLEANFILES += bsehack.idl
+# == bsehack.idl ==
+# currently generated from BSE introspection data, needed to build the old IDL bindings
 noinst_DATA = bsehack.idl
+bsehack.idl: stamp-bhi # generate indirectly via timestamp file to avoid excessive rebuilds
+       @test -f $@ || rm -f stamp-bhi
+       @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-bhi
+CLEANFILES += bsehack.idl stamp-bhi
+stamp-bhi: bse.idl bsebasics.idl bsecxxbase.idl bsecxxmodule.idl bseprobe.idl bseprocidl # real deps for 
bsehack.idl
+       @echo "  GEN     " bsehack.idl
+       $(Q) echo "/* file generated by make bsehack.idl */"     > xgen-bhi1
+       $(Q) grep -v 'include.*bsehack.idl' $(srcdir)/bse.idl | $(SFIDL) $(SFIDL_INC) --list-types - > 
xgen-bhi2
+       $(Q) ./bseprocidl xgen-bhi2 --g-fatal-warnings          >> xgen-bhi1
+       $(Q) cmp xgen-bhi1 bsehack.idl 2>/dev/null || mv xgen-bhi1 bsehack.idl
+       $(Q) rm -f xgen-bhi1 xgen-bhi2 && touch $@
+CLEANFILES += bsehack.idl
 
 # == BSE IDL API (AIDA) ==
 AUXTYPES_PY = $(srcdir)/AuxTypes.py


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]