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 -I$(top_builddir)/girepository
25 AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) $(GI_HIDDEN_VISIBILITY_CFLAGS) $(GI_SCANNER_CFLAGS) $(WARN_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 = $(WARN_LDFLAGS) -rpath /unused -avoid-version
29 LIBS = $(GOBJECT_LIBS) $(GTHREAD_LIBS)
31 libsletter_la_SOURCES = sletter.c sletter.h
32 libsletter_la_LIBADD = $(GIO_LIBS)
33 libsletter_la_CFLAGS = $(AM_CFLAGS)
34 libsletter_la_LDFLAGS = $(AM_LDFLAGS)
36 libutility_la_SOURCES = utility.c utility.h
37 libgtkfrob_la_SOURCES = gtkfrob.c gtkfrob.h
38 libregress_la_SOURCES = \
40 annotation.c annotation.h \
42 drawable.c 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 = warnlib.c warnlib.h
53 libwarnlib_la_LIBADD = $(GIO_LIBS)
54 libwarnlib_la_LDFLAGS = -export-symbols-regex '^warnlib_' -no-undefined
55 libgettype_la_SOURCES = gettype.c gettype.h
56 libtypedefs_la_SOURCES = typedefs.c 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 = $(INTROSPECTION_SCANNER_ARGS) --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 = $(GI_SCANNER_CFLAGS)
96 Regress_1_0_gir_CFLAGS += -D_GI_DISABLE_CAIRO
98 Regress_1_0_gir_INCLUDES = Gio-2.0 Utility-1.0
100 Regress_1_0_gir_INCLUDES += cairo-1.0
102 Regress_1_0_gir_FILES = $(libregress_la_SOURCES)
103 Regress_1_0_gir_SCANNERFLAGS = $(INTROSPECTION_SCANNER_ARGS) --c-include="regress.h" --warn-error
104 GIRS += Regress-1.0.gir
106 WarnLib-1.0.gir: $(top_builddir)/Gio-2.0.gir libwarnlib.la
107 WarnLib_1_0_gir_LIBS = libwarnlib.la
108 WarnLib_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
109 WarnLib_1_0_gir_INCLUDES = Gio-2.0
110 WarnLib_1_0_gir_FILES = $(libwarnlib_la_SOURCES)
111 WarnLib_1_0_gir_SCANNERFLAGS = $(INTROSPECTION_SCANNER_ARGS) --c-include="warnlib.h" --symbol-prefix=warnlib_
112 GIRS += WarnLib-1.0.gir
114 Utility-1.0.gir: libutility.la
115 Utility_1_0_gir_PACKAGES = gobject-2.0
116 Utility_1_0_gir_LIBS = libutility.la
117 Utility_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
118 Utility_1_0_gir_INCLUDES = GObject-2.0
119 Utility_1_0_gir_FILES = $(libutility_la_SOURCES)
120 Utility_1_0_gir_SCANNERFLAGS = $(INTROSPECTION_SCANNER_ARGS) --c-include="utility.h" --warn-error
121 GIRS += Utility-1.0.gir
123 # This one tests different --namespace and --strip-prefix
124 GtkFrob-1.0.gir: libgtkfrob.la
125 GtkFrob_1_0_gir_PACKAGES = gobject-2.0
126 GtkFrob_1_0_gir_LIBS = libgtkfrob.la
127 GtkFrob_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
128 GtkFrob_1_0_gir_INCLUDES = GObject-2.0
129 GtkFrob_1_0_gir_FILES = $(libgtkfrob_la_SOURCES)
130 GtkFrob_1_0_gir_SCANNERFLAGS = $(INTROSPECTION_SCANNER_ARGS) --identifier-prefix=Gtk --symbol-prefix=gtk_frob --warn-error
131 GIRS += GtkFrob-1.0.gir
133 # This tests that functions called _get_type are only matched if they have no
134 # arguments and return GType
135 GetType-1.0.gir: libgettype.la
136 GetType_1_0_gir_PACKAGES = gobject-2.0
137 GetType_1_0_gir_LIBS = libgettype.la
138 GetType_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
139 GetType_1_0_gir_INCLUDES = GObject-2.0
140 GetType_1_0_gir_FILES = $(libgettype_la_SOURCES)
141 GetType_1_0_gir_SCANNERFLAGS = $(INTROSPECTION_SCANNER_ARGS) --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype
142 GIRS += GetType-1.0.gir
144 Typedefs-1.0.gir: libtypedefs.la
145 Typedefs_1_0_gir_PACKAGES = gobject-2.0
146 Typedefs_1_0_gir_LIBS = libtypedefs.la
147 Typedefs_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
148 Typedefs_1_0_gir_INCLUDES = GObject-2.0
149 Typedefs_1_0_gir_FILES = $(libtypedefs_la_SOURCES)
150 Typedefs_1_0_gir_SCANNERFLAGS = $(INTROSPECTION_SCANNER_ARGS) --c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs
151 GIRS += Typedefs-1.0.gir
154 EXTRA_PROGRAMS = barapp
155 CLEANFILES += $(EXTRA_PROGRAMS)
157 barapp_SOURCES = barapp.c barapp.h
158 barapp_LDADD = $(top_builddir)/libgirepository-1.0.la
159 barapp_LDFLAGS = -export-dynamic
162 Bar_1_0_gir_PACKAGES = gobject-2.0
163 Bar_1_0_gir_PROGRAM = ./barapp
164 Bar_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
165 Bar_1_0_gir_INCLUDES = GObject-2.0
166 Bar_1_0_gir_FILES = $(barapp_SOURCES)
167 Bar_1_0_gir_SCANNERFLAGS = $(INTROSPECTION_SCANNER_ARGS) --accept-unprefixed
173 Headeronly-1.0-expected.gir
174 CLEANFILES += Headeronly-1.0.gir
175 CHECKGIRS += Headeronly-1.0.gir
177 Headeronly-1.0.gir: headeronly.h
178 $(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) --warn-all --warn-error --reparse-validate --namespace=Headeronly --nsversion=1.0 --header-only --output=$@ $<
183 Identfilter-1.0-expected.gir
184 CLEANFILES += Identfilter-1.0.gir
185 CHECKGIRS += Identfilter-1.0.gir
187 Identfilter-1.0.gir: identfilter.h
188 $(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) \
189 --namespace=Identfilter --accept-unprefixed --nsversion=1.0 --header-only \
190 --identifier-filter-cmd="$(PYTHON) $(srcdir)/identfilter.py" \
196 Symbolfilter-1.0-expected.gir
197 CLEANFILES += Symbolfilter-1.0.gir
198 CHECKGIRS += Symbolfilter-1.0.gir
200 Symbolfilter-1.0.gir: symbolfilter.h
201 $(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) \
202 --warn-all --reparse-validate \
203 --namespace=Symbolfilter --accept-unprefixed --nsversion=1.0 --header-only \
204 --symbol-filter-cmd="$(PYTHON) $(srcdir)/symbolfilter.py" \
208 DOCGIRS = Regress-1.0.gir
209 CHECKDOCS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs) $(DOCGIRS:.gir=-sections.txt)
210 MALLARD_DIRS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs)
211 MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/* $(DOCGIRS:.gir=-sections.txt)
212 EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected)
213 CLEANFILES += $(MALLARD_CLEAN)
216 $(AM_V_GEN)rm -rf $(builddir)/$*-C
217 $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language C $*.gir -o $(builddir)/$*-C/
220 $(AM_V_GEN)rm -rf $(builddir)/$*-Python
221 $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Python $*.gir -o $(builddir)/$*-Python/
224 $(AM_V_GEN)rm -rf $(builddir)/$*-Gjs
225 $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Gjs $*.gir -o $(builddir)/$*-Gjs/
227 %-sections.txt: %.gir
228 $(AM_V_GEN)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --write-sections-file $*.gir -o $@
238 test_sourcescanner.py \
239 test_transformer.py \
243 test_maintransformer.py
245 TESTS = $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS) $(PYTESTS)
246 TESTS_ENVIRONMENT = env srcdir=$(srcdir) top_srcdir=$(top_srcdir) builddir=$(builddir) top_builddir=$(top_builddir) \
248 PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir)
249 LOG_COMPILER = $(PYTHON) $(top_srcdir)/tests/gi-tester
254 Regress-1.0-C-expected \
255 Regress-1.0-Gjs-expected \
256 Regress-1.0-Python-expected \
257 Regress-1.0-sections-expected.txt \