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