summaryrefslogtreecommitdiff
path: root/extensions/Makefile.am
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2007-06-06 16:58:43 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2007-06-06 16:58:43 +0000
commite1cd09b7984775e559f1e9241395b543a091af75 (patch)
treefa57b80dcaaeced7c2264687d3fa5ee0cc64d281 /extensions/Makefile.am
parent8df55d38b2c7326afa3f07ec9c0665929da93300 (diff)
downloadtelepathy-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.am94
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 > $@