Revert "Fix out of tree builds"
[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 = \
30        $(DEP_LIBS)     \
31        $(INTLLIBS)
32
33 atk_sources =   \
34         atkaction.c             \
35         atkcomponent.c          \
36         atkdocument.c           \
37         atkeditabletext.c       \
38         atkgobjectaccessible.c  \
39         atkhyperlink.c          \
40         atkhyperlinkimpl.c      \
41         atkhypertext.c          \
42         atkimage.c              \
43         atknoopobject.c         \
44         atknoopobjectfactory.c  \
45         atkobject.c             \
46         atkobjectfactory.c      \
47         atkplug.c               \
48         atkregistry.c           \
49         atkrelation.c           \
50         atkrelationset.c        \
51         atkselection.c          \
52         atksocket.c             \
53         atkstate.c              \
54         atkstateset.c           \
55         atkstreamablecontent.c  \
56         atktable.c              \
57         atktext.c               \
58         atkutil.c               \
59         atkmisc.c               \
60         atkvalue.c \
61         atkversion.c            \
62         atkwindow.c
63
64 libatk_1_0_la_SOURCES =         \
65         $(atk_sources)          \
66         atk-enum-types.c
67
68 libatkincludedir=$(includedir)/atk-1.0/atk
69
70 atk_headers = \
71         atk.h                   \
72         atkaction.h             \
73         atkcomponent.h          \
74         atkdocument.h           \
75         atkeditabletext.h       \
76         atkgobjectaccessible.h  \
77         atkhyperlink.h          \
78         atkhyperlinkimpl.h      \
79         atkhypertext.h          \
80         atknoopobject.h         \
81         atknoopobjectfactory.h  \
82         atkobject.h             \
83         atkobjectfactory.h      \
84         atkplug.h               \
85         atkimage.h              \
86         atkregistry.h           \
87         atkrelation.h           \
88         atkrelationtype.h       \
89         atkrelationset.h        \
90         atkselection.h          \
91         atksocket.h             \
92         atkstate.h              \
93         atkstateset.h           \
94         atkstreamablecontent.h  \
95         atktable.h              \
96         atktext.h               \
97         atkutil.h               \
98         atkmisc.h               \
99         atkvalue.h \
100         atkwindow.h
101
102 libatkinclude_HEADERS =         \
103         $(atk_headers)          \
104         atkversion.h            \
105         atk-enum-types.h
106
107
108 # ---------- Handle built sources ----------
109
110 BUILT_SOURCES = atkmarshal.h atkmarshal.c atk-enum-types.h atk-enum-types.c
111
112 atkmarshal.h: stamp-atkmarshal.h
113         @true
114 stamp-atkmarshal.h: @REBUILD@ atkmarshal.list
115         $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=atk_marshal $(srcdir)/atkmarshal.list --header >> xgen-gmh \
116         && (cmp -s xgen-gmh atkmarshal.h || cp xgen-gmh atkmarshal.h) \
117         && rm -f xgen-gmh xgen-gmh~                                     \
118         && echo timestamp > $(@F)
119
120 atkmarshal.c: stamp-atkmarshal.c
121         @true
122 stamp-atkmarshal.c: @REBUILD@ atkmarshal.list
123         $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=atk_marshal $(srcdir)/atkmarshal.list --body >> xgen-gmc \
124         && (cmp -s xgen-gmc atkmarshal.c || cp xgen-gmc atkmarshal.c) \
125         && rm -f xgen-gmc xgen-gmc~                                     \
126         && echo timestamp > $(@F)
127
128 atk-enum-types.h: s-enum-types-h
129         @true
130 s-enum-types-h: @REBUILD@ $(atk_headers) Makefile
131         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) \
132                         --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" \
133                         --fprod "/* enumerations from \"@filename@\" */\n" \
134                         --vhead "GType @enum_name@_get_type (void);\n#define ATK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
135                         --ftail "G_END_DECLS\n\n#endif /* __ATK_ENUM_TYPES_H__ */" \
136                 $(atk_headers) ) > tmp-atk-enum-types.h \
137         && (cmp -s tmp-atk-enum-types.h atk-enum-types.h || cp tmp-atk-enum-types.h atk-enum-types.h ) \
138         && rm -f tmp-atk-enum-types.h \
139         && echo timestamp > $(@F)
140
141 atk-enum-types.c: s-enum-types-c
142         @true
143 s-enum-types-c: @REBUILD@ $(atk_headers) Makefile
144         $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) \
145                         --fhead "#include <atk.h>" \
146                         --fprod "\n/* enumerations from \"@filename@\" */" \
147                         --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[] = {"     \
148                         --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
149                         --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
150                 $(atk_headers) ) > tmp-atk-enum-types.c \
151         && (cmp -s tmp-atk-enum-types.c atk-enum-types.c || cp tmp-atk-enum-types.c atk-enum-types.c ) \
152         && rm -f tmp-atk-enum-types.c \
153         && echo timestamp > $(@F)
154
155
156 if HAVE_INTROSPECTION
157 introspection_sources = \
158     $(atk_headers)      \
159     $(atk_sources)
160 introspection_generated_sources = \
161     atk-enum-types.c    \
162     atk-enum-types.h
163
164 Atk-1.0.gir: libatk-1.0.la Makefile
165 Atk_1_0_gir_INCLUDES = GObject-2.0
166 Atk_1_0_gir_CFLAGS = $(INCLUDES)
167 Atk_1_0_gir_LIBS = libatk-1.0.la
168 Atk_1_0_gir_SCANNERFLAGS = --pkg-export atk --warn-all --c-include "atk/atk.h"
169 Atk_1_0_gir_FILES = \
170     $(addprefix $(srcdir)/, $(introspection_sources))   \
171     $(introspection_generated_sources)
172 INTROSPECTION_GIRS += Atk-1.0.gir
173
174 girdir = $(datadir)/gir-1.0
175 gir_DATA = $(INTROSPECTION_GIRS)
176
177 typelibsdir = $(libdir)/girepository-1.0
178 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
179
180 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
181 endif
182
183 # ---------- Win32 stuff ----------
184
185 if OS_WIN32
186 libatk_1_0_la_LDFLAGS += -export-symbols atk.def -no-undefined -Wl,atk-win32-res.o
187 libatk_1_0_la_DEPENDENCIES = atk-win32-res.o atk.def
188
189 install-def-file:
190         $(INSTALL) atk.def $(DESTDIR)$(libdir)/atk-1.0.def
191 uninstall-def-file:
192         -rm $(DESTDIR)$(libdir)/atk-1.0.def
193 else
194 install-def-file:
195 uninstall-def-file:
196 endif
197
198 atk-win32-res.o: atk.rc
199         $(WINDRES) $< $@
200
201 if MS_LIB_AVAILABLE
202 noinst_DATA = atk-$(ATK_API_VERSION).lib
203
204 install-ms-lib:
205         $(INSTALL) atk-$(ATK_API_VERSION).lib $(DESTDIR)$(libdir)
206
207 uninstall-ms-lib:
208         -rm $(DESTDIR)$(libdir)/atk-$(ATK_API_VERSION).lib
209 else
210 install-ms-lib:
211 uninstall-ms-lib:
212 endif
213
214 atk.def: atk.symbols
215         (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
216
217 atk-$(ATK_API_VERSION).lib: libatk-$(ATK_API_VERSION).la atk.def
218         lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libatk-$(ATK_API_VERSION)-$(LT_CURRENT_MINUS_AGE).dll -def:atk.def -out:$@
219
220
221 EXTRA_DIST = atk.symbols atk.rc.in atkmarshal.list atkintl.h atk.rc atkversion.h.in
222
223 dist-hook: ../build/win32/vs9/atk.vcproj ../build/win32/vs10/atk.vcxproj ../build/win32/vs10/atk.vcxproj.filters
224
225 ../build/win32/vs9/atk.vcproj: ../build/win32/vs9/atk.vcprojin
226         for F in $(libatk_1_0_la_SOURCES); do \
227                 case $$F in \
228                 *.c) echo '   <File RelativePath="..\..\..\atk\'$$F'" />' \
229                      ;; \
230                 esac; \
231         done >libatk.sourcefiles
232         $(CPP) -P - <$(top_srcdir)/build/win32/vs9/atk.vcprojin >$@
233         rm libatk.sourcefiles
234         
235 ../build/win32/vs10/atk.vcxproj: ../build/win32/vs10/atk.vcxprojin
236         for F in $(libatk_1_0_la_SOURCES); do \
237                 case $$F in \
238                 *.c) echo '    <ClCompile Include="..\..\..\atk\'$$F'" />' \
239                      ;; \
240                 esac; \
241         done >libatk.vs10.sourcefiles
242         $(CPP) -P - <$(top_srcdir)/build/win32/vs10/atk.vcxprojin >$@
243         rm libatk.vs10.sourcefiles
244         
245 ../build/win32/vs10/atk.vcxproj.filters: ../build/win32/vs10/atk.vcxproj.filtersin
246         for F in $(libatk_1_0_la_SOURCES); do \
247                 case $$F in \
248                 *.c) echo '    <ClCompile Include="..\..\..\atk\'$$F'"><Filter>Source Files</Filter></ClCompile>' \
249                      ;; \
250                 esac; \
251         done >libatk.vs10.sourcefiles.filters
252         $(CPP) -P - <$(top_srcdir)/build/win32/vs10/atk.vcxproj.filtersin >$@
253         rm libatk.vs10.sourcefiles.filters
254
255 DISTCLEANFILES = \
256   stamp-atkmarshal.h stamp-atkmarshal.c \
257   s-enum-types-h s-enum-types-c
258
259 distclean-local:
260         if test $(srcdir) = .; then :; else \
261           rm -f atkmarshal.h atkmarshal.c atk-enum-types.h atk-enum-types.c; \
262         fi
263
264 install-data-local: install-ms-lib install-def-file
265
266 uninstall-local: uninstall-ms-lib uninstall-def-file