build: Use template files for the ATK enumerations
[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 INTROSPECTION_SCANNER_ENV = CC="$(CC)"
8
9 EXTRA_DIST =
10 CLEANFILES =
11 DISTCLEANFILES =
12
13 if PLATFORM_WIN32
14 no_undefined = -no-undefined
15 else
16 no_undefined =
17 endif
18
19 AM_CPPFLAGS = \
20         -I$(top_srcdir) \
21         -I$(top_builddir) \
22         -DG_DISABLE_DEPRECATED \
23         -DATK_DISABLE_DEPRECATED \
24         -DATK_COMPILATION \
25         -DATK_LOCALEDIR="\"$(datadir)/locale\"" \
26         $(DEP_CFLAGS) \
27         $(ATK_HIDDEN_VISIBILITY_CFLAGS)
28
29 lib_LTLIBRARIES = libatk-1.0.la
30
31 libatk_1_0_la_LDFLAGS = \
32         -version-info $(LT_VERSION_INFO) \
33         $(no_undefined)
34 libatk_1_0_la_LIBADD = \
35        $(DEP_LIBS) \
36        $(INTLLIBS)
37
38 atk_sources = \
39         atkaction.c             \
40         atkcomponent.c          \
41         atkdocument.c           \
42         atkeditabletext.c       \
43         atkgobjectaccessible.c  \
44         atkhyperlink.c          \
45         atkhyperlinkimpl.c      \
46         atkhypertext.c          \
47         atkimage.c              \
48         atknoopobject.c         \
49         atknoopobjectfactory.c  \
50         atkobject.c             \
51         atkobjectfactory.c      \
52         atkplug.c               \
53         atkprivate.h            \
54         atkprivate.c            \
55         atkrange.c              \
56         atkregistry.c           \
57         atkrelation.c           \
58         atkrelationset.c        \
59         atkselection.c          \
60         atksocket.c             \
61         atkstate.c              \
62         atkstateset.c           \
63         atkstreamablecontent.c  \
64         atktable.c              \
65         atktablecell.c          \
66         atktext.c               \
67         atkutil.c               \
68         atkmisc.c               \
69         atkvalue.c              \
70         atkversion.c            \
71         atkwindow.c
72
73 libatk_1_0_la_SOURCES =         \
74         $(atk_sources)          \
75         atk-enum-types.c
76
77 libatkincludedir=$(includedir)/atk-1.0/atk
78
79 atk_headers = \
80         atkaction.h             \
81         atkcomponent.h          \
82         atkdocument.h           \
83         atkeditabletext.h       \
84         atkgobjectaccessible.h  \
85         atkhyperlink.h          \
86         atkhyperlinkimpl.h      \
87         atkhypertext.h          \
88         atknoopobject.h         \
89         atknoopobjectfactory.h  \
90         atkobject.h             \
91         atkobjectfactory.h      \
92         atkplug.h               \
93         atkimage.h              \
94         atkrange.h              \
95         atkregistry.h           \
96         atkrelation.h           \
97         atkrelationtype.h       \
98         atkrelationset.h        \
99         atkselection.h          \
100         atksocket.h             \
101         atkstate.h              \
102         atkstateset.h           \
103         atkstreamablecontent.h  \
104         atktable.h              \
105         atktablecell.h          \
106         atktext.h               \
107         atkutil.h               \
108         atkmisc.h               \
109         atkvalue.h              \
110         atkwindow.h
111
112 libatkinclude_HEADERS =         \
113         atk.h                   \
114         $(atk_headers)          \
115         atkversion.h            \
116         atk-enum-types.h
117
118
119 # ---------- Handle built sources ----------
120
121 BUILT_SOURCES = atkmarshal.h atkmarshal.c atk-enum-types.h atk-enum-types.c
122
123 atkmarshal.h: stamp-atkmarshal.h
124         @true
125 stamp-atkmarshal.h: @REBUILD@ atkmarshal.list
126         $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=atk_marshal $(srcdir)/atkmarshal.list --header >> xgen-gmh \
127         && (cmp -s xgen-gmh atkmarshal.h || cp xgen-gmh atkmarshal.h) \
128         && rm -f xgen-gmh xgen-gmh~                                     \
129         && echo timestamp > $(@F)
130
131 atkmarshal.c: stamp-atkmarshal.c
132         @true
133 stamp-atkmarshal.c: @REBUILD@ atkmarshal.list
134         $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=atk_marshal $(srcdir)/atkmarshal.list --body >> xgen-gmc \
135         && (cmp -s xgen-gmc atkmarshal.c || cp xgen-gmc atkmarshal.c) \
136         && rm -f xgen-gmc xgen-gmc~                                     \
137         && echo timestamp > $(@F)
138
139 EXTRA_DIST += atkmarshal.list
140 CLEANFILES += stamp-atkmarshal.h stamp-atkmarshal.c
141 DISTCLEANFILES += atkmarshal.h atkmarshal.c
142
143 atk-enum-types.h: s-enum-types-h
144         @true
145 s-enum-types-h: @REBUILD@ $(atk_headers) $(top_srcdir)/atk/atk-enum-types.h.template Makefile
146         $(AM_V_GEN) $(GLIB_MKENUMS) \
147                 --template $(top_srcdir)/atk/atk-enum-types.h.template \
148         $(addprefix $(srcdir)/, $(atk_headers)) > tmp-atk-enum-types.h \
149         && (cmp -s tmp-atk-enum-types.h atk-enum-types.h || cp -f tmp-atk-enum-types.h atk-enum-types.h ) \
150         && rm -f tmp-atk-enum-types.h \
151         && echo timestamp > $(@F)
152
153 atk-enum-types.c: s-enum-types-c
154         @true
155 s-enum-types-c: @REBUILD@ $(atk_headers) $(top_srcdir)/atk/atk-enum-types.c.template Makefile
156         $(AM_V_GEN) $(GLIB_MKENUMS) \
157                 --template $(top_srcdir)/atk/atk-enum-types.c.template \
158         $(addprefix $(srcdir)/, $(atk_headers)) > tmp-atk-enum-types.c \
159         && (cmp -s tmp-atk-enum-types.c atk-enum-types.c || cp tmp-atk-enum-types.c atk-enum-types.c ) \
160         && rm -f tmp-atk-enum-types.c \
161         && echo timestamp > $(@F)
162
163 EXTRA_DIST += atk-enum-types.h.template atk-enum-types.c.template
164 CLEANFILES += s-enum-types-h s-enum-types-c
165 DISTCLEANFILES += atk-enum-types.h atk-enum-types.c
166
167 if HAVE_INTROSPECTION
168 introspection_sources = \
169     $(atk_headers)      \
170     $(atk_sources)
171 introspection_generated_sources = \
172     atkversion.h        \
173     atk-enum-types.c    \
174     atk-enum-types.h
175
176 Atk-1.0.gir: libatk-1.0.la Makefile
177 Atk_1_0_gir_INCLUDES = GObject-2.0
178 Atk_1_0_gir_CFLAGS = $(AM_CPPFLAGS)
179 Atk_1_0_gir_LIBS = libatk-1.0.la
180 Atk_1_0_gir_SCANNERFLAGS = --pkg-export=atk --warn-all --c-include="atk/atk.h"
181 Atk_1_0_gir_FILES = $(introspection_sources) $(introspection_generated_sources)
182 INTROSPECTION_GIRS += Atk-1.0.gir
183
184 girdir = $(datadir)/gir-1.0
185 gir_DATA = $(INTROSPECTION_GIRS)
186
187 typelibsdir = $(libdir)/girepository-1.0
188 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
189
190 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
191 endif
192
193 # ---------- Win32 stuff ----------
194 if OS_WIN32
195 libatk_1_0_la_LDFLAGS += -no-undefined -Wl,atk-win32-res.o
196 libatk_1_0_la_DEPENDENCIES = atk-win32-res.o
197 endif
198
199 atk-win32-res.o: atk.rc
200         $(WINDRES) $< $@
201
202 EXTRA_DIST += atk.rc.in
203
204 # ---------- MSVC Project Items ---------
205 MSVCPROJS = atk
206
207 atk_FILES = $(libatk_1_0_la_SOURCES)
208 atk_EXCLUDES = atkdummy
209
210 atk_HEADERS_DIR = $(libatkincludedir)
211 atk_HEADERS_INST = $(libatkinclude_HEADERS) atkversion.h
212 atk_HEADERS_EXCLUDES = $(builddir)/atkversion.h
213
214 include $(top_srcdir)/win32/Makefile.msvcproj
215
216 if HAVE_INTROSPECTION
217 # Introspection Items for MSVC
218 MSVC_INTROSPECT_GIRS = Atk-1.0.gir
219
220 INTROSPECTION_INTERMEDIATE_ITEMS = \
221         $(top_builddir)/win32/Atk-1.0.gir.msvc.introspect       \
222         $(top_builddir)/win32/Atk_1_0_gir_list
223
224 Atk_1_0_gir_MSVC_EXPORT_PACKAGES = atk
225 Atk_1_0_gir_MSVC_INCLUDE_GIRS = $(Atk_1_0_gir_INCLUDES)
226 Atk_1_0_gir_MSVC_LIBS = atk-1.0
227 Atk_1_0_gir_MSVC_FILES =                \
228         $(introspection_sources)        \
229         atkversion.h                    \
230         atk-enum-types.c                \
231         atk-enum-types.h
232
233 Atk_1_0_gir_MSVC_CFLAGS =               \
234         -I..                            \
235         -DG_DISABLE_DEPRECATED  \
236         -DATK_DISABLE_DEPRECATED        \
237         -DATK_COMPILATION       \
238         -DATK_LOCALEDIR="\\\"/dummy/share/locale\\\""
239
240 Atk_1_0_gir_MSVC_SCANNERFLAGS = --warn-all --c-include "atk/atk.h"
241
242 include $(top_srcdir)/win32/Makefile.msvc-introspection
243
244 else
245 INTROSPECTION_INTERMEDIATE_ITEMS =
246 endif
247
248 dist-hook: \
249         $(top_builddir)/win32/vs9/atk.vcproj    \
250         $(top_builddir)/win32/vs9/atk.headers   \
251         $(INTROSPECTION_INTERMEDIATE_ITEMS)