3 include $(top_srcdir)/common.mk
4 include $(top_srcdir)/Makefile.introspection
6 INTROSPECTION_SCANNER_ARGS += --warn-all
20 AM_CPPFLAGS = -I$(top_srcdir)/girepository
21 AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS)
22 # -rpath needed to force libtool to build a shared library for a check_LTLIBRARIES
23 # target. See http://lists.gnu.org/archive/html/automake/2005-10/msg00107.html
24 AM_LDFLAGS = -rpath /unused -avoid-version
25 LIBS = $(GOBJECT_LIBS) $(GTHREAD_LIBS)
27 libsletter_la_SOURCES = $(srcdir)/sletter.c $(srcdir)/sletter.h
28 libsletter_la_LIBADD = $(GIO_LIBS)
29 libsletter_la_CFLAGS = $(AM_CFLAGS)
30 libsletter_la_LDFLAGS = $(AM_LDFLAGS)
32 libannotation_la_SOURCES = $(srcdir)/annotation.c $(srcdir)/annotation.h
33 libtestinherit_la_SOURCES = $(srcdir)/drawable.c $(srcdir)/drawable.h
34 libfoo_la_SOURCES = $(srcdir)/foo.c $(srcdir)/foo.h
35 libfoo_la_LIBADD = $(top_builddir)/libgirepository-1.0.la
36 libutility_la_SOURCES = $(srcdir)/utility.c $(srcdir)/utility.h
37 libgtkfrob_la_SOURCES = $(srcdir)/gtkfrob.c $(srcdir)/gtkfrob.h
38 libregress_la_SOURCES = $(srcdir)/regress.c $(srcdir)/regress.h
39 libregress_la_LIBADD = $(GIO_LIBS) $(CAIRO_LIBS)
40 libwarnlib_la_CFLAGS = $(AM_CFLAGS)
41 libwarnlib_la_SOURCES = $(srcdir)/warnlib.c $(srcdir)/warnlib.h
42 libwarnlib_la_LIBADD = $(GIO_LIBS)
43 libwarnlib_la_LDFLAGS = -export-symbols-regex '^warnlib_' -no-undefined
44 libgettype_la_SOURCES = $(srcdir)/gettype.c $(srcdir)/gettype.h
46 testsdir = $(datadir)/gobject-introspection-1.0/tests
47 tests_DATA = $(libregress_la_SOURCES) $(libwarnlib_la_SOURCES)
49 libregress_la_CFLAGS = $(AM_CFLAGS) $(CAIRO_CFLAGS)
50 libregress_la_LDFLAGS = $(AM_LDFLAGS)
54 AM_LDFLAGS += -no-undefined
57 # .gir --[scanner]-> .typelib
59 TYPELIBS = $(GIRS:.gir=.typelib)
60 CHECKGIRS = $(GIRS:.gir=.gir.check)
61 EXPECTEDGIRS = $(GIRS:.gir=-expected.gir)
62 INTROSPECTION_GIRS = $(GIRS)
63 CLEANFILES = $(TYPELIBS) $(GIRS)
64 EXTRA_DIST = $(EXPECTEDGIRS)
66 SLetter-1.0.gir: $(top_builddir)/Gio-2.0.gir libsletter.la
67 SLetter_1_0_gir_LIBS = libsletter.la
68 SLetter_1_0_gir_INCLUDES = Gio-2.0
69 SLetter_1_0_gir_FILES = $(libsletter_la_SOURCES)
70 SLetter_1_0_gir_SCANNERFLAGS = --identifier-prefix=S --c-include="sletter.h" --warn-error
71 GIRS += SLetter-1.0.gir
73 Regress-1.0.gir: $(top_builddir)/Gio-2.0.gir libregress.la
74 Regress_1_0_gir_LIBS = libregress.la
75 Regress_1_0_gir_INCLUDES = cairo-1.0 Gio-2.0
76 Regress_1_0_gir_FILES = $(libregress_la_SOURCES)
77 Regress_1_0_gir_SCANNERFLAGS = --c-include="regress.h" --warn-error
78 GIRS += Regress-1.0.gir
80 WarnLib-1.0.gir: $(top_builddir)/Gio-2.0.gir libwarnlib.la
81 WarnLib_1_0_gir_LIBS = libwarnlib.la
82 WarnLib_1_0_gir_INCLUDES = Gio-2.0
83 WarnLib_1_0_gir_FILES = $(libwarnlib_la_SOURCES)
84 WarnLib_1_0_gir_SCANNERFLAGS = --c-include="warnlib.h" --symbol-prefix=warnlib_
85 GIRS += WarnLib-1.0.gir
87 Annotation-1.0.gir: Utility-1.0.gir libannotation.la
88 Annotation_1_0_gir_PACKAGES = gobject-2.0
89 Annotation_1_0_gir_LIBS = libannotation.la
90 Annotation_1_0_gir_INCLUDES = GObject-2.0 Utility-1.0
91 Annotation_1_0_gir_FILES = $(libannotation_la_SOURCES)
92 Annotation_1_0_gir_SCANNERFLAGS = --c-include="annotation.h" --warn-error
93 GIRS += Annotation-1.0.gir
95 TestInherit-1.0.gir: Utility-1.0.gir libtestinherit.la
96 TestInherit_1_0_gir_PACKAGES = gobject-2.0
97 TestInherit_1_0_gir_LIBS = libtestinherit.la
98 TestInherit_1_0_gir_INCLUDES = GObject-2.0 Utility-1.0
99 TestInherit_1_0_gir_FILES = $(libtestinherit_la_SOURCES)
100 TestInherit_1_0_gir_SCANNERFLAGS = --c-include="drawable.h" --warn-error
101 GIRS += TestInherit-1.0.gir
103 Foo-1.0.gir: Utility-1.0.gir libfoo.la
104 Foo_1_0_gir_PACKAGES = gobject-2.0
105 Foo_1_0_gir_LIBS = libfoo.la
106 Foo_1_0_gir_INCLUDES = GObject-2.0 Gio-2.0 Utility-1.0
107 Foo_1_0_gir_FILES = $(srcdir)/foo.h $(srcdir)/foo.c
108 Foo_1_0_gir_SCANNERFLAGS = --c-include="foo.h" --warn-error
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_INCLUDES = GObject-2.0
115 Utility_1_0_gir_FILES = $(libutility_la_SOURCES)
116 Utility_1_0_gir_SCANNERFLAGS = --c-include="utility.h" --warn-error
117 GIRS += Utility-1.0.gir
119 # This one tests different --namespace and --strip-prefix
120 GtkFrob-1.0.gir: libgtkfrob.la
121 GtkFrob_1_0_gir_PACKAGES = gobject-2.0
122 GtkFrob_1_0_gir_LIBS = libgtkfrob.la
123 GtkFrob_1_0_gir_INCLUDES = GObject-2.0
124 GtkFrob_1_0_gir_FILES = $(libgtkfrob_la_SOURCES)
125 GtkFrob_1_0_gir_SCANNERFLAGS = --identifier-prefix=Gtk --symbol-prefix=gtk_frob --warn-error
126 GIRS += GtkFrob-1.0.gir
128 # This tests that functions called _get_type are only matched if they have no
129 # arguments and return GType
130 GetType-1.0.gir: libgettype.la
131 GetType_1_0_gir_PACKAGES = gobject-2.0
132 GetType_1_0_gir_LIBS = libgettype.la
133 GetType_1_0_gir_INCLUDES = GObject-2.0
134 GetType_1_0_gir_FILES = $(libgettype_la_SOURCES)
135 GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype
136 GIRS += GetType-1.0.gir
139 check_PROGRAMS = barapp
141 barapp_SOURCES = $(srcdir)/barapp.c $(srcdir)/barapp.h
142 barapp_LDADD = $(top_builddir)/libgirepository-1.0.la
143 barapp_LDFLAGS = -export-dynamic
146 Bar_1_0_gir_PACKAGES = gobject-2.0
147 Bar_1_0_gir_PROGRAM = ./barapp
148 Bar_1_0_gir_INCLUDES = GObject-2.0
149 Bar_1_0_gir_FILES = $(barapp_SOURCES)
150 Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed
154 EXTRA_DIST += headeronly.h
156 Headeronly-1.0.gir: headeronly.h
157 $(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) --warn-all --warn-error --reparse-validate --namespace=Headeronly --nsversion=1.0 --header-only --output=$@ $<
160 @diff -u -U 10 $(srcdir)/$*-expected.gir $*.gir && echo " TEST $*.gir"
162 check-local: Headeronly-1.0.gir $(CHECKGIRS) $(TYPELIBS)