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