move the xdg path stuff into obt/paths.[ch], and make render and openbox use it
[dana/openbox.git] / Makefile.am
1 SUBDIRS = m4 po
2
3 docxbmdir       = $(docdir)/xbm
4 themedir        = $(datadir)/themes
5 localedir       = $(datadir)/locale
6 configdir       = $(sysconfdir)/xdg
7 rcdir           = $(configdir)/openbox
8 xsessionsdir    = $(datadir)/xsessions
9 gnomewmfilesdir = $(datadir)/gnome/wm-properties
10 pkgconfigdir    = $(libdir)/pkgconfig
11 pubincludedir   = $(includedir)/openbox/@OB_VERSION@/openbox
12 pixmapdir       = $(datadir)/pixmaps
13 xsddir          = $(datadir)/openbox
14
15 theme = Clearlooks
16
17 AUTOMAKE_OPTIONS = subdir-objects foreign
18
19 ACLOCAL_AMFLAGS = -I m4
20
21 INCLUDES = -I.
22
23 check_PROGRAMS = \
24         render/rendertest
25
26 lib_LTLIBRARIES = \
27         render/libobrender.la \
28         obt/libobt.la
29
30 bin_PROGRAMS = \
31         openbox/openbox \
32         tools/gnome-panel-control/gnome-panel-control
33
34 nodist_bin_SCRIPTS = \
35         data/xsession/openbox-session \
36         data/xsession/openbox-gnome-session \
37         data/xsession/openbox-kde-session
38
39 ## render ##
40
41 render_rendertest_CPPFLAGS = \
42         $(PANGO_CFLAGS) \
43         $(XFT_CFLAGS) \
44         $(GLIB_CFLAGS) \
45         -DG_LOG_DOMAIN=\"RenderTest\"
46 render_rendertest_LDADD = \
47         obt/libobt.la \
48         render/libobrender.la \
49         $(GLIB_LIBS) \
50         $(PANGO_LIBS) \
51         $(XFT_LIBS) \
52         $(XML_LIBS) \
53         $(X_LIBS)
54 render_rendertest_SOURCES = render/test.c
55
56 render_libobrender_la_CPPFLAGS = \
57         $(X_CFLAGS) \
58         $(GLIB_CFLAGS) \
59         $(XML_CFLAGS) \
60         $(PANGO_CFLAGS) \
61         $(XFT_CFLAGS) \
62         -DG_LOG_DOMAIN=\"ObRender\" \
63         -DDEFAULT_THEME=\"$(theme)\"
64 render_libobrender_la_LDFLAGS = \
65         -version-info $(RR_CURRENT):$(RR_REVISION):$(RR_AGE)
66 render_libobrender_la_LIBADD = \
67         obt/libobt.la \
68         $(X_LIBS) \
69         $(PANGO_LIBS) \
70         $(XFT_LIBS) \
71         $(GLIB_LIBS) \
72         $(XML_LIBS)
73 render_libobrender_la_SOURCES = \
74         gettext.h \
75         render/color.h \
76         render/color.c \
77         render/font.h \
78         render/font.c \
79         render/geom.h \
80         render/gradient.h \
81         render/gradient.c \
82         render/icon.h \
83         render/image.h \
84         render/image.c \
85         render/instance.h \
86         render/instance.c \
87         render/mask.h \
88         render/mask.c \
89         render/render.h \
90         render/render.c \
91         render/theme.h \
92         render/theme.c
93
94 ## obt ##
95
96 obt_libobt_la_CPPFLAGS = \
97         $(XINERAMA_CFLAGS) \
98         $(XKB_CFLAGS) \
99         $(XRANDR_CFLAGS) \
100         $(XSHAPE_CFLAGS) \
101         $(XSYNC_CFLAGS) \
102         $(GLIB_CFLAGS) \
103         $(XML_CFLAGS) \
104         -DG_LOG_DOMAIN=\"Obt\" \
105         -DLOCALEDIR=\"$(localedir)\" \
106         -DDATADIR=\"$(datadir)\" \
107         -DCONFIGDIR=\"$(configdir)\"
108 obt_libobt_la_LDFLAGS = \
109         -version-info $(OBT_CURRENT):$(OBT_REVISION):$(OBT_AGE)
110 obt_libobt_la_LIBADD = \
111         $(XINERAMA_LIBS) \
112         $(XKB_LIBS) \
113         $(XRANDR_LIBS) \
114         $(XSHAPE_LIBS) \
115         $(XSYNC_LIBS) \
116         $(GLIB_LIBS) \
117         $(XML_LIBS)
118 obt_libobt_la_SOURCES = \
119         obt/display.h \
120         obt/display.c \
121         obt/internal.h \
122         obt/keyboard.h \
123         obt/keyboard.c \
124         obt/mainloop.h \
125         obt/mainloop.c \
126         obt/parse.h \
127         obt/parse.c \
128         obt/paths.h \
129         obt/paths.c \
130         obt/prop.h \
131         obt/prop.c \
132         obt/util.h
133
134 ## openbox ##
135
136 openbox_openbox_CPPFLAGS = \
137         $(SM_CFLAGS) \
138         $(X_CFLAGS) \
139         $(XCURSOR_CFLAGS) \
140         $(SM_CFLAGS) \
141         $(PANGO_CFLAGS) \
142         $(GLIB_CFLAGS) \
143         $(LIBSN_CFLAGS) \
144         $(XML_CFLAGS) \
145         -DLOCALEDIR=\"$(localedir)\" \
146         -DDATADIR=\"$(datadir)\" \
147         -DCONFIGDIR=\"$(configdir)\" \
148         -DG_LOG_DOMAIN=\"Openbox\"
149 openbox_openbox_LDADD = \
150         $(SM_LIBS) \
151         $(GLIB_LIBS) \
152         $(X_LIBS) \
153         $(XCURSOR_LIBS) \
154         $(LIBSN_LIBS) \
155         $(XML_LIBS) \
156         $(EFENCE_LIBS) \
157         $(LIBINTL) \
158         render/libobrender.la \
159         obt/libobt.la
160 openbox_openbox_LDFLAGS = -export-dynamic
161 openbox_openbox_SOURCES = \
162         gettext.h \
163         openbox/actions/all.c \
164         openbox/actions/all.h \
165         openbox/actions/addremovedesktop.c \
166         openbox/actions/breakchroot.c \
167         openbox/actions/close.c \
168         openbox/actions/cyclewindows.c \
169         openbox/actions/debug.c \
170         openbox/actions/decorations.c \
171         openbox/actions/desktop.c \
172         openbox/actions/dockautohide.c \
173         openbox/actions/directionalwindows.c \
174         openbox/actions/execute.c \
175         openbox/actions/exit.c \
176         openbox/actions/focus.c \
177         openbox/actions/focustobottom.c \
178         openbox/actions/fullscreen.c \
179         openbox/actions/growtoedge.c \
180         openbox/actions/iconify.c \
181         openbox/actions/if.c \
182         openbox/actions/kill.c \
183         openbox/actions/layer.c \
184         openbox/actions/lower.c \
185         openbox/actions/maximize.c \
186         openbox/actions/move.c \
187         openbox/actions/moverelative.c \
188         openbox/actions/moveresizeto.c \
189         openbox/actions/movetoedge.c \
190         openbox/actions/omnipresent.c \
191         openbox/actions/raise.c \
192         openbox/actions/raiselower.c \
193         openbox/actions/reconfigure.c \
194         openbox/actions/resize.c \
195         openbox/actions/resizerelative.c \
196         openbox/actions/restart.c \
197         openbox/actions/shade.c \
198         openbox/actions/showdesktop.c \
199         openbox/actions/showmenu.c \
200         openbox/actions/unfocus.c \
201         openbox/actions.c \
202         openbox/actions.h \
203         openbox/client.c \
204         openbox/client.h \
205         openbox/client_list_menu.c \
206         openbox/client_list_menu.h \
207         openbox/client_list_combined_menu.c \
208         openbox/client_list_combined_menu.h \
209         openbox/client_menu.c \
210         openbox/client_menu.h \
211         openbox/config.c \
212         openbox/config.h \
213         openbox/debug.c \
214         openbox/debug.h \
215         openbox/dock.c \
216         openbox/dock.h \
217         openbox/event.c \
218         openbox/event.h \
219         openbox/focus.c \
220         openbox/focus.h \
221         openbox/focus_cycle.c \
222         openbox/focus_cycle.h \
223         openbox/focus_cycle_indicator.c \
224         openbox/focus_cycle_indicator.h \
225         openbox/focus_cycle_popup.c \
226         openbox/focus_cycle_popup.h \
227         openbox/frame.c \
228         openbox/frame.h \
229         openbox/framerender.c \
230         openbox/framerender.h \
231         openbox/geom.h \
232         openbox/grab.c \
233         openbox/grab.h \
234         openbox/group.c \
235         openbox/group.h \
236         openbox/keyboard.c \
237         openbox/keyboard.h \
238         openbox/keytree.c \
239         openbox/keytree.h \
240         openbox/menuframe.c \
241         openbox/menuframe.h \
242         openbox/menu.c \
243         openbox/menu.h \
244         openbox/misc.h \
245         openbox/mouse.c \
246         openbox/mouse.h \
247         openbox/moveresize.c \
248         openbox/moveresize.h \
249         openbox/mwm.h \
250         openbox/openbox.c \
251         openbox/openbox.h \
252         openbox/ping.c \
253         openbox/ping.h \
254         openbox/place.c \
255         openbox/place.h \
256         openbox/popup.c \
257         openbox/popup.h \
258         openbox/resist.c \
259         openbox/resist.h \
260         openbox/screen.c \
261         openbox/screen.h \
262         openbox/session.c \
263         openbox/session.h \
264         openbox/stacking.c \
265         openbox/stacking.h \
266         openbox/startupnotify.c \
267         openbox/startupnotify.h \
268         openbox/translate.c \
269         openbox/translate.h \
270         openbox/window.c \
271         openbox/window.h
272
273 ## gnome-panel-control ##
274
275 tools_gnome_panel_control_gnome_panel_control_CPPFLAGS = \
276         $(X_CFLAGS)
277 tools_gnome_panel_control_gnome_panel_control_LDADD = \
278         $(X_LIBS)
279 tools_gnome_panel_control_gnome_panel_control_SOURCES = \
280         tools/gnome-panel-control/gnome-panel-control.c
281
282
283 ## default button masks ##
284 dist_docxbm_DATA = \
285         data/xbm/bullet.xbm \
286         data/xbm/close.xbm \
287         data/xbm/desk_toggled.xbm \
288         data/xbm/desk.xbm \
289         data/xbm/iconify.xbm \
290         data/xbm/max_toggled.xbm \
291         data/xbm/max.xbm \
292         data/xbm/shade_toggled.xbm \
293         data/xbm/shade.xbm
294
295
296 ## themes ##
297
298 clearlooks_themedir = $(themedir)/Clearlooks/openbox-3
299 dist_clearlooks_theme_DATA= \
300         themes/Clearlooks/openbox-3/themerc
301
302 clearlooksolive_themedir = $(themedir)/Clearlooks-Olive/openbox-3
303 dist_clearlooksolive_theme_DATA= \
304         themes/Clearlooks-Olive/openbox-3/themerc
305
306 mikachu_themedir = $(themedir)/Mikachu/openbox-3
307 dist_mikachu_theme_DATA= \
308         themes/Mikachu/openbox-3/bullet.xbm \
309         themes/Mikachu/openbox-3/close.xbm \
310         themes/Mikachu/openbox-3/desk.xbm \
311         themes/Mikachu/openbox-3/iconify.xbm \
312         themes/Mikachu/openbox-3/max.xbm \
313         themes/Mikachu/openbox-3/themerc
314
315
316 natura_themedir = $(themedir)/Natura/openbox-3
317 dist_natura_theme_DATA= \
318         themes/Natura/openbox-3/close_hover.xbm \
319         themes/Natura/openbox-3/close.xbm \
320         themes/Natura/openbox-3/desk_toggled.xbm \
321         themes/Natura/openbox-3/desk_hover.xbm \
322         themes/Natura/openbox-3/desk.xbm \
323         themes/Natura/openbox-3/iconify_hover.xbm \
324         themes/Natura/openbox-3/iconify.xbm \
325         themes/Natura/openbox-3/max_hover.xbm \
326         themes/Natura/openbox-3/max_toggled.xbm \
327         themes/Natura/openbox-3/max.xbm \
328         themes/Natura/openbox-3/shade.xbm \
329         themes/Natura/openbox-3/shade_hover.xbm \
330         themes/Natura/openbox-3/themerc
331
332 artwizboxed_themedir = $(themedir)/Artwiz-boxed/openbox-3
333 dist_artwizboxed_theme_DATA= \
334         themes/Artwiz-boxed/openbox-3/themerc
335
336 bear2_themedir = $(themedir)/Bear2/openbox-3
337 dist_bear2_theme_DATA= \
338         themes/Bear2/openbox-3/close_pressed.xbm \
339         themes/Bear2/openbox-3/close.xbm \
340         themes/Bear2/openbox-3/desk_toggled.xbm \
341         themes/Bear2/openbox-3/desk.xbm \
342         themes/Bear2/openbox-3/iconify_pressed.xbm \
343         themes/Bear2/openbox-3/iconify.xbm \
344         themes/Bear2/openbox-3/max_pressed.xbm \
345         themes/Bear2/openbox-3/max_toggled.xbm \
346         themes/Bear2/openbox-3/max.xbm \
347         themes/Bear2/openbox-3/shade_pressed.xbm \
348         themes/Bear2/openbox-3/shade.xbm \
349         themes/Bear2/openbox-3/themerc
350
351 orang_themedir = $(themedir)/Orang/openbox-3
352 dist_orang_theme_DATA= \
353         themes/Orang/openbox-3/themerc
354
355 onyx_themedir = $(themedir)/Onyx/openbox-3
356 dist_onyx_theme_DATA= \
357         themes/Onyx/openbox-3/themerc
358
359 onyxcitrus_themedir = $(themedir)/Onyx-Citrus/openbox-3
360 dist_onyxcitrus_theme_DATA= \
361         themes/Onyx-Citrus/openbox-3/themerc
362
363 syscrash_themedir = $(themedir)/Syscrash/openbox-3
364 dist_syscrash_theme_DATA= \
365         themes/Syscrash/openbox-3/max_disabled.xbm \
366         themes/Syscrash/openbox-3/max_pressed.xbm \
367         themes/Syscrash/openbox-3/max_toggled.xbm \
368         themes/Syscrash/openbox-3/max.xbm \
369         themes/Syscrash/openbox-3/themerc
370
371 ## public headers ##
372
373 pubinclude_HEADERS = \
374         render/color.h \
375         render/font.h \
376         render/geom.h \
377         render/gradient.h \
378         render/image.h \
379         render/instance.h \
380         render/mask.h \
381         render/render.h \
382         render/theme.h \
383         obt/display.h \
384         obt/display.c \
385         obt/keyboard.h \
386         obt/keyboard.c \
387         obt/mainloop.h \
388         obt/mainloop.c \
389         obt/parse.h \
390         obt/parse.c \
391         obt/paths.h \
392         obt/paths.c \
393         obt/prop.h \
394         obt/prop.c \
395         obt/util.h
396
397 nodist_pubinclude_HEADERS = \
398         version.h
399
400 nodist_pkgconfig_DATA = \
401         render/obrender-4.0.pc \
402         obt/obt-4.0.pc
403
404 ## data ##
405
406 dist_pixmap_DATA = \
407         data/openbox.png
408
409 dist_rc_DATA = \
410         data/autostart.sh \
411         data/rc.xml \
412         data/menu.xml
413
414 edit = $(SED) \
415         -e 's!@version\@!$(VERSION)!' \
416         -e 's!@configdir\@!$(configdir)!' \
417         -e 's!@bindir\@!$(bindir)!'
418
419 %.desktop: %.desktop.in Makefile
420         @echo make: creating $@
421         @$(edit) $< >$@ 
422
423 %-session: %-session.in Makefile
424         @echo make: creating $@
425         @$(edit) $< >$@ 
426
427 %.1.in: %.1.sgml
428         @echo make: creating $@
429         @docbook-to-man $< >$@
430
431 %.1: %.1.in Makefile
432         @echo make: creating $@
433         @$(edit) $< >$@ 
434
435 dist_gnomewmfiles_DATA = \
436         data/gnome-wm-properties/openbox.desktop
437
438 nodist_xsessions_DATA = \
439         data/xsession/openbox.desktop \
440         data/xsession/openbox-gnome.desktop \
441         data/xsession/openbox-kde.desktop
442
443 dist_noinst_DATA = \
444         version.h.in \
445         data/rc.xsd \
446         data/menu.xsd \
447         data/xsession/openbox.desktop.in \
448         data/xsession/openbox-gnome.desktop.in \
449         data/xsession/openbox-kde.desktop.in \
450         data/xsession/openbox-session.in \
451         data/xsession/openbox-gnome-session.in \
452         data/xsession/openbox-kde-session.in \
453         doc/openbox.1.sgml \
454         doc/openbox.1.in \
455         doc/openbox-session.1.sgml \
456         doc/openbox-session.1.in \
457         doc/openbox-gnome-session.1.sgml \
458         doc/openbox-gnome-session.1.in \
459         doc/openbox-kde-session.1.sgml \
460         doc/openbox-kde-session.1.in \
461         render/obrender-4.0.pc.in \
462         obt/obt-4.0.pc.in \
463         tools/themeupdate/themeupdate.py \
464         tests/hideshow.py \
465         tests/Makefile \
466         tests/aspect.c \
467         tests/fullscreen.c \
468         tests/grav.c \
469         tests/grouptran.c \
470         tests/icons.c \
471         tests/modal2.c \
472         tests/modal3.c \
473         tests/modal.c \
474         tests/noresize.c \
475         tests/override.c \
476         tests/positioned.c \
477         tests/strut.c \
478         tests/title.c \
479         tests/urgent.c
480
481 dist_doc_DATA = \
482         COMPLIANCE \
483         README \
484         AUTHORS \
485         CHANGELOG \
486         COPYING \
487         data/rc.xsd \
488         data/menu.xsd \
489         doc/rc-mouse-focus.xml
490
491 nodist_man_MANS = \
492         doc/openbox.1 \
493         doc/openbox-session.1 \
494         doc/openbox-gnome-session.1 \
495         doc/openbox-kde-session.1
496
497 EXTRA_DIST = \
498         config.rpath
499
500 # make clean doesn't delete these for some reason, even though they are
501 # built by make
502 CLEANFILES = \
503         doc/openbox.1 \
504         doc/openbox-session.1 \
505         doc/openbox-gnome-session.1 \
506         doc/openbox-kde-session.1 \
507         data/xsession/openbox-session \
508         data/xsession/openbox-gnome-session \
509         data/xsession/openbox-kde-session \
510         data/xsession/openbox.desktop \
511         data/xsession/openbox-gnome.desktop \
512         data/xsession/openbox-kde.desktop
513
514 #doc:
515 #       $(MAKE) -$(MAKEFLAGS) -C doc/doxygen doc
516
517 distclean-local:
518         for d in . m4 po render parser obt openbox; do \
519                 for p in core core.* gmon.out *\~ *.orig *.rej .\#*; do \
520                         rm -f "$$d/$$p"; \
521                 done \
522         done
523
524 .PHONY: doc