3 include $(top_srcdir)/common.mk
4 include $(top_srcdir)/Makefile.introspection
6 SUBDIRS = . annotationparser
8 INTROSPECTION_SCANNER_ARGS += --warn-all --reparse-validate
21 CLEANFILES += $(EXTRA_LTLIBRARIES)
23 GI_SCANNER_CFLAGS = -I$(top_srcdir)/tests
24 AM_CPPFLAGS = -I$(top_srcdir)/girepository
25 AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) $(GI_HIDDEN_VISIBILITY_CFLAGS) $(GI_SCANNER_CFLAGS)
26 # -rpath needed to force libtool to build a shared library for a check_LTLIBRARIES
27 # target. See http://lists.gnu.org/archive/html/automake/2005-10/msg00107.html
28 AM_LDFLAGS = -rpath /unused -avoid-version
29 LIBS = $(GOBJECT_LIBS) $(GTHREAD_LIBS)
31 libsletter_la_SOURCES = $(srcdir)/sletter.c $(srcdir)/sletter.h
32 libsletter_la_LIBADD = $(GIO_LIBS)
33 libsletter_la_CFLAGS = $(AM_CFLAGS)
34 libsletter_la_LDFLAGS = $(AM_LDFLAGS)
36 libutility_la_SOURCES = $(srcdir)/utility.c $(srcdir)/utility.h
37 libgtkfrob_la_SOURCES = $(srcdir)/gtkfrob.c $(srcdir)/gtkfrob.h
38 libregress_la_SOURCES = \
39 $(srcdir)/regress.c $(srcdir)/regress.h \
40 $(srcdir)/annotation.c $(srcdir)/annotation.h \
41 $(srcdir)/foo.c $(srcdir)/foo.h \
42 $(srcdir)/drawable.c $(srcdir)/drawable.h \
44 REGRESS_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
45 libregress_la_CPPFLAGS = -DREGRESS_PRINT_PREVIEW_COMMAND=\"$(REGRESS_PRINT_PREVIEW_COMMAND)\" \
46 -DREGRESS_SOME_CHAR=\'c\'
47 libregress_la_LIBADD = $(GIO_LIBS)
49 libregress_la_LIBADD += $(CAIRO_LIBS)
51 libwarnlib_la_CFLAGS = $(AM_CFLAGS)
52 libwarnlib_la_SOURCES = $(srcdir)/warnlib.c $(srcdir)/warnlib.h
53 libwarnlib_la_LIBADD = $(GIO_LIBS)
54 libwarnlib_la_LDFLAGS = -export-symbols-regex '^warnlib_' -no-undefined
55 libgettype_la_SOURCES = $(srcdir)/gettype.c $(srcdir)/gettype.h
56 libtypedefs_la_SOURCES = $(srcdir)/typedefs.c $(srcdir)/typedefs.h
58 testsdir = $(datadir)/gobject-introspection-1.0/tests
59 tests_DATA = $(libregress_la_SOURCES) $(libwarnlib_la_SOURCES) $(libutility_la_SOURCES)
62 libregress_la_CPPFLAGS += -D_GI_DISABLE_CAIRO
64 libregress_la_CFLAGS = $(AM_CFLAGS)
66 libregress_la_CFLAGS += $(CAIRO_CFLAGS)
68 libregress_la_LDFLAGS = $(AM_LDFLAGS)
72 AM_LDFLAGS += -no-undefined
75 # .gir --[scanner]-> .typelib
77 TYPELIBS = $(GIRS:.gir=.typelib)
79 EXPECTEDGIRS = $(GIRS:.gir=-expected.gir)
80 INTROSPECTION_GIRS = $(GIRS)
81 CLEANFILES += $(TYPELIBS) $(GIRS)
82 EXTRA_DIST = $(EXPECTEDGIRS)
84 SLetter-1.0.gir: $(top_builddir)/Gio-2.0.gir libsletter.la
85 SLetter_1_0_gir_LIBS = libsletter.la
86 SLetter_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
87 SLetter_1_0_gir_INCLUDES = Gio-2.0
88 SLetter_1_0_gir_FILES = $(libsletter_la_SOURCES)
89 SLetter_1_0_gir_SCANNERFLAGS = --identifier-prefix=S --c-include="sletter.h" --warn-error
90 GIRS += SLetter-1.0.gir
92 Regress-1.0.gir: $(top_builddir)/Gio-2.0.gir Utility-1.0.gir libregress.la
93 Regress_1_0_gir_LIBS = libregress.la
94 Regress_1_0_gir_CFLAGS = $(libregress_la_CPPFLAGS) $(libregress_la_CFLAGS) -include "glib.h"
95 Regress_1_0_gir_INCLUDES = Gio-2.0 Utility-1.0
97 Regress_1_0_gir_INCLUDES += cairo-1.0
99 Regress_1_0_gir_FILES = $(libregress_la_SOURCES)
100 Regress_1_0_gir_SCANNERFLAGS = --c-include="regress.h" --warn-error
101 GIRS += Regress-1.0.gir
103 WarnLib-1.0.gir: $(top_builddir)/Gio-2.0.gir libwarnlib.la
104 WarnLib_1_0_gir_LIBS = libwarnlib.la
105 WarnLib_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
106 WarnLib_1_0_gir_INCLUDES = Gio-2.0
107 WarnLib_1_0_gir_FILES = $(libwarnlib_la_SOURCES)
108 WarnLib_1_0_gir_SCANNERFLAGS = --c-include="warnlib.h" --symbol-prefix=warnlib_
109 GIRS += WarnLib-1.0.gir
111 Utility-1.0.gir: libutility.la
112 Utility_1_0_gir_PACKAGES = gobject-2.0
113 Utility_1_0_gir_LIBS = libutility.la
114 Utility_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
115 Utility_1_0_gir_INCLUDES = GObject-2.0
116 Utility_1_0_gir_FILES = $(libutility_la_SOURCES)
117 Utility_1_0_gir_SCANNERFLAGS = --c-include="utility.h" --warn-error
118 GIRS += Utility-1.0.gir
120 # This one tests different --namespace and --strip-prefix
121 GtkFrob-1.0.gir: libgtkfrob.la
122 GtkFrob_1_0_gir_PACKAGES = gobject-2.0
123 GtkFrob_1_0_gir_LIBS = libgtkfrob.la
124 GtkFrob_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
125 GtkFrob_1_0_gir_INCLUDES = GObject-2.0
126 GtkFrob_1_0_gir_FILES = $(libgtkfrob_la_SOURCES)
127 GtkFrob_1_0_gir_SCANNERFLAGS = --identifier-prefix=Gtk --symbol-prefix=gtk_frob --warn-error
128 GIRS += GtkFrob-1.0.gir
130 # This tests that functions called _get_type are only matched if they have no
131 # arguments and return GType
132 GetType-1.0.gir: libgettype.la
133 GetType_1_0_gir_PACKAGES = gobject-2.0
134 GetType_1_0_gir_LIBS = libgettype.la
135 GetType_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
136 GetType_1_0_gir_INCLUDES = GObject-2.0
137 GetType_1_0_gir_FILES = $(libgettype_la_SOURCES)
138 GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype
139 GIRS += GetType-1.0.gir
141 Typedefs-1.0.gir: libtypedefs.la
142 Typedefs_1_0_gir_PACKAGES = gobject-2.0
143 Typedefs_1_0_gir_LIBS = libtypedefs.la
144 Typedefs_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
145 Typedefs_1_0_gir_INCLUDES = GObject-2.0
146 Typedefs_1_0_gir_FILES = $(libtypedefs_la_SOURCES)
147 Typedefs_1_0_gir_SCANNERFLAGS = --c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs
148 GIRS += Typedefs-1.0.gir
151 EXTRA_PROGRAMS = barapp
152 CLEANFILES += $(EXTRA_PROGRAMS)
154 barapp_SOURCES = $(srcdir)/barapp.c $(srcdir)/barapp.h
155 barapp_LDADD = $(top_builddir)/libgirepository-1.0.la
156 barapp_LDFLAGS = -export-dynamic
159 Bar_1_0_gir_PACKAGES = gobject-2.0
160 Bar_1_0_gir_PROGRAM = ./barapp
161 Bar_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
162 Bar_1_0_gir_INCLUDES = GObject-2.0
163 Bar_1_0_gir_FILES = $(barapp_SOURCES)
164 Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed
170 Headeronly-1.0-expected.gir
171 CLEANFILES += Headeronly-1.0.gir
172 CHECKGIRS += Headeronly-1.0.gir
174 Headeronly-1.0.gir: headeronly.h
175 $(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) --warn-all --warn-error --reparse-validate --namespace=Headeronly --nsversion=1.0 --header-only --output=$@ $<
180 Identfilter-1.0-expected.gir
181 CLEANFILES += Identfilter-1.0.gir
182 CHECKGIRS += Identfilter-1.0.gir
184 Identfilter-1.0.gir: identfilter.h
185 $(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) \
186 --warn-all --reparse-validate \
187 --namespace=Identfilter --accept-unprefixed --nsversion=1.0 --header-only \
188 --identifier-filter-cmd="$(PYTHON) $(srcdir)/identfilter.py" \
192 DOCGIRS = Regress-1.0.gir
193 CHECKDOCS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs) $(DOCGIRS:.gir=-sections.txt)
194 MALLARD_DIRS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs)
195 MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/* $(DOCGIRS:.gir=-sections.txt)
196 EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected)
197 CLEANFILES += $(MALLARD_CLEAN)
200 $(AM_V_GEN)rm -rf $(builddir)/$*-C
201 $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language C $*.gir -o $(builddir)/$*-C/
204 $(AM_V_GEN)rm -rf $(builddir)/$*-Python
205 $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Python $*.gir -o $(builddir)/$*-Python/
208 $(AM_V_GEN)rm -rf $(builddir)/$*-Gjs
209 $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Gjs $*.gir -o $(builddir)/$*-Gjs/
211 %-sections.txt: %.gir
212 $(AM_V_GEN)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --write-sections-file $*.gir -o $@
219 test_sourcescanner.py \
222 TESTS = $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS) $(PYTESTS)
223 TESTS_ENVIRONMENT = srcdir=$(srcdir) top_srcdir=$(top_srcdir) builddir=$(builddir) top_builddir=$(top_builddir) \
224 PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir)
225 LOG_COMPILER = $(top_srcdir)/tests/gi-tester
229 Regress-1.0-C-expected \
230 Regress-1.0-Gjs-expected \
231 Regress-1.0-Python-expected \
232 Regress-1.0-sections-expected.txt \