[beast/devel: 7/17] BSE: start generating bseserverapi.hh and bseserverapi.cc from bseapi.idl



commit 9be2b89b66726f7bdd64d6169664a6184ef47d33
Author: Tim Janik <timj gnu org>
Date:   Tue Mar 26 14:31:48 2013 +0000

    BSE: start generating bseserverapi.hh and bseserverapi.cc from bseapi.idl

 bse/Makefile.am |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)
---
diff --git a/bse/Makefile.am b/bse/Makefile.am
index 03f5ff5..be5c5f0 100644
--- a/bse/Makefile.am
+++ b/bse/Makefile.am
@@ -104,6 +104,7 @@ $(srcdir)/bsecxxplugin.cc: bsebasics.genidl.hh
 bse_idl_sources += bseprobe.idl
 $(srcdir)/bseprobe.cc: bseprobe.genidl.hh
 idl_built_sources = $(bse_idl_sources:.idl=.genidl.hh)
+GENERATED += $(idl_built_sources)
 $(srcdir)/bsebus.cc: bsebasics.genidl.hh
 # idl files not used for build rules
 idl_dummy_files = $(strip      \
@@ -285,14 +286,31 @@ bsehack.idl: bsebasics.idl bseprocidl
 CLEANFILES += bsehack.idl
 noinst_DATA = bsehack.idl
 
-#
-# convenience targets for generated source files
-#
-.PHONY: generated clean-generated
-clean-generated: clean
-       rm -f $(GENERATED)
-generated: clean-generated $(GENERATED) $(idl_built_sources)
+# == BSE IDL API (AIDA) ==
+AUXTYPES_PY = $(srcdir)/AuxTypes.py
+bseserverapi.hh: $(srcdir)/bseapi.idl $(AUXTYPES_PY)
+       $(AM_V_GEN)
+       $(Q) ${AIDACC} -x CxxStub -x $(AUXTYPES_PY) -G serverhh -G iface-postfix=Iface \
+         -G cppguard=__BST_BSESERVERAPI_HH_ $< -o xgen-$(@F)
+       $(Q) mv xgen-$(@F) $@
+GENERATED += bseserverapi.hh
+bseserverapi.cc: $(srcdir)/bseapi.idl $(AUXTYPES_PY)
+       $(AM_V_GEN)
+       $(Q) ${AIDACC} -x CxxStub -x $(AUXTYPES_PY) -G servercc -G iface-postfix=Iface \
+         -G cppguard=__BST_BSESERVERAPI_CC_ $< -o xgen-$(@F)
+       $(Q) mv xgen-$(@F) $@
+GENERATED += bseserverapi.cc
 
+# == GENERATED targets ==
+generated: clean-generated $(GENERATED)
+       $(Q) $(MAKE) $(AM_MAKEFLAGS) clean-generated
+       $(Q) $(MAKE) generated-files
+generated-files: $(GENERATED)
+clean-generated:
+       rm -f $(GENERATED) stamp-*
+clean-local: clean-generated
+.PHONY: clean-generated generated-files generated
+bseutils.lo: $(GENERATED)      # need dependency to force file generation
 
 #
 # private (birnet) dependancy to make TAGS file after each build


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