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