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