mutter/bindings/python/Makefile.am
2006-05-29 08:59:36 +00:00

92 lines
3.2 KiB
Makefile

AUTOMAKE_OPTIONS = 1.7
CLEANFILES =
EXTRA_DIST =
CLUTTER_DEFS = clutter-base.defs
CLUTTER_TYPES_DEFS = clutter-base-types.defs
CREATEDEFS = $(PYTHON) createdefs.py
CLUTTER_OVERRIDES = clutter.override
CLEANFILES += \
clutter.defs \
clutter-types.defs
EXTRA_DIST += \
$(CLUTTER_DEFS) \
$(CLUTTER_TYPES_DEFS) \
$(CLUTTER_OVERRIDES)
clutter.defs: $(CLUTTER_DEFS)
@echo "*** Creating clutter.defs" && \
echo ";; -*- scheme -*-" > gen-cdefs && \
echo ";; THIS FILE IS AUTOGENERATED" >> gen-cdefs && \
for p in $(CLUTTER_DEFS); do \
echo "(include \"$$p\")" >> gen-cdefs; \
done && \
(cmp -s gen-cdefs clutter.defs || cp gen-cdefs clutter.defs) && \
rm -f gen-cdefs
clutter.defs: Makefile
clutter-types.defs: $(CLUTTER_TYPES_DEFS)
@echo "*** Creating clutter-types.defs" && \
echo ";; -*- scheme -*-" > gen-ctdefs && \
echo ";; THIS FILE IS AUTOGENERATED" >> gen-ctdefs && \
for p in $(CLUTTER_TYPES_DEFS); do \
echo "(include \"$$p\")" >> gen-ctdefs; \
done && \
(cmp -s gen-ctdefs clutter-types.defs || cp gen-ctdefs clutter-types.defs) && \
rm -f gen-ctdefs
clutter-types.defs: Makefile
clutter-pyglue.c: clutter.defs clutter-types.defs $(CLUTTER_OVERRIDES)
$(PYGTK_CODEGEN) \
--register $(PYGTK_DEFSDIR)/gdk-types.defs \
--register $(PYGTK_DEFSDIR)/gtk-types.defs \
--register $(PYGTK_DEFSDIR)/pango-types.defs \
--register clutter-types.defs \
--override $(CLUTTER_OVERRIDES) \
--prefix clutter \
clutter.defs > gen-$@ && \
(cmp -s $@ gen-$@ || cp gen-$@ $@) && \
rm -f gen-$@
CLEANFILES += clutter-pyglue.c
pythondir = $(libdir)/python${PY_VER}/site-packages
python_LTLIBRARIES = clutter.la
INCLUDES = $(PYTHON_CFLAGS) $(PYGTK_CFLAGS) -I$(top_srcdir) $(CLUTTER_CFLAGS)
clutter_la_DEPENDENCIES = cluttermodule.c clutter-pyglue.c
clutter_la_SOURCES = clutter-pyglue.c cluttermodule.c
clutter_la_LIBADD = $(PYTHON_LIBS) $(PYGTK_LIBS) \
$(top_builddir)/clutter/libclutter-@CLUTTER_MAJORMINOR@.la
clutter_la_LDFLAGS = -module avoid-version -export-symbols-regex initclutter
# Run this to update the API and then copy then newly generated
# definitions into clutter-base.defs and clutter-base-types.defs;
# it's manual, as my might do some name mangling for static
# methods.
update-defs:
$(PYTHON) $(PYGTK_CODEGENDIR)/h2def.py -v \
$(top_srcdir)/clutter/clutter-keysyms.h \
$(top_srcdir)/clutter/clutter-timeline.h \
$(top_srcdir)/clutter/clutter-main.h \
$(top_srcdir)/clutter/clutter-event.h \
$(top_srcdir)/clutter/clutter-element.h \
$(top_srcdir)/clutter/clutter-rectangle.h \
$(top_srcdir)/clutter/clutter-texture.h \
$(top_srcdir)/clutter/clutter-color.h \
$(top_srcdir)/clutter/clutter-clone-texture.h \
$(top_srcdir)/clutter/clutter-video-texture.h \
$(top_srcdir)/clutter/clutter-label.h \
$(top_srcdir)/clutter/clutter-group.h \
$(top_srcdir)/clutter/clutter-stage.h \
$(top_srcdir)/clutter/clutter-enum-types.h \
> gen-cdefs && \
(cmp -s gen-cdefs clutter-api.def || cp gen-cdefs clutter-api.def) && \
rm -f gen-cdefs