Initial packaging for Tizen
[profile/ivi/gobject-introspection.git] / Makefile-gir.am
1 BUILT_GIRSOURCES =
2 SUBSTITUTED_GIRSOURCES =
3
4 STATIC_GIRSOURCES =               \
5         gir/DBus-1.0.gir           \
6         gir/DBusGLib-1.0.gir        \
7         gir/fontconfig-2.0.gir      \
8         gir/freetype2-2.0.gir       \
9         gir/GL-1.0.gir              \
10         gir/libxml2-2.0.gir         \
11         gir/xft-2.0.gir             \
12         gir/xlib-2.0.gir            \
13         gir/xfixes-4.0.gir          \
14         gir/xrandr-1.3.gir
15 EXTRA_DIST += $(STATIC_GIRSOURCES)
16
17 gir/cairo-1.0.gir: gir/cairo-1.0.gir.in Makefile
18         [ -d $(@D) ] || $(mkdir_p) $(@D) ; \
19         sed \
20         -e s,%CAIRO_SHARED_LIBRARY%,$(CAIRO_SHARED_LIBRARY), \
21         -e s,%CAIRO_GIR_PACKAGE%,$(CAIRO_GIR_PACKAGE), \
22         < $< > $@.tmp && mv $@.tmp $@
23 BUILT_SOURCES += gir/cairo-1.0.gir
24 SUBSTITUTED_GIRSOURCES += gir/cairo-1.0.gir
25 CLEANFILES += gir/cairo-1.0.gir
26 EXTRA_DIST += gir/cairo-1.0.gir.in
27
28 # Doesn't seem to work to do gir/%.typelib =(
29 gir/cairo-1.0.typelib: g-ir-compiler
30 gir/DBus-1.0.typelib: g-ir-compiler
31 gir/DBusGLib-1.0.typelib: g-ir-compiler
32 gir/fontconfig-2.0.typelib: g-ir-compiler
33 gir/freetype2-2.0.typelib: g-ir-compiler
34 gir/GL-1.0.typelib: g-ir-compiler
35 gir/libxml2-2.0.typelib: g-ir-compiler
36 gir/xft-2.0.typelib: g-ir-compiler
37 gir/xlib-2.0.typelib: g-ir-compiler
38 gir/xfixes-4.0.typelib: g-ir-compiler
39 gir/xrandr-1.3.typelib: g-ir-compiler
40
41 # glib with source (to enable documentation)
42 if WITH_GLIBSRC
43      GLib_2_0_gir_DOCSRC = $(GLIBSRC)/glib/*.c
44      GObject_2_0_gir_DOCSRC = $(GLIBSRC)/gobject/*.c
45      GModule_2_0_gir_DOCSRC = $(GLIBSRC)/gmodule/*.c
46      Gio_2_0_gir_DOCSRC = $(GLIBSRC)/gio/*.c
47 else
48     GLib_2_0_gir_DOCSRC = 
49     GObject_2_0_gir_DOCSRC = 
50     GModule_2_0_gir_DOCSRC = 
51     Gio_2_0_gir_DOCSRC = 
52
53 endif
54
55 # glib
56 GLIB_INCLUDEDIR=$(shell pkg-config --variable=includedir glib-2.0)/glib-2.0
57 GLIB_LIBDIR=$(shell pkg-config --variable=libdir glib-2.0)
58
59 if OS_WIN32
60 GLIB_LIBRARY=libglib-2.0-0
61 else
62 GLIB_LIBRARY=glib-2.0
63 endif
64
65 GLib_2_0_gir_LIBS = $(GLIB_LIBRARY) $(GOBJECT_LIBRARY)
66 GLib_2_0_gir_SCANNERFLAGS = \
67             --external-library \
68             --reparse-validate \
69             --identifier-prefix=G \
70             --symbol-prefix=g \
71             --symbol-prefix=glib \
72             --c-include="glib.h" \
73             $(GLib_2_0_gir_DOCSRC)
74 GLib_2_0_gir_PACKAGES = glib-2.0
75 GLib_2_0_gir_CFLAGS = \
76             -I$(GLIB_INCLUDEDIR) \
77             -I$(GLIB_LIBDIR)/glib-2.0/include \
78             -DGETTEXT_PACKAGE=Dummy \
79             -DGLIB_COMPILATION \
80             -D__G_I18N_LIB_H__
81 GLib_2_0_gir_FILES =  \
82                 $(GLIB_LIBDIR)/glib-2.0/include/glibconfig.h \
83                 $(GLIB_INCLUDEDIR)/glib/*.h \
84                 $(GLIB_INCLUDEDIR)/gobject/glib-types.h \
85                 gir/glib-2.0.c
86
87 BUILT_GIRSOURCES += GLib-2.0.gir
88
89 GLib-2.0.gir: g-ir-scanner g-ir-compiler$(EXEEXT)
90
91 gir/DBusGLib-1.0.typelib: GObject-2.0.gir
92
93 # gobject
94 GOBJECT_INCLUDEDIR=$(shell pkg-config --variable=includedir gobject-2.0)/glib-2.0
95 GOBJECT_LIBDIR=$(shell pkg-config --variable=libdir gobject-2.0)
96
97 if OS_WIN32
98 GOBJECT_LIBRARY=libgobject-2.0-0
99 else
100 GOBJECT_LIBRARY=gobject-2.0
101 endif
102
103 GObject-2.0.gir: GLib-2.0.gir
104 GObject_2_0_gir_LIBS = $(GOBJECT_LIBRARY)
105 GObject_2_0_gir_SCANNERFLAGS = \
106             --external-library \
107             --reparse-validate \
108             --identifier-prefix=G \
109             --c-include="glib-object.h" \
110             --add-include-path=. \
111             $(GObject_2_0_gir_DOCSRC)
112
113 GObject_2_0_gir_PACKAGES = gobject-2.0
114 GObject_2_0_gir_INCLUDES = GLib-2.0
115 GObject_2_0_gir_CFLAGS = \
116             -DGOBJECT_COMPILATION \
117             -I$(GOBJECT_INCLUDEDIR) \
118             -I$(GOBJECT_LIBDIR)/glib-2.0/include
119 GObject_2_0_gir_FILES = \
120         $(filter-out $(GOBJECT_INCLUDEDIR)/gobject/glib-types.h, $(wildcard $(GOBJECT_INCLUDEDIR)/gobject/*.h)) \
121         gir/gobject-2.0.c
122
123 BUILT_GIRSOURCES += GObject-2.0.gir
124
125 # gmodule
126 GMODULE_INCLUDEDIR=$(shell pkg-config --variable=includedir gmodule-2.0)/glib-2.0
127 GMODULE_LIBDIR=$(shell pkg-config --variable=libdir gmodule-2.0)
128
129 if OS_WIN32
130 GMODULE_LIBRARY=libgmodule-2.0-0
131 else
132 GMODULE_LIBRARY=gmodule-2.0
133 endif
134
135 GModule-2.0.gir: GLib-2.0.gir
136
137 GModule_2_0_gir_LIBS = $(GMODULE_LIBRARY)
138 GModule_2_0_gir_SCANNERFLAGS = \
139             --external-library \
140             --identifier-prefix=G \
141             --c-include="gmodule.h" \
142             --add-include-path=. \
143             $(GModule_2_0_gir_DOCSRC)
144
145 GModule_2_0_gir_PACKAGES = gmodule-2.0
146 GModule_2_0_gir_INCLUDES = GLib-2.0
147 GModule_2_0_gir_CFLAGS = \
148             -I$(GMODULE_INCLUDEDIR) \
149             -I$(GMODULE_LIBDIR)/glib-2.0/include
150 GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h
151
152 BUILT_GIRSOURCES += GModule-2.0.gir
153
154 # gio
155 GIO_INCLUDEDIR=$(shell pkg-config --variable=includedir gio-2.0)/glib-2.0
156 GIO_LIBDIR=$(shell pkg-config --variable=libdir gio-2.0)
157
158 if OS_WIN32
159 GIO_LIBRARY=libgio-2.0-0
160 else
161 GIO_LIBRARY=gio-2.0
162 endif
163
164 if HAVE_GIO_UNIX
165 GIO_UNIX_HDRS=$(shell pkg-config --variable=includedir gio-unix-2.0)/gio-unix-2.0/gio/*.h
166 GIO_UNIX_PACKAGES = gio-unix-2.0
167 else
168 GIO_UNIX_HDRS=
169 GIO_UNIX_PACKAGES =
170 endif
171 GIO_CINCLUDES=$(patsubst %,--c-include='%',$(shell echo $(GIO_UNIX_HDRS)))
172
173 Gio-2.0.gir: GObject-2.0.gir
174
175 Gio_2_0_gir_LIBS = $(GIO_LIBRARY)
176 Gio_2_0_gir_SCANNERFLAGS = \
177             --external-library \
178             --reparse-validate \
179             --warn-all \
180             --identifier-prefix=G \
181             --c-include="gio/gio.h" \
182             $(GIO_CINCLUDES) \
183             --add-include-path=. \
184             $(Gio_2_0_gir_DOCSRC)
185
186 Gio_2_0_gir_PACKAGES = gio-2.0 $(GIO_UNIX_PACKAGES)
187 Gio_2_0_gir_INCLUDES = GObject-2.0
188 Gio_2_0_gir_CFLAGS = \
189             -DGIO_COMPILATION \
190             -I$(GIO_LIBDIR)/glib-2.0/include
191 Gio_2_0_gir_FILES = \
192             $(GIO_UNIX_HDRS) \
193             $(filter-out %/gsettingsbackend.h, $(shell echo $(GIO_INCLUDEDIR)/gio/*.h)) \
194             gir/gio-2.0.c
195
196 BUILT_GIRSOURCES += Gio-2.0.gir
197 EXTRA_DIST += gir/glib-2.0.c gir/gobject-2.0.c gir/gio-2.0.c
198
199 # girepository
200 GIRepository-2.0.gir: GObject-2.0.gir libgirepository-1.0.la
201
202 GIRepository_2_0_gir_LIBS = libgirepository-1.0.la
203 GIRepository_2_0_gir_SCANNERFLAGS = \
204         --warn-all \
205         --identifier-prefix=GI \
206         --symbol-prefix=g \
207         --c-include="girepository.h" \
208         --add-include-path=.
209 GIRepository_2_0_gir_PACKAGES = gobject-2.0
210 GIRepository_2_0_gir_INCLUDES = GObject-2.0
211 GIRepository_2_0_gir_EXPORT_PACKAGES = gobject-introspection-1.0
212 GIRepository_2_0_gir_CFLAGS = \
213     -I$(top_srcdir)/girepository -I$(top_srcdir) \
214     -DGI_COMPILATION
215 GIRepository_2_0_gir_FILES = \
216         $(top_srcdir)/girepository/girepository.h   \
217         $(top_srcdir)/girepository/girepository.c   \
218         $(top_srcdir)/girepository/gi*info.c        \
219         $(top_srcdir)/girepository/gi*info.h        \
220         $(top_srcdir)/girepository/gitypelib.h      \
221         $(top_srcdir)/girepository/gitypes.h
222
223 BUILT_GIRSOURCES += GIRepository-2.0.gir
224
225 CLEANFILES += $(BUILT_GIRSOURCES)
226
227 INTROSPECTION_GIRS += $(BUILT_GIRSOURCES)
228
229 girdir = $(GIR_DIR)
230 gir_DATA = $(STATIC_GIRSOURCES) $(SUBSTITUTED_GIRSOURCES) $(BUILT_GIRSOURCES)
231
232 typelibsdir = $(libdir)/girepository-1.0
233 typelibs_DATA = $(gir_DATA:.gir=.typelib)
234
235 CLEANFILES += $(typelibs_DATA)