1 include $(top_srcdir)/common.mk
16 EXTRA_DIST += $(BASE_GIRSOURCES)
19 GLIB_INCLUDEDIR=`pkg-config --variable=includedir glib-2.0`/glib-2.0
20 GLIB_LIBDIR=`pkg-config --variable=libdir glib-2.0`
23 GLIB_LIBRARY=libglib-2.0-0
28 GLib-2.0.gir: $(SCANNER_BIN) $(SCANNER_LIBS) Makefile glib-2.0.c
30 --namespace GLib --nsversion=2.0 \
34 --libtool="$(LIBTOOL)" \
35 --c-include="glib.h" \
36 --library=$(GLIB_LIBRARY) \
39 -I$(GLIB_INCLUDEDIR) \
40 -I$(GLIB_LIBDIR)/glib-2.0/include \
41 -DGETTEXT_PACKAGE=Dummy \
43 $(GLIB_LIBDIR)/glib-2.0/include/glibconfig.h \
44 $(srcdir)/glib-2.0.c \
45 $(GLIB_INCLUDEDIR)/glib/*.h
46 $(SCANNER) $(SCANNER_ARGS) \
47 --xpath-assertions=$(srcdir)/GLib-2.0.xpath GLib-2.0.gir
48 BUILT_GIRSOURCES += GLib-2.0.gir
49 EXTRA_DIST += glib-2.0.c GLib-2.0.xpath
52 GOBJECT_INCLUDEDIR=`pkg-config --variable=includedir gobject-2.0`/glib-2.0
53 GOBJECT_LIBDIR=`pkg-config --variable=libdir gobject-2.0`
56 GOBJECT_LIBRARY=libgobject-2.0-0
58 GOBJECT_LIBRARY=gobject-2.0
61 GObject-2.0.gir: GLib-2.0.gir $(SCANNER_BIN) $(SCANNER_LIBS) Makefile
63 --namespace GObject --nsversion=2.0 \
67 --libtool="$(LIBTOOL)" \
68 --c-include="glib-object.h" \
70 --library=$(GOBJECT_LIBRARY) \
71 -I$(GOBJECT_INCLUDEDIR) \
72 -I$(GOBJECT_LIBDIR)/glib-2.0/include \
73 -DGOBJECT_COMPILATION \
75 $(GLIB_INCLUDEDIR)/gobject/*.h
76 $(SCANNER) $(SCANNER_ARGS) \
77 --xpath-assertions=$(srcdir)/GObject-2.0.xpath GObject-2.0.gir
78 BUILT_GIRSOURCES += GObject-2.0.gir
81 GMODULE_INCLUDEDIR=`pkg-config --variable=includedir gmodule-2.0`/glib-2.0
82 GMODULE_LIBDIR=`pkg-config --variable=libdir gmodule-2.0`
85 GMODULE_LIBRARY=libgmodule-2.0-0
87 GMODULE_LIBRARY=gmodule-2.0
90 GModule-2.0.gir: GLib-2.0.gir $(SCANNER_BIN) $(SCANNER_LIBS)
92 --namespace GModule --nsversion=2.0 \
93 --add-include-path=. \
97 --libtool="$(LIBTOOL)" \
98 --c-include="gmodule.h" \
100 --library=$(GMODULE_LIBRARY) \
101 -I$(GMODULE_INCLUDEDIR) \
102 -I$(GMODULE_LIBDIR)/glib-2.0/include \
104 $(GLIB_INCLUDEDIR)/gmodule.h
105 BUILT_GIRSOURCES += GModule-2.0.gir
108 GIO_INCLUDEDIR=`pkg-config --variable=includedir gio-2.0`/glib-2.0
109 GIO_LIBDIR=`pkg-config --variable=libdir gio-2.0`
112 GIO_LIBRARY=libgio-2.0-0
118 GIO_UNIX_HDRS=`pkg-config --variable=includedir gio-unix-2.0`/gio-unix-2.0/gio/*.h
123 Gio-2.0.gir: GObject-2.0.gir $(SCANNER_BIN) $(SCANNER_LIBS) Makefile $(srcdir)/gio-2.0.c
125 --namespace Gio --nsversion=2.0 \
126 --add-include-path=. \
130 --libtool="$(LIBTOOL)" \
131 --c-include="gio/gio.h" \
132 --include=GObject-2.0 \
133 --library=$(GIO_LIBRARY) \
134 -I$(GIO_INCLUDEDIR) \
135 -I$(GIO_LIBDIR)/glib-2.0/include \
138 $(srcdir)/gio-2.0.c \
139 $(GLIB_INCLUDEDIR)/gio/*.h \
141 BUILT_GIRSOURCES += Gio-2.0.gir
142 EXTRA_DIST += gio-2.0.c
145 GIREPOSITORY_FILES = \
146 $(top_srcdir)/girepository/girepository.c \
147 $(top_srcdir)/girepository/girepository.h
149 GIRepository-2.0.gir: GObject-2.0.gir $(SCANNER_BIN) $(SCANNER_LIBS) $(GIREPOSITORY_FILES)
151 --namespace GIRepository --nsversion=2.0 \
155 --libtool="$(LIBTOOL)" \
156 --c-include="girepository.h" \
157 --include=GObject-2.0 \
158 --library=girepository-1.0 \
159 -I$(srcdir)/girepository \
162 $(GIREPOSITORY_FILES)
163 BUILT_GIRSOURCES += GIRepository-2.0.gir
166 CLEANFILES += $(BUILT_GIRSOURCES)
172 girdir = $(datadir)/gir-1.0
173 dist_gir_DATA = $(GIRSOURCES)
175 %.typelib: %.gir $(top_builddir)/tools/g-ir-compiler$(EXEEXT)
176 LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}:$(top_builddir)/girepository/.libs $(DEBUG) $(top_builddir)/tools/g-ir-compiler$(EXEEXT) --includedir=. $(G_IR_COMPILER_OPTS) $< -o $@
178 typelibsdir = $(libdir)/girepository-1.0
179 typelibs_DATA = $(GIRSOURCES:.gir=.typelib) $(GIRSOURCES:.gir=.typelib)
181 CLEANFILES += $(typelibs_DATA)
183 # Check that typelib -> gir -> typelib transformation is lossless.
184 # Comparing gir files is relatively fragile (whitespace, attribute default
185 # values, etc.) but the typelibs should identical as long as the gir files are
186 # semantically equivalent.
188 %.test.gir: %.typelib $(top_builddir)/tools/g-ir-generate$(EXEEXT)
189 $(DEBUG) $(top_builddir)/tools/g-ir-generate$(EXEEXT) --includedir=. $< -o $@
191 testlib-%: %.test.gir $(top_builddir)/tools/g-ir-generate$(EXEEXT)
192 $(DEBUG) $(top_builddir)/tools/g-ir-compiler$(EXEEXT) --includedir=. $(G_IR_COMPILER_OPTS) $< -o $*.test.typelib
193 cmp $*.typelib $*.test.typelib && rm $*.test.typelib
195 testgir-%: %.test.gir
196 diff -u $*.gir $< && rm $<
198 CLEANFILES += $(typelibs_DATA:%.typelib=%.test.gir)
199 CLEANFILES += $(typelibs_DATA:%.typelib=%.test.typelib)
201 #check-local: $(typelibs_DATA:%.typelib=testlib-%)
202 check-gir: $(typelibs_DATA:%.typelib=testgir-%)