3 G_IR_SCANNER = $(top_srcdir)/tools/g-ir-scanner
4 G_IR_SCANNER_FILES = $(top_srcdir)/giscanner/*.py \
5 $(top_builddir)/giscanner/libgiscanner.la
8 GLIB_INCLUDEDIR=`pkg-config --variable=includedir glib-2.0`/glib-2.0
9 GLIB_LIBDIR=`pkg-config --variable=libdir glib-2.0`
12 GLIB_LIBRARY=libglib-2.0-0
17 GLib-2.0.gir: $(G_IR_SCANNER) $(G_IR_SCANNER_FILES) Makefile
18 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
19 -v --namespace GLib --nsversion=2.0 \
20 --add-include-path=. \
24 --library=$(GLIB_LIBRARY) \
26 -I$(GLIB_INCLUDEDIR) \
27 -I$(GLIB_LIBDIR)/glib-2.0/include \
28 -DGETTEXT_PACKAGE=Dummy \
30 $(GLIB_LIBDIR)/glib-2.0/include/glibconfig.h \
31 $(GLIB_INCLUDEDIR)/glib/*.h
32 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
33 --xpath-assertions=GLib-assertions.txt GLib-2.0.gir
34 BUILT_SOURCES += GLib-2.0.gir
37 GOBJECT_INCLUDEDIR=`pkg-config --variable=includedir gobject-2.0`/glib-2.0
38 GOBJECT_LIBDIR=`pkg-config --variable=libdir gobject-2.0`
41 GOBJECT_LIBRARY=libgobject-2.0-0
43 GOBJECT_LIBRARY=gobject-2.0
46 GObject-2.0.gir: GLib-2.0.gir $(G_IR_SCANNER) $(G_IR_SCANNER_FILES) Makefile
47 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
48 -v --namespace GObject --nsversion=2.0 \
49 --add-include-path=. \
54 --library=$(GOBJECT_LIBRARY) \
55 -I$(GOBJECT_INCLUDEDIR) \
56 -I$(GOBJECT_LIBDIR)/glib-2.0/include \
57 -DGOBJECT_COMPILATION \
59 $(GLIB_INCLUDEDIR)/gobject/*.h
60 BUILT_SOURCES += GObject-2.0.gir
63 GMODULE_INCLUDEDIR=`pkg-config --variable=includedir gmodule-2.0`/glib-2.0
64 GMODULE_LIBDIR=`pkg-config --variable=libdir gmodule-2.0`
67 GMODULE_LIBRARY=libgmodule-2.0-0
69 GMODULE_LIBRARY=gmodule-2.0
72 GModule-2.0.gir: GLib-2.0.gir $(G_IR_SCANNER) $(G_IR_SCANNER_FILES)
73 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
74 -v --namespace GModule --nsversion=2.0 \
75 --add-include-path=. \
80 --library=$(GMODULE_LIBRARY) \
81 -I$(GMODULE_INCLUDEDIR) \
82 -I$(GMODULE_LIBDIR)/glib-2.0/include \
84 $(GLIB_INCLUDEDIR)/gmodule.h
85 BUILT_SOURCES += GModule-2.0.gir
88 GIO_INCLUDEDIR=`pkg-config --variable=includedir gio-2.0`/glib-2.0
89 GIO_LIBDIR=`pkg-config --variable=libdir gio-2.0`
92 GIO_LIBRARY=libgio-2.0-0
97 Gio-2.0.gir: GObject-2.0.gir $(G_IR_SCANNER) $(G_IR_SCANNER_FILES) Makefile
98 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
99 -v --namespace Gio --nsversion=2.0 \
100 --add-include-path=. \
104 --include=GObject-2.0 \
105 --library=$(GIO_LIBRARY) \
106 -I$(GIO_INCLUDEDIR) \
107 -I$(GIO_LIBDIR)/glib-2.0/include \
111 $(GLIB_INCLUDEDIR)/gio/*.h
112 BUILT_SOURCES += Gio-2.0.gir
113 CLEANFILES = $(BUILT_SOURCES)
115 girdir=$(datadir)/gir
116 dist_gir_DATA = $(BUILT_SOURCES)
118 %.typelib: %.gir $(top_builddir)/tools/g-ir-compiler$(EXEEXT) Makefile
119 $(DEBUG) $(top_builddir)/tools/g-ir-compiler$(EXEEXT) --includedir=. $(G_IR_COMPILER_OPTS) $< -o $@
121 typelibsdir = $(datadir)/girepository
122 typelibs_DATA = GLib-2.0.typelib GModule-2.0.typelib GObject-2.0.typelib Gio-2.0.typelib
123 CLEANFILES += $(typelibs_DATA)
125 # Check that typelib -> gir -> typelib transformation is lossless.
126 # Comparing gir files is relatively fragile (whitespace, attribute default
127 # values, etc.) but the typelibs should identical as long as the gir files are
128 # semantically equivalent.
130 %.test.gir: %.typelib $(top_builddir)/tools/g-ir-generate$(EXEEXT) Makefile
131 $(DEBUG) $(top_builddir)/tools/g-ir-generate$(EXEEXT) --includedir=. $< -o $@
133 testlib-%: %.test.gir $(top_builddir)/tools/g-ir-generate$(EXEEXT) Makefile
134 $(DEBUG) $(top_builddir)/tools/g-ir-compiler$(EXEEXT) --includedir=. $(G_IR_COMPILER_OPTS) $< -o $*.test.typelib
135 cmp $*.typelib $*.test.typelib && rm $*.test.typelib
137 testgir-%: %.test.gir
138 diff -u $*.gir $< && rm $<
140 CLEANFILES += $(typelibs_DATA:%.typelib=%.test.gir)
141 CLEANFILES += $(typelibs_DATA:%.typelib=%.test.typelib)
143 #check-local: $(typelibs_DATA:%.typelib=testlib-%)
144 check-gir: $(typelibs_DATA:%.typelib=testgir-%)