update the build system, using a single Makefile.am for a sexyass non-recursive make...
[mikachu/openbox.git] / Makefile.am
1 SUBDIRS = m4 po
2
3 themedir        = $(datadir)/openbox/themes
4 localedir       = $(datadir)/locale
5 rcdir           = $(datadir)/openbox
6 plugindir       = $(libdir)/openbox/plugins
7 desktopfilesdir = $(datadir)/gnome/wm-properties
8
9 theme = operation
10
11 AUTOMAKE_OPTIONS = subdir-objects
12 ACLOCAL_AMFLAGS = -I m4
13
14 INCLUDES = -I.
15
16 noinst_PROGRAMS = \
17         render/rendertest
18
19 lib_LTLIBRARIES = \
20         render/libobrender.la \
21         parser/libobparser.la
22
23 bin_PROGRAMS = \
24         kernel/openbox
25
26 plugin_LTLIBRARIES = \
27         plugins/resistance/resistance.la \
28         plugins/placement/placement.la \
29         plugins/mouse/mouse.la \
30         plugins/keyboard/keyboard.la \
31         plugins/menu/timed_menu.la \
32         plugins/menu/fifo_menu.la \
33         plugins/menu/client_menu.la
34
35 if OBCONF
36 plugin_LTLIBRARIES += \
37         plugins/resistance/resistance-config.la
38 endif
39
40 ## render ##
41
42 render_rendertest_CPPFLAGS = \
43         $(XFT_CFLAGS) \
44         $(GLIB_CFLAGS) \
45         -DG_LOG_DOMAIN=\"RenderTest\"
46 render_rendertest_LDADD = render/libobrender.la
47 render_rendertest_SOURCES = render/test.c
48
49 render_libobrender_la_CPPFLAGS = \
50         $(X_CFLAGS) \
51         $(XFT_CFLAGS) \
52         $(GLIB_CFLAGS) \
53         -DG_LOG_DOMAIN=\"ObRender\" \
54         -DDEFAULT_THEME=\"$(theme)\" \
55         -DTHEMEDIR=\"$(themedir)\"
56 render_libobrender_la_LIBADD = \
57         $(X_LIBS) \
58         $(XFT_LIBS) \
59         $(GLIB_LIBS)
60 render_libobrender_la_SOURCES = \
61         gettext.h \
62         render/color.h \
63         render/color.c \
64         render/font.h \
65         render/font.c \
66         render/geom.h \
67         render/gradient.h \
68         render/gradient.c \
69         render/image.h \
70         render/image.c \
71         render/instance.h \
72         render/instance.c \
73         render/mask.h \
74         render/mask.c \
75         render/render.h \
76         render/render.c \
77         render/theme.h \
78         render/theme.c
79
80 ## parser ##
81
82 parser_libobparser_la_CPPFLAGS = \
83         $(GLIB_CFLAGS) \
84         $(XML_CFLAGS) \
85         -DG_LOG_DOMAIN=\"ObParser\" \
86         -DLOCALEDIR=\"$(localedir)\" \
87         -DRCDIR=\"$(rcdir)\"
88 parser_libobparser_la_LIBADD = \
89         $(GLIB_LIBS) \
90         $(XML_LIBS)
91 parser_libobparser_la_SOURCES = \
92         parser/parse.h \
93         parser/parse.c
94
95 ## kernel ##
96
97 kernel_openbox_CPPFLAGS = \
98         $(X_CFLAGS) \
99         $(SM_CFLAGS) \
100         $(XFT_CFLAGS) \
101         $(GLIB_CFLAGS) \
102         $(GMODULE_CFLAGS) \
103         $(LIBSN_CFLAGS) \
104         $(XML_CFLAGS) \
105         -DLOCALEDIR=\"$(localedir)\" \
106         -DPLUGINDIR=\"$(plugindir)\" \
107         -DRCDIR=\"$(rcdir)\" \
108         -DG_LOG_DOMAIN=\"Openbox\"
109 kernel_openbox_LDADD = \
110         $(SM_LIBS) \
111         $(XINERAMA_LIBS) \
112         $(XKB_LIBS) \
113         $(XRANDR_LIBS) \
114         $(VIDMODE_LIBS) \
115         $(XSHAPE_LIBS) \
116         $(GLIB_LIBS) \
117         $(GMODULE_LIBS) \
118         $(LIBSN_LIBS) \
119         $(XML_LIBS) \
120         $(EFENCE_LIBS) \
121         $(LIBINTL) \
122         render/libobrender.la \
123         parser/libobparser.la
124 kernel_openbox_LDFLAGS = -export-dynamic
125 kernel_openbox_SOURCES = \
126         gettext.h \
127         kernel/action.c \
128         kernel/action.h \
129         kernel/client.c \
130         kernel/client.h \
131         kernel/config.c \
132         kernel/config.h \
133         kernel/debug.c \
134         kernel/debug.h \
135         kernel/dispatch.c \
136         kernel/dispatch.h \
137         kernel/dock.c \
138         kernel/dock.h \
139         kernel/event.c \
140         kernel/event.h \
141         kernel/extensions.c \
142         kernel/extensions.h \
143         kernel/focus.c \
144         kernel/focus.h \
145         kernel/frame.c \
146         kernel/frame.h \
147         kernel/framerender.c \
148         kernel/framerender.h \
149         kernel/geom.h \
150         kernel/grab.c \
151         kernel/grab.h \
152         kernel/group.c \
153         kernel/group.h \
154         kernel/menu.c \
155         kernel/menu.h \
156         kernel/menu_render.c \
157         kernel/moveresize.c \
158         kernel/moveresize.h \
159         kernel/openbox.c \
160         kernel/openbox.h \
161         kernel/plugin.c \
162         kernel/plugin.h \
163         kernel/popup.c \
164         kernel/popup.h \
165         kernel/prop.c \
166         kernel/prop.h \
167         kernel/screen.c \
168         kernel/screen.h \
169         kernel/stacking.c \
170         kernel/stacking.h \
171         kernel/startup.c \
172         kernel/startup.h \
173         kernel/timer.c \
174         kernel/timer.h \
175         kernel/window.c \
176         kernel/window.h \
177         kernel/xerror.c \
178         kernel/xerror.h \
179         plugins/interface.h
180
181 ## plugins/resistance ##
182
183 plugins_resistance_resistance_la_CPPFLAGS = \
184         $(XFT_CFLAGS) \
185         $(GLIB_CFLAGS) \
186         $(LIBSN_CFLAGS) \
187         $(XML_CFLAGS) \
188         -DPLUGINDIR=\"$(plugindir)\" \
189         -DG_LOG_DOMAIN=\"Plugin-Resistance\"
190 plugins_resistance_resistance_la_LDFLAGS = \
191         -module \
192         -avoid-version
193 plugins_resistance_resistance_la_SOURCES = \
194         plugins/resistance/resistance.c \
195         plugins/resistance/resistance.h
196
197 if OBCONF
198 plugins_resistance_resistance_config_la_CPPFLAGS = \
199         $(XFT_CFLAGS) \
200         $(GLIB_CFLAGS) \
201         $(LIBSN_CFLAGS) \
202         $(XML_CFLAGS) \
203         -DPLUGINDIR=\"$(plugindir)\" \
204         -DG_LOG_DOMAIN=\"Plugin-Resistance\" \
205         $(GTK_CFLAGS) \
206         $(GLADE_CFLAGS)
207 plugins_resistance_resistance_config_la_LDFLAGS = \
208         -module \
209         -avoid-version
210 plugins_resistance_resistance_config_la_SOURCES = \
211         plugins/resistance/resistance_config.c
212 endif
213
214 ## plugins/placement ##
215
216 plugins_placement_placement_la_CPPFLAGS = \
217         $(XFT_CFLAGS) \
218         $(GLIB_CFLAGS) \
219         $(LIBSN_CFLAGS) \
220         $(XML_CFLAGS) \
221         -DPLUGINDIR=\"$(plugindir)\" \
222         -DG_LOG_DOMAIN=\"Plugin-Placement\"
223 plugins_placement_placement_la_LDFLAGS = \
224         -module \
225         -avoid-version
226 plugins_placement_placement_la_SOURCES = \
227         plugins/placement/placement.c \
228         plugins/placement/history.c \
229         plugins/placement/history.h
230
231 ## plugins/mouse ##
232
233 plugins_mouse_mouse_la_CPPFLAGS = \
234         $(XFT_CFLAGS) \
235         $(GLIB_CFLAGS) \
236         $(LIBSN_CFLAGS) \
237         $(XML_CFLAGS) \
238         -DPLUGINDIR=\"$(plugindir)\" \
239         -DG_LOG_DOMAIN=\"Plugin-Mouse\"
240 plugins_mouse_mouse_la_LDFLAGS = \
241         -module \
242         -avoid-version
243 plugins_mouse_mouse_la_SOURCES = \
244         plugins/mouse/mouse.c \
245         plugins/mouse/mouse.h \
246         plugins/mouse/translate.c \
247         plugins/mouse/translate.h
248
249 ## plugins/mouse ##
250
251 plugins_keyboard_keyboard_la_CPPFLAGS = \
252         $(XFT_CFLAGS) \
253         $(GLIB_CFLAGS) \
254         $(LIBSN_CFLAGS) \
255         $(XML_CFLAGS) \
256         -DPLUGINDIR=\"$(plugindir)\" \
257         -DG_LOG_DOMAIN=\"Plugin-Keyboard\"
258 plugins_keyboard_keyboard_la_LDFLAGS = \
259         -module \
260         -avoid-version
261 plugins_keyboard_keyboard_la_SOURCES = \
262         plugins/keyboard/keyboard.c \
263         plugins/keyboard/keyboard.h \
264         plugins/keyboard/tree.c \
265         plugins/keyboard/tree.h \
266         plugins/keyboard/translate.c \
267         plugins/keyboard/translate.h
268
269 ## plugins/menu ##
270
271 plugins_menu_timed_menu_la_CPPFLAGS = \
272         $(XFT_CFLAGS) \
273         $(GLIB_CFLAGS) \
274         $(LIBSN_CFLAGS) \
275         $(XML_CFLAGS) \
276         -DPLUGINDIR=\"$(plugindir)\" \
277         -DG_LOG_DOMAIN=\"Plugin-Timed-Menu\"
278 plugins_menu_timed_menu_la_LDFLAGS = \
279         -module \
280         -avoid-version
281 plugins_menu_timed_menu_la_SOURCES = \
282         plugins/menu/timed_menu.c \
283         plugins/menu/timed_menu.h
284
285 plugins_menu_fifo_menu_la_CPPFLAGS = \
286         $(XFT_CFLAGS) \
287         $(GLIB_CFLAGS) \
288         $(LIBSN_CFLAGS) \
289         $(XML_CFLAGS) \
290         -DPLUGINDIR=\"$(plugindir)\" \
291         -DG_LOG_DOMAIN=\"Plugin-Fifo-Menu\"
292 plugins_menu_fifo_menu_la_LDFLAGS = \
293         -module \
294         -avoid-version
295 plugins_menu_fifo_menu_la_SOURCES = \
296         plugins/menu/fifo_menu.c \
297         plugins/menu/fifo_menu.h
298
299 plugins_menu_client_menu_la_CPPFLAGS = \
300         $(XFT_CFLAGS) \
301         $(GLIB_CFLAGS) \
302         $(LIBSN_CFLAGS) \
303         $(XML_CFLAGS) \
304         -DPLUGINDIR=\"$(plugindir)\" \
305         -DG_LOG_DOMAIN=\"Plugin-Client-Menu\"
306 plugins_menu_client_menu_la_LDFLAGS = \
307         -module \
308         -avoid-version
309 plugins_menu_client_menu_la_SOURCES = \
310         plugins/menu/client_menu.c \
311         plugins/menu/client_menu.h
312
313 ## themes ##
314
315 dist_theme_DATA = \
316         themes/artwiz \
317         themes/bbs \
318         themes/bluebox \
319         themes/cthulhain \
320         themes/deep \
321         themes/ebox \
322         themes/fieron \
323         themes/fieron2 \
324         themes/flux \
325         themes/frobozz \
326         themes/frobust \
327         themes/mbdtex \
328         themes/miklos \
329         themes/nyz \
330         themes/nyzclone \
331         themes/ob20 \
332         themes/operation \
333         themes/outcomes \
334         themes/paper \
335         themes/purplehaaze \
336         themes/shade \
337         themes/steelblue \
338         themes/steelblue2 \
339         themes/the_orange \
340         themes/trisb \
341         themes/twice \
342         themes/warp-xp
343
344 fieronthemedir = $(themedir)/fieron_data
345 dist_fierontheme_DATA = \
346         themes/fieron_data/close.xbm \
347         themes/fieron_data/iconify.xbm \
348         themes/fieron_data/max.xbm \
349         themes/fieron_data/stick.xbm
350
351 fieron2themedir = $(themedir)/fieron2_data
352 dist_fieron2theme_DATA = \
353         themes/fieron2_data/close.xbm \
354         themes/fieron2_data/iconify.xbm \
355         themes/fieron2_data/max.xbm \
356         themes/fieron2_data/stick.xbm
357
358 eboxthemedir = $(themedir)/ebox_data
359 dist_eboxtheme_DATA = \
360         themes/ebox_data/close.xbm \
361         themes/ebox_data/iconify.xbm \
362         themes/ebox_data/max.xbm
363
364 ## data ##
365
366 dist_rc_DATA = \
367         data/rc3
368
369 EXTRA_DIST = \
370         config.rpath \
371         mkinstalldirs \
372         README \
373         COPYING \
374         AUTHOR
375
376 #doc:
377 #       $(MAKE) -$(MAKEFLAGS) -C doc/doxygen doc
378
379 distclean-local:
380         for d in . m4 po render; do \
381                 for p in core core.* gmon.out *\~ *.orig *.rej .\#*; do \
382                         $(RM) "$$d/$$p"; \
383                 done \
384         done
385
386 .PHONY: doc