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