demo: lookup icons on uninstalled demo
[adg.git] / src / adg / Makefile.am
blob9f0e53d0673695507d290c52fca32ac09cd6e68d
1 include $(top_srcdir)/build/Makefile.am.common
4 SUBDIRS=                        tests
7 AM_CPPFLAGS=                    -I$(top_srcdir)/src \
8                                 -I$(top_builddir)/src
10 ## On windows, ADG_DATADIR is handled as a path relative
11 ## to the binary executable
12 if OS_WINDOWS
13 AM_CPPFLAGS+=                   -DADG_DATADIR='""'
14 else
15 AM_CPPFLAGS+=                   -DADG_DATADIR='"$(pkgdatadir)"'
16 endif
18 ADG_CFLAGS=                     $(CAIRO_CFLAGS) \
19                                 $(GOBJECT_CFLAGS)
20 ADG_LDFLAGS=                    $(CAIRO_LIBS) \
21                                 $(GOBJECT_LIBS)
24 # file groups
25 h_sources=                      adg-adim.h \
26                                 adg-alignment.h \
27                                 adg-arrow.h \
28                                 adg-canvas.h \
29                                 adg-color-style.h \
30                                 adg-container.h \
31                                 adg-dim.h \
32                                 adg-dim-style.h \
33                                 adg-dress.h \
34                                 adg-dress-builtins.h \
35                                 adg-edges.h \
36                                 adg-entity.h \
37                                 adg-enums.h \
38                                 adg-fill-style.h \
39                                 adg-font-style.h \
40                                 adg-hatch.h \
41                                 adg-ldim.h \
42                                 adg-line-style.h \
43                                 adg-logo.h \
44                                 adg-marker.h \
45                                 adg-matrix.h \
46                                 adg-model.h \
47                                 adg-pair.h \
48                                 adg-path.h \
49                                 adg-pattern.h \
50                                 adg-point.h \
51                                 adg-primitive.h \
52                                 adg-projection.h \
53                                 adg-rdim.h \
54                                 adg-ruled-fill.h \
55                                 adg-segment.h \
56                                 adg-stroke.h \
57                                 adg-style.h \
58                                 adg-table.h \
59                                 adg-table-cell.h \
60                                 adg-table-row.h \
61                                 adg-table-style.h \
62                                 adg-textual.h \
63                                 adg-title-block.h \
64                                 adg-toy-text.h \
65                                 adg-trail.h \
66                                 adg-utils.h
67 built_h_sources=                adg-type-builtins.h
68 private_h_sources=              adg-adim-private.h \
69                                 adg-alignment-private.h \
70                                 adg-arrow-private.h \
71                                 adg-canvas-private.h \
72                                 adg-color-style-private.h \
73                                 adg-container-private.h \
74                                 adg-dim-private.h \
75                                 adg-dim-style-private.h \
76                                 adg-dress-private.h \
77                                 adg-edges-private.h \
78                                 adg-entity-private.h \
79                                 adg-fill-style-private.h \
80                                 adg-font-style-private.h \
81                                 adg-hatch-private.h \
82                                 adg-internal.h \
83                                 adg-ldim-private.h \
84                                 adg-line-style-private.h \
85                                 adg-logo-private.h \
86                                 adg-marker-private.h \
87                                 adg-model-private.h \
88                                 adg-path-private.h \
89                                 adg-projection-private.h \
90                                 adg-rdim-private.h \
91                                 adg-ruled-fill-private.h \
92                                 adg-stroke-private.h \
93                                 adg-table-private.h \
94                                 adg-table-style-private.h \
95                                 adg-text-internal.h \
96                                 adg-title-block-private.h \
97                                 adg-toy-text-private.h \
98                                 adg-trail-private.h
99 built_private_h_sources=        adg-marshal.h
100 c_sources=                      adg-adim.c \
101                                 adg-alignment.c \
102                                 adg-arrow.c \
103                                 adg-canvas.c \
104                                 adg-color-style.c \
105                                 adg-container.c \
106                                 adg-dim.c \
107                                 adg-dim-style.c \
108                                 adg-dress.c \
109                                 adg-dress-builtins.c \
110                                 adg-edges.c \
111                                 adg-entity.c \
112                                 adg-enums.c \
113                                 adg-fill-style.c \
114                                 adg-font-style.c \
115                                 adg-hatch.c \
116                                 adg-ldim.c \
117                                 adg-line-style.c \
118                                 adg-logo.c \
119                                 adg-marker.c \
120                                 adg-matrix.c \
121                                 adg-model.c \
122                                 adg-pair.c \
123                                 adg-path.c \
124                                 adg-pattern.c \
125                                 adg-point.c \
126                                 adg-primitive.c \
127                                 adg-projection.c \
128                                 adg-rdim.c \
129                                 adg-ruled-fill.c \
130                                 adg-segment.c \
131                                 adg-stroke.c \
132                                 adg-style.c \
133                                 adg-table.c \
134                                 adg-table-cell.c \
135                                 adg-table-row.c \
136                                 adg-table-style.c \
137                                 adg-textual.c \
138                                 adg-title-block.c \
139                                 adg-trail.c \
140                                 adg-toy-text.c \
141                                 adg-utils.c
142 built_c_sources=                adg-type-builtins.c \
143                                 adg-marshal.c
144 template_sources=               adg-type-builtins.c.mkenums \
145                                 adg-type-builtins.h.mkenums \
146                                 adg-marshal.genmarshal
149 # targets
150 EXTRA_DIST=                     $(template_sources) \
151                                 adg-introspection.h \
152                                 adg-1.pc.in
153 BUILT_SOURCES=                  $(built_h_sources) \
154                                 $(built_private_h_sources)
155 #                               built_c_sources are properly tracked
156 #                               by nodist_libadg_1_la_SOURCES
157 CLEANFILES=                     $(built_h_sources) \
158                                 $(built_private_h_sources) \
159                                 $(built_c_sources)
161 pkgconfig_DATA=                 adg-1.pc
163 adg_includedir=                 $(includedir)/adg-1/adg
164 adg_include_DATA=               $(h_sources) \
165                                 $(built_h_sources)
167 lib_LTLIBRARIES=                libadg-1.la
168 libadg_1_la_SOURCES=            $(h_sources) \
169                                 $(private_h_sources) \
170                                 $(c_sources)
171 nodist_libadg_1_la_SOURCES=     $(built_h_sources) \
172                                 $(built_private_h_sources) \
173                                 $(built_c_sources)
174 libadg_1_la_CFLAGS=             $(ADG_CFLAGS)
175 libadg_1_la_LDFLAGS=            -no-undefined \
176                                 -version-info @ADG_LT_VERSION@ \
177                                 $(ADG_LDFLAGS)
178 libadg_1_la_LIBADD=             $(top_builddir)/src/cpml/libcpml-1.la
181 ## Optional GTK+ related stuff
182 if HAVE_GTK
184 h_sources+=                     adg-gtk-area.h \
185                                 adg-gtk-layout.h \
186                                 adg-gtk-utils.h
187 private_h_sources+=             adg-gtk-area-private.h \
188                                 adg-gtk-layout-private.h
189 c_sources+=                     adg-gtk-utils.c
190 ADG_CFLAGS+=                    $(GTK3_CFLAGS) \
191                                 $(GTK2_CFLAGS)
192 ADG_LDFLAGS+=                   $(GTK3_LIBS) \
193                                 $(GTK2_LIBS)
195 endif
197 if HAVE_GTK3
199 c_sources+=                     adg-gtk-area.c \
200                                 adg-gtk-layout.c
202 endif
204 if HAVE_GTK2
206 c_sources+=                     adg-gtk-area-gtk2.c \
207                                 adg-gtk-layout-gtk2.c
209 endif
212 ## Optional pangocairo related stuff
213 if HAVE_PANGO
215 h_sources+=                     adg-pango-style.h \
216                                 adg-text.h
217 private_h_sources+=             adg-pango-style-private.h \
218                                 adg-text-private.h
219 c_sources+=                     adg-pango-style.c \
220                                 adg-text.c
221 ADG_CFLAGS+=                    $(PANGO_CFLAGS)
222 ADG_LDFLAGS+=                   $(PANGO_LIBS)
224 endif
227 ## GObject introspection
228 -include $(INTROSPECTION_MAKEFILE)
229 INTROSPECTION_GIRS=
230 INTROSPECTION_SCANNER_ARGS=     --add-include-path=$(top_builddir)/src/cpml
231 INTROSPECTION_COMPILER_ARGS=    --includedir=$(top_builddir)/src/cpml
233 if HAVE_INTROSPECTION
235 INTROSPECTION_GIRS+=            Adg-1.0.gir
236 Adg-1.0.gir: libadg-1.la
238 Adg_1_0_gir_LIBS=               libadg-1.la
239 Adg_1_0_gir_INCLUDES=
240 Adg_1_0_gir_PACKAGES=
242 if HAVE_GTK
243 if HAVE_GTK3
244 ## GTK+3 includes all the needed dependencies
245 Adg_1_0_gir_INCLUDES+=          Gtk-3.0
246 Adg_1_0_gir_PACKAGES+=          gtk+-3.0
247 else
248 ## GTK+2 includes all the needed dependencies
249 Adg_1_0_gir_INCLUDES+=          Gtk-2.0
250 Adg_1_0_gir_PACKAGES+=          gtk+-2.0
251 endif
252 else
253 if HAVE_PANGO
254 ## pangocairo is a superset of the default dependencies
255 Adg_1_0_gir_INCLUDES+=          PangoCairo-1.0
256 Adg_1_0_gir_PACKAGES+=          pangocairo
257 else
258 Adg_1_0_gir_INCLUDES+=          GObject-2.0
259 Adg_1_0_gir_PACKAGES+=          gobject-2.0
260 endif
261 endif
263 Adg_1_0_gir_FILES=              adg-introspection.h \
264                                 $(h_sources) \
265                                 $(c_sources)
266 ## Dependency from CPML will be added manually because it is still an
267 ## internal component, hence not yet installed at this point
268 Adg_1_0_gir_CFLAGS=             $(AM_CPPFLAGS)
269 Adg_1_0_gir_LDFLAGS=            $(ADG_LDFLAGS)
270 Adg_1_0_gir_SCANNERFLAGS=       --c-include='adg.h' \
271                                 --warn-all \
272                                 --include-uninstalled=$(top_builddir)/src/cpml/Cpml-1.0.gir
273 girdir=                         $(GIRDIR)
274 dist_gir_DATA=                  $(INTROSPECTION_GIRS)
275 typelibdir=                     $(TYPELIBDIR)
276 typelib_DATA=                   $(INTROSPECTION_GIRS:.gir=.typelib)
277 CLEANFILES+=                    $(dist_gir_DATA) \
278                                 $(typelib_DATA)
280 endif
283 mkenums_command=                $(AM_V_GEN)$(GLIB_MKENUMS) \
284                                 --template
285 genmarshal_command=             $(AM_V_GEN)$(GLIB_GENMARSHAL) \
286                                 --nostdinc --internal --prefix=adg_marshal
289 adg-type-builtins.c: $(srcdir)/adg-type-builtins.c.mkenums $(srcdir)/adg-enums.h
290         $(mkenums_command) $(srcdir)/adg-type-builtins.c.mkenums $(srcdir)/adg-enums.h > $@
292 adg-type-builtins.h: $(srcdir)/adg-type-builtins.h.mkenums $(srcdir)/adg-enums.h
293         $(mkenums_command) $(srcdir)/adg-type-builtins.h.mkenums $(srcdir)/adg-enums.h > $@
295 adg-marshal.c: $(srcdir)/adg-marshal.genmarshal
296         @echo '#include <glib-object.h>' > $@ ;
297         $(genmarshal_command) --body $(srcdir)/adg-marshal.genmarshal >> $@
299 adg-marshal.h: $(srcdir)/adg-marshal.genmarshal
300         $(genmarshal_command) --header $(srcdir)/adg-marshal.genmarshal > $@