Make sure distcheck passed with introspection
[platform/upstream/atk.git] / atk / Makefile.am
1 # We set GPATH here; this gives us semantics for GNU make
2 # which are more like other make's VPATH.
3 GPATH = $(srcdir)
4
5 include $(INTROSPECTION_MAKEFILE)
6 INTROSPECTION_GIRS =
7
8 CLEANFILES =
9
10 if PLATFORM_WIN32
11 no_undefined = -no-undefined
12 else
13 no_undefined =
14 endif
15
16 INCLUDES = \
17         -I$(top_srcdir)         \
18         -DG_DISABLE_DEPRECATED  \
19         -DATK_DISABLE_DEPRECATED        \
20         -DATK_COMPILATION       \
21         -DATK_LOCALEDIR="\"$(datadir)/locale\"" \
22         $(DEP_CFLAGS)
23
24 lib_LTLIBRARIES = libatk-1.0.la
25
26 libatk_1_0_la_LDFLAGS =                         \
27         -version-info $(LT_VERSION_INFO)        \
28         $(no_undefined)
29 libatk_1_0_la_LIBADD = $(DEP_LIBS)
30
31 libatk_1_0_la_SOURCES =         \
32         atkaction.c             \
33         atkcomponent.c          \
34         atkdocument.c           \
35         atkeditabletext.c       \
36         atkgobjectaccessible.c  \
37         atkhyperlink.c          \
38         atkhyperlinkimpl.c      \
39         atkhypertext.c          \
40         atkimage.c              \
41         atknoopobject.c         \
42         atknoopobjectfactory.c  \
43         atkobject.c             \
44         atkobjectfactory.c      \
45         atkplug.c               \
46         atkregistry.c           \
47         atkrelation.c           \
48         atkrelationset.c        \
49         atkselection.c          \
50         atksocket.c             \
51         atkstate.c              \
52         atkstateset.c           \
53         atkstreamablecontent.c  \
54         atktable.c              \
55         atktext.c               \
56         atkutil.c               \
57         atkmisc.c               \
58         atkvalue.c              \
59         atk-enum-types.c
60
61 libatkincludedir=$(includedir)/atk-1.0/atk
62
63 atk_headers = \
64         atk.h                   \
65         atkaction.h             \
66         atkcomponent.h          \
67         atkdocument.h           \
68         atkeditabletext.h       \
69         atkgobjectaccessible.h  \
70         atkhyperlink.h          \
71         atkhyperlinkimpl.h      \
72         atkhypertext.h          \
73         atknoopobject.h         \
74         atknoopobjectfactory.h  \
75         atkobject.h             \
76         atkobjectfactory.h      \
77         atkplug.h               \
78         atkimage.h              \
79         atkregistry.h           \
80         atkrelation.h           \
81         atkrelationtype.h       \
82         atkrelationset.h        \
83         atkselection.h          \
84         atksocket.h             \
85         atkstate.h              \
86         atkstateset.h           \
87         atkstreamablecontent.h  \
88         atktable.h              \
89         atktext.h               \
90         atkutil.h               \
91         atkmisc.h               \
92         atkvalue.h
93
94 libatkinclude_HEADERS =         \
95         $(atk_headers)          \
96         atk-enum-types.h
97
98
99 # ---------- Handle built sources ----------
100
101 BUILT_SOURCES = atkmarshal.h atkmarshal.c atk-enum-types.h atk-enum-types.c
102
103 atkmarshal.h: stamp-atkmarshal.h
104         @true
105 stamp-atkmarshal.h: @REBUILD@ atkmarshal.list
106         $(GLIB_GENMARSHAL) --prefix=atk_marshal $(srcdir)/atkmarshal.list --header >> xgen-gmh \
107         && (cmp -s xgen-gmh atkmarshal.h || cp xgen-gmh atkmarshal.h) \
108         && rm -f xgen-gmh xgen-gmh~                                     \
109         && echo timestamp > $(@F)
110
111 atkmarshal.c: stamp-atkmarshal.c
112         @true
113 stamp-atkmarshal.c: @REBUILD@ atkmarshal.list
114         $(GLIB_GENMARSHAL) --prefix=atk_marshal $(srcdir)/atkmarshal.list --body >> xgen-gmc \
115         && (cmp -s xgen-gmc atkmarshal.c || cp xgen-gmc atkmarshal.c) \
116         && rm -f xgen-gmc xgen-gmc~                                     \
117         && echo timestamp > $(@F)
118
119 atk-enum-types.h: s-enum-types-h
120         @true
121 s-enum-types-h: @REBUILD@ $(atk_headers) Makefile
122         ( cd $(srcdir) && $(GLIB_MKENUMS) \
123                         --fhead "#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)\n#error \"Only <atk/atk.h> can be included directly.\"\n#endif\n\n#ifndef __ATK_ENUM_TYPES_H__\n#define __ATK_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
124                         --fprod "/* enumerations from \"@filename@\" */\n" \
125                         --vhead "GType @enum_name@_get_type (void);\n#define ATK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
126                         --ftail "G_END_DECLS\n\n#endif /* __ATK_ENUM_TYPES_H__ */" \
127                 $(atk_headers) ) > tmp-atk-enum-types.h \
128         && (cmp -s tmp-atk-enum-types.h atk-enum-types.h || cp tmp-atk-enum-types.h atk-enum-types.h ) \
129         && rm -f tmp-atk-enum-types.h \
130         && echo timestamp > $(@F)
131
132 atk-enum-types.c: s-enum-types-c
133         @true
134 s-enum-types-c: @REBUILD@ $(atk_headers) Makefile
135         ( cd $(srcdir) && $(GLIB_MKENUMS) \
136                         --fhead "#include <atk.h>" \
137                         --fprod "\n/* enumerations from \"@filename@\" */" \
138                         --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {"     \
139                         --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
140                         --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
141                 $(atk_headers) ) > tmp-atk-enum-types.c \
142         && (cmp -s tmp-atk-enum-types.c atk-enum-types.c || cp tmp-atk-enum-types.c atk-enum-types.c ) \
143         && rm -f tmp-atk-enum-types.c \
144         && echo timestamp > $(@F)
145
146
147 if HAVE_INTROSPECTION
148 introspection_sources = \
149     $(libatkinclude_HEADERS) \
150     $(libatk_1_0_la_SOURCES)
151
152 Atk-1.0.gir: libatk-1.0.la
153 Atk_1_0_gir_INCLUDES = GObject-2.0
154 Atk_1_0_gir_CFLAGS = $(INCLUDES)
155 Atk_1_0_gir_LIBS = libatk-1.0.la
156 Atk_1_0_gir_FILES = $(addprefix $(srcdir)/, $(introspection_sources))
157 INTROSPECTION_GIRS += Atk-1.0.gir
158
159 girdir = $(INTROSPECTION_GIRDIR)
160 dist_gir_DATA = $(INTROSPECTION_GIRS)
161
162 typelibsdir = $(INTROSPECTION_TYPELIBDIR)
163 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
164
165 CLEANFILES += $(dist_gir_DATA) $(typelibs_DATA)
166 endif
167
168 # ---------- Win32 stuff ----------
169
170 if OS_WIN32
171 libatk_1_0_la_LDFLAGS += -export-symbols $(srcdir)/atk.def -no-undefined -Wl,atk-win32-res.o
172 libatk_1_0_la_DEPENDENCIES = atk-win32-res.o atk.def
173
174 install-def-file:
175         $(INSTALL) $(srcdir)/atk.def $(DESTDIR)$(libdir)/atk-1.0.def
176 uninstall-def-file:
177         -rm $(DESTDIR)$(libdir)/atk-1.0.def
178 else
179 install-def-file:
180 uninstall-def-file:
181 endif
182
183 atk-win32-res.o: atk.rc
184         $(WINDRES) $< $@
185
186 if MS_LIB_AVAILABLE
187 noinst_DATA = atk-$(ATK_API_VERSION).lib
188
189 install-ms-lib:
190         $(INSTALL) atk-$(ATK_API_VERSION).lib $(DESTDIR)$(libdir)
191
192 uninstall-ms-lib:
193         -rm $(DESTDIR)$(libdir)/atk-$(ATK_API_VERSION).lib
194 else
195 install-ms-lib:
196 uninstall-ms-lib:
197 endif
198
199 atk.def: atk.symbols
200         (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/atk.symbols | sed -e '/^$$/d' -e 's/^/    /' -e 's/G_GNUC_[^ ]*//g') > atk.def
201
202 atk-$(ATK_API_VERSION).lib: libatk-$(ATK_API_VERSION).la atk.def
203         lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libatk-$(ATK_API_VERSION)-$(LT_CURRENT_MINUS_AGE).dll -def:atk.def -out:$@
204
205
206 EXTRA_DIST = atk.symbols atk.rc.in atkmarshal.list atkintl.h
207
208 DISTCLEANFILES = \
209   stamp-atkmarshal.h stamp-atkmarshal.c \
210   s-enum-types-h s-enum-types-c
211
212 distclean-local:
213         if test $(srcdir) = .; then :; else \
214           rm -f atkmarshal.h atkmarshal.c atk-enum-types.h atk-enum-types.c; \
215         fi
216
217 install-data-local: install-ms-lib install-def-file
218
219 uninstall-local: uninstall-ms-lib uninstall-def-file