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