scary commit..but here goes.
[mikachu/openbox.git] / Makefile.am
1 SUBDIRS = m4 po
2
3 themedir        = $(datadir)/themes
4 localedir       = $(datadir)/locale
5 configdir       = $(sysconfdir)/xdg
6 rcdir           = $(configdir)/openbox
7 desktopfilesdir = $(datadir)/gnome/wm-properties
8 pkgconfigdir    = $(libdir)/pkgconfig
9 pubincludedir   = $(includedir)/openbox/@OB_VERSION@/openbox
10 pixmapdir       = $(datadir)/pixmaps
11 xsddir          = $(datadir)/openbox
12 userscriptdir   = $(datadir)/openbox
13
14 theme = bear2
15
16 AUTOMAKE_OPTIONS = subdir-objects foreign
17
18 ACLOCAL_AMFLAGS = -I m4
19
20 INCLUDES = -I.
21
22 check_PROGRAMS = \
23         render/rendertest
24
25 lib_LTLIBRARIES = \
26         parser/libobparser.la \
27         render/libobrender.la
28
29 bin_PROGRAMS = \
30         openbox/openbox \
31         tools/gnome-panel-control/gnome-panel-control
32
33 noinst_PROGRAMS = \
34         tools/themetoxml/themetoxml
35
36 ## render ##
37
38 render_rendertest_CPPFLAGS = \
39         $(PANGO_CFLAGS) \
40         $(GLIB_CFLAGS) \
41         -DG_LOG_DOMAIN=\"RenderTest\"
42 render_rendertest_LDADD = \
43         parser/libobparser.la \
44         render/libobrender.la \
45         $(GLIB_LIBS) \
46         $(PANGO_LIBS) \
47         $(XML_LIBS) \
48         $(X_LIBS)
49 render_rendertest_SOURCES = render/test.c
50
51 render_libobrender_la_CPPFLAGS = \
52         $(X_CFLAGS) \
53         $(GLIB_CFLAGS) \
54         $(XML_CFLAGS) \
55         $(PANGO_CFLAGS) \
56         -DG_LOG_DOMAIN=\"ObRender\" \
57         -DDEFAULT_THEME=\"$(theme)\"
58 render_libobrender_la_LDFLAGS = \
59         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
60 render_libobrender_la_LIBADD = \
61         parser/libobparser.la \
62         $(X_LIBS) \
63         $(PANGO_LIBS) \
64         $(GLIB_LIBS) \
65         $(XML_LIBS)
66 render_libobrender_la_SOURCES = \
67         gettext.h \
68         render/color.h \
69         render/color.c \
70         render/font.h \
71         render/font.c \
72         render/geom.h \
73         render/gradient.h \
74         render/gradient.c \
75         render/icon.h \
76         render/image.h \
77         render/image.c \
78         render/instance.h \
79         render/instance.c \
80         render/mask.h \
81         render/mask.c \
82         render/render.h \
83         render/render.c \
84         render/theme.h \
85         render/theme.c
86
87 ## parser ##
88
89 parser_libobparser_la_CPPFLAGS = \
90         $(GLIB_CFLAGS) \
91         $(XML_CFLAGS) \
92         -DG_LOG_DOMAIN=\"ObParser\" \
93         -DLOCALEDIR=\"$(localedir)\" \
94         -DDATADIR=\"$(datadir)\" \
95         -DCONFIGDIR=\"$(configdir)\"
96 parser_libobparser_la_LDFLAGS = \
97         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
98 parser_libobparser_la_LIBADD = \
99         $(GLIB_LIBS) \
100         $(XML_LIBS) 
101 parser_libobparser_la_SOURCES = \
102         parser/parse.h \
103         parser/parse.c
104
105 ## openbox ##
106
107 openbox_openbox_CPPFLAGS = \
108         $(X_CFLAGS) \
109         $(SM_CFLAGS) \
110         $(PANGO_CFLAGS) \
111         $(GLIB_CFLAGS) \
112         $(LIBSN_CFLAGS) \
113         $(XML_CFLAGS) \
114         -DLOCALEDIR=\"$(localedir)\" \
115         -DDATADIR=\"$(datadir)\" \
116         -DCONFIGDIR=\"$(configdir)\" \
117         -DG_LOG_DOMAIN=\"Openbox\"
118 openbox_openbox_LDADD = \
119         $(SM_LIBS) \
120         $(XINERAMA_LIBS) \
121         $(XKB_LIBS) \
122         $(XRANDR_LIBS) \
123         $(XSHAPE_LIBS) \
124         $(GLIB_LIBS) \
125         $(X_LIBS) \
126         $(LIBSN_LIBS) \
127         $(XML_LIBS) \
128         $(EFENCE_LIBS) \
129         $(LIBINTL) \
130         render/libobrender.la \
131         parser/libobparser.la
132 openbox_openbox_LDFLAGS = -export-dynamic
133 openbox_openbox_SOURCES = \
134         gettext.h \
135         openbox/action.c \
136         openbox/action.h \
137         openbox/client.c \
138         openbox/client.h \
139         openbox/client_list_menu.c \
140         openbox/client_list_combined_menu.c \
141         openbox/client_list_combined_menu.h \
142         openbox/client_menu.c \
143         openbox/client_menu.h \
144         openbox/config.c \
145         openbox/config.h \
146         openbox/debug.c \
147         openbox/debug.h \
148         openbox/dock.c \
149         openbox/dock.h \
150         openbox/event.c \
151         openbox/event.h \
152         openbox/extensions.c \
153         openbox/extensions.h \
154         openbox/focus.c \
155         openbox/focus.h \
156         openbox/frame.c \
157         openbox/frame.h \
158         openbox/framerender.c \
159         openbox/framerender.h \
160         openbox/geom.h \
161         openbox/grab.c \
162         openbox/grab.h \
163         openbox/group.c \
164         openbox/group.h \
165         openbox/keyboard.c \
166         openbox/keyboard.h \
167         openbox/keytree.c \
168         openbox/keytree.h \
169         openbox/mainloop.c \
170         openbox/mainloop.h \
171         openbox/menuframe.c \
172         openbox/menuframe.h \
173         openbox/menu.c \
174         openbox/menu.h \
175         openbox/misc.h \
176         openbox/mouse.c \
177         openbox/mouse.h \
178         openbox/moveresize.c \
179         openbox/moveresize.h \
180         openbox/mwm.h \
181         openbox/openbox.c \
182         openbox/openbox.h \
183         openbox/place.c \
184         openbox/place.h \
185         openbox/popup.c \
186         openbox/popup.h \
187         openbox/prop.c \
188         openbox/prop.h \
189         openbox/resist.c \
190         openbox/resist.h \
191         openbox/screen.c \
192         openbox/screen.h \
193         openbox/session.c \
194         openbox/session.h \
195         openbox/stacking.c \
196         openbox/stacking.h \
197         openbox/startupnotify.c \
198         openbox/startupnotify.h \
199         openbox/translate.c \
200         openbox/translate.h \
201         openbox/window.c \
202         openbox/window.h \
203         openbox/xerror.c \
204         openbox/xerror.h
205
206
207 ## themetoxml ##
208
209 tools_themetoxml_themetoxml_CPPFLAGS = \
210         $(X_CFLAGS) \
211         $(GLIB_CFLAGS) \
212         $(XML_CFLAGS)
213 tools_themetoxml_themetoxml_LDADD = \
214         $(X_LIBS) \
215         $(GLIB_LIBS) \
216         $(XML_LIBS)
217 tools_themetoxml_themetoxml_SOURCES = \
218         tools/themetoxml/themetoxml.c \
219         tools/themetoxml/themetoxml.h \
220         tools/themetoxml/rgb.h
221
222
223 ## gnome-panel-control ##
224
225 tools_gnome_panel_control_gnome_panel_control_CPPFLAGS = \
226         $(X_CFLAGS)
227 tools_gnome_panel_control_gnome_panel_control_LDADD = \
228         $(X_LIBS)
229 tools_gnome_panel_control_gnome_panel_control_SOURCES = \
230         tools/gnome-panel-control/gnome-panel-control.c
231
232
233 ## themes ##
234
235 mikachu_themedir = $(themedir)/Mikachu/openbox-3
236 dist_mikachu_theme_DATA= \
237         themes/Mikachu/openbox-3/bullet.xbm \
238         themes/Mikachu/openbox-3/close.xbm \
239         themes/Mikachu/openbox-3/desk.xbm \
240         themes/Mikachu/openbox-3/iconify.xbm \
241         themes/Mikachu/openbox-3/max.xbm \
242         themes/Mikachu/openbox-3/themerc.xml
243
244
245 natura_themedir = $(themedir)/Natura/openbox-3
246 dist_natura_theme_DATA= \
247         themes/Natura/openbox-3/close_hover.xbm \
248         themes/Natura/openbox-3/close.xbm \
249         themes/Natura/openbox-3/desk_toggled.xbm \
250         themes/Natura/openbox-3/desk.xbm \
251         themes/Natura/openbox-3/iconify_disabled.xbm \
252         themes/Natura/openbox-3/iconify_hover.xbm \
253         themes/Natura/openbox-3/iconify.xbm \
254         themes/Natura/openbox-3/max_disabled.xbm \
255         themes/Natura/openbox-3/max_hover.xbm \
256         themes/Natura/openbox-3/max_toggled.xbm \
257         themes/Natura/openbox-3/max.xbm \
258         themes/Natura/openbox-3/shade.xbm \
259         themes/Natura/openbox-3/themerc.xml
260
261 artwizboxed_themedir = $(themedir)/artwiz-boxed/openbox-3
262 dist_artwizboxed_theme_DATA= \
263         themes/artwiz-boxed/openbox-3/bullet.xbm \
264         themes/artwiz-boxed/openbox-3/close.xbm \
265         themes/artwiz-boxed/openbox-3/desk_toggled.xbm \
266         themes/artwiz-boxed/openbox-3/desk.xbm \
267         themes/artwiz-boxed/openbox-3/iconify.xbm \
268         themes/artwiz-boxed/openbox-3/max_toggled.xbm \
269         themes/artwiz-boxed/openbox-3/max.xbm \
270         themes/artwiz-boxed/openbox-3/themerc.xml
271  
272 bear2_themedir = $(themedir)/bear2/openbox-3
273 dist_bear2_theme_DATA= \
274         themes/bear2/openbox-3/close_pressed.xbm \
275         themes/bear2/openbox-3/close.xbm \
276         themes/bear2/openbox-3/desk_toggled.xbm \
277         themes/bear2/openbox-3/desk.xbm \
278         themes/bear2/openbox-3/iconify_disabled.xbm \
279         themes/bear2/openbox-3/iconify_pressed.xbm \
280         themes/bear2/openbox-3/iconify.xbm \
281         themes/bear2/openbox-3/max_disabled.xbm \
282         themes/bear2/openbox-3/max_pressed.xbm \
283         themes/bear2/openbox-3/max_toggled.xbm \
284         themes/bear2/openbox-3/max.xbm \
285         themes/bear2/openbox-3/shade_pressed.xbm \
286         themes/bear2/openbox-3/shade.xbm \
287         themes/bear2/openbox-3/themerc.xml
288  
289 orang_themedir = $(themedir)/orang/openbox-3
290 dist_orang_theme_DATA= \
291         themes/orang/openbox-3/themerc.xml
292
293 syscrash_themedir = $(themedir)/syscrash/openbox-3
294 dist_syscrash_theme_DATA= \
295         themes/syscrash/openbox-3/bullet.xbm \
296         themes/syscrash/openbox-3/close_disabled.xbm \
297         themes/syscrash/openbox-3/close.xbm \
298         themes/syscrash/openbox-3/desk_toggled.xbm \
299         themes/syscrash/openbox-3/desk.xbm \
300         themes/syscrash/openbox-3/iconify.xbm \
301         themes/syscrash/openbox-3/max_disabled.xbm \
302         themes/syscrash/openbox-3/max_pressed.xbm \
303         themes/syscrash/openbox-3/max_toggled.xbm \
304         themes/syscrash/openbox-3/max.xbm \
305         themes/syscrash/openbox-3/shade.xbm \
306         themes/syscrash/openbox-3/themerc.xml
307
308 ## public headers ##
309
310 pubinclude_HEADERS = \
311         render/color.h \
312         render/font.h \
313         render/geom.h \
314         render/gradient.h \
315         render/image.h \
316         render/instance.h \
317         render/mask.h \
318         render/render.h \
319         render/theme.h \
320         parser/parse.h
321
322 nodist_pubinclude_HEADERS = \
323         version.h
324
325 nodist_pkgconfig_DATA = \
326         render/obrender-3.0.pc \
327         parser/obparser-3.0.pc
328
329 ## data ##
330
331 dist_pixmap_DATA = \
332         data/openbox.png
333
334 nodist_rc_DATA = \
335         data/rc.xml \
336         data/menu.xml
337
338 dist_xsd_DATA = \
339         data/rc.xsd \
340         data/menu.xsd
341
342 edit = $(SED) \
343         -e 's!@version\@!$(VERSION)!' \
344         -e 's!@xsddir\@!$(xsddir)!'
345
346 data/rc.xml: Makefile $(srcdir)/data/rc.xml.in data
347         @echo make: creating $@
348         @rm -f $@
349         @mkdir data 2>/dev/null || true
350         @$(edit) $(srcdir)/data/rc.xml.in >$@
351
352 data/menu.xml: Makefile $(srcdir)/data/menu.xml.in data
353         @echo make: creating $@
354         @rm -f $@
355         @mkdir data 2>/dev/null || true
356         @$(edit) $(srcdir)/data/menu.xml.in >$@
357
358 dist_userscript_DATA = \
359         tools/themeupdate/themeupdate.py
360
361 install-data-hook:
362         chmod +x $(DESTDIR)$(userscriptdir)/themeupdate.py
363
364 dist_desktopfiles_DATA = \
365         data/openbox.desktop
366
367 dist_noinst_DATA = \
368         version.h.in \
369         data/rc.xml.in \
370         data/menu.xml.in \
371         render/obrender-3.0.pc.in \
372         parser/obparser-3.0.pc.in
373
374 EXTRA_DIST = \
375         config.rpath \
376         mkinstalldirs \
377         CHANGELOG \
378         COMPLIANCE \
379         README \
380         COPYING \
381         AUTHORS
382
383 CLEANFILES = \
384         data/rc.xml \
385         data/menu.xml
386
387 #doc:
388 #       $(MAKE) -$(MAKEFLAGS) -C doc/doxygen doc
389
390 distclean-local:
391         for d in . m4 po render; do \
392                 for p in core core.* gmon.out *\~ *.orig *.rej .\#*; do \
393                         rm -f "$$d/$$p"; \
394                 done \
395         done
396
397 .PHONY: doc