diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2007-06-06 16:58:43 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2007-06-06 16:58:43 +0000 |
commit | e1cd09b7984775e559f1e9241395b543a091af75 (patch) | |
tree | fa57b80dcaaeced7c2264687d3fa5ee0cc64d281 /extensions/Makefile.am | |
parent | 8df55d38b2c7326afa3f07ec9c0665929da93300 (diff) | |
download | telepathy-salut-e1cd09b7984775e559f1e9241395b543a091af75.tar.gz |
Pull in auto-generation machinery from Gabble. Move tools from lib/ to extensions/ to resemble Gabble
20070606165843-53eee-ee2cd10c63a285e337237aa70c295477b0be051d.gz
Diffstat (limited to 'extensions/Makefile.am')
-rw-r--r-- | extensions/Makefile.am | 94 |
1 files changed, 52 insertions, 42 deletions
diff --git a/extensions/Makefile.am b/extensions/Makefile.am index 3dd9d332..3939829b 100644 --- a/extensions/Makefile.am +++ b/extensions/Makefile.am @@ -1,51 +1,38 @@ -if ENABLE_OLPC +SUBDIRS = tools -tools_dir = $(srcdir)/../lib/tools +tools_dir = $(srcdir)/tools -# This is a derived file but must be checked-in to Darcs anyway, -# for bootstrapping. -spec-gen.am: Makefile.am all.xml $(SPEC_INTERFACE_XMLS) \ - $(tools_dir)/ls-interfaces.xsl - $(XSLTPROC) $(XSLTPROCFLAGS) --xinclude \ - $(tools_dir)/ls-interfaces.xsl \ - $(srcdir)/all.xml > spec-gen.tmp - @echo Interfaces to be generated are: - @cat spec-gen.tmp ; echo - @echo end of interfaces list - (\ - echo SPEC_INTERFACES = `cat spec-gen.tmp` && \ - echo SPEC_INTERFACE_XMLS = `sed -e 's,[A-Za-z_][A-Za-z_]*,./&.xml,g' spec-gen.tmp` && \ - echo SPEC_GENERATED_CS = `sed -e 's,[A-Za-z_][A-Za-z_]*,_gen/svc-&.c,g' spec-gen.tmp` && \ - echo SPEC_GENERATED_HS = `sed -e 's,[A-Za-z_][A-Za-z_]*,_gen/svc-&.h,g' spec-gen.tmp` && \ - echo SPEC_GLUE_HS = `sed -e 's,[A-Za-z_][A-Za-z_]*,_gen/svc-&-glue.h,g' spec-gen.tmp` && \ - echo SPEC_GENERATED_LISTS = `sed -e 's,[A-Za-z_][A-Za-z_]*,_gen/svc-&-signals-marshal.list,g' spec-gen.tmp` \ - ) > spec-gen.am - rm -f spec-gen.tmp - -include spec-gen.am - -SPEC_GENERATED_SOURCES = $(SPEC_GENERATED_CS) $(SPEC_GENERATED_HS) \ - $(SPEC_GENERATED_LISTS) $(SPEC_GLUE_HS) +include _gen/spec-gen.am + +EXTRA_DIST = $(SPEC_INTERFACE_XMLS) all.xml + +SPEC_GENERATED_SOURCES = \ + $(SPEC_GENERATED_CS) \ + $(SPEC_GENERATED_HS) \ + $(SPEC_GENERATED_LISTS) \ + $(SPEC_GLUE_HS) noinst_LTLIBRARIES = libsalut-extensions.la +libsalut_extensions_la_SOURCES = \ + extensions.h + nodist_libsalut_extensions_la_SOURCES = \ _gen/signals-marshal.c \ _gen/signals-marshal.h \ _gen/signals-marshal.list \ + _gen/enums.h \ + _gen/interfaces.h \ + _gen/svc.h \ $(SPEC_GENERATED_SOURCES) -BUILT_SOURCES = $(nodist_libsalut_extensions_la_SOURCES) +BUILT_SOURCES = $(nodist_libsalut_extensions_la_SOURCES) extensions.html CLEANFILES = $(BUILT_SOURCES) _gen/.exists -clean-local: - -rmdir _gen - -AM_CFLAGS = $(ERROR_CFLAGS) @DBUS_CFLAGS@ @GLIB_CFLAGS@ \ - @TELEPATHY_GLIB_CFLAGS@ - +AM_CFLAGS = $(ERROR_CFLAGS) @DBUS_CFLAGS@ @GLIB_CFLAGS@ @TELEPATHY_GLIB_CFLAGS@ AM_LDFLAGS = @DBUS_LIBS@ @GLIB_LIBS@ @TELEPATHY_GLIB_LIBS@ + # Generated stuff DROP_NAMESPACE = sed -e 's@xmlns:tp="http://telepathy\.freedesktop\.org/wiki/DbusSpec.extensions-v0"@@g' @@ -55,29 +42,52 @@ _gen/.exists: $(INSTALL) -d _gen touch $@ +extensions.html: all.xml $(SPEC_INTERFACE_XMLS) $(tools_dir)/doc-generator.xsl + $(XSLTPROC) $(XSLTPROCFLAGS) --xinclude \ + $(tools_dir)/doc-generator.xsl \ + all.xml > $@ + _gen/%.xml: %.xml $(tools_dir)/spec-to-introspect.xsl _gen/.exists $(XSLTPROC) $(XSLTPROCFLAGS) \ $(tools_dir)/spec-to-introspect.xsl $< \ | $(DROP_NAMESPACE) > $@ -_gen/async-%.xml: _gen/%.xml $(tools_dir)/make-all-async.xsl _gen/.exists +_gen/async-%.xml: _gen/%.xml $(tools_dir)/make-all-async.xsl $(XSLTPROC) $(XSLTPROCFLAGS) $(tools_dir)/make-all-async.xsl $< > $@ -_gen/svc-%-glue.h: _gen/async-%.xml _gen/.exists +_gen/svc-%-glue.h: _gen/async-%.xml $(DBUS_BINDING_TOOL) --mode=glib-server --output=$@ \ - --prefix=tp_svc_`echo $* | tr A-Z a-z` $< + --prefix=salut_svc_`echo $* | tr A-Z a-z` $< _gen/svc-%.c _gen/svc-%.h _gen/svc-%-signals-marshal.list: %.xml $(tools_dir)/genginterface.py _gen/.exists - $(PYTHON) $(tools_dir)/genginterface.py $< \ - TpSvc`echo $* | tr -d _` _gen/svc-$* _salut_ext + $(PYTHON) $(tools_dir)/genginterface.py \ + --filename=_gen/svc-$* --signal-marshal-prefix=_salut_ext \ + --include='<telepathy-glib/dbus.h>' \ + --include='"signals-marshal.h"' \ + --not-implemented-func='tp_dbus_g_method_return_not_implemented' \ + $< SalutSvc`echo $* | tr -d _` _gen/signals-marshal.list: $(SPEC_GENERATED_LISTS) - sort $^ | uniq > $@ + sort $^ /dev/null | uniq > $@ -_gen/signals-marshal.h: _gen/signals-marshal.list _gen/.exists +_gen/signals-marshal.h: _gen/signals-marshal.list $(GLIB_GENMARSHAL) --header --prefix=_salut_ext_marshal $< > $@ -_gen/signals-marshal.c: _gen/signals-marshal.list _gen/.exists +_gen/signals-marshal.c: _gen/signals-marshal.list $(GLIB_GENMARSHAL) --body --prefix=_salut_ext_marshal $< > $@ -endif +_gen/svc.h: Makefile.in _gen/.exists + for i in $(SPEC_INTERFACES); \ + do \ + echo "#include \"extensions/_gen/svc-$$i.h\""; \ + done > $@ + +_gen/enums.h: all.xml tools/c-constants-generator.xsl _gen/.exists + $(XSLTPROC) --xinclude $(XSLTPROCFLAGS) \ + $(srcdir)/tools/c-constants-generator.xsl \ + $(srcdir)/all.xml > $@ + +_gen/interfaces.h: all.xml tools/c-interfaces-generator.xsl _gen/.exists + $(XSLTPROC) --xinclude $(XSLTPROCFLAGS) \ + $(srcdir)/tools/c-interfaces-generator.xsl \ + $(srcdir)/all.xml > $@ |