change how stuff is linked, this should make libtool and automake work nicely again...
[mikachu/openbox.git] / Makefile.am
index 3cca337..ad1c0fc 100644 (file)
@@ -1,15 +1,20 @@
 SUBDIRS = m4 po
 
-themedir        = $(datadir)/openbox/themes
+themedir        = $(datadir)/themes
 localedir       = $(datadir)/locale
-rcdir           = $(datadir)/openbox
-plugindir       = $(libdir)/openbox/plugins
+configdir       = $(sysconfdir)/xdg
+rcdir           = $(configdir)/openbox
 desktopfilesdir = $(datadir)/gnome/wm-properties
+pkgconfigdir    = $(libdir)/pkgconfig
+pubincludedir   = $(includedir)/openbox/@OB_VERSION@/openbox
 pixmapdir       = $(datadir)/pixmaps
+xsddir          = $(datadir)/openbox
+userscriptdir   = $(datadir)/openbox
 
-theme = thebear
+theme = TheBear
+
+AUTOMAKE_OPTIONS = subdir-objects foreign
 
-AUTOMAKE_OPTIONS = subdir-objects
 ACLOCAL_AMFLAGS = -I m4
 
 INCLUDES = -I.
@@ -18,30 +23,13 @@ noinst_PROGRAMS = \
        render/rendertest
 
 lib_LTLIBRARIES = \
-       render/libobrender.la \
-       parser/libobparser.la
+       parser/libobparser.la \
+       render/libobrender.la
 
 bin_PROGRAMS = \
-       kernel/openbox \
-       tools/kdetrayproxy/kdetrayproxy
-
-plugin_LTLIBRARIES = \
-       plugins/resistance/resistance.la \
-       plugins/placement/placement.la \
-       plugins/mouse/mouse.la \
-       plugins/keyboard/keyboard.la \
-       plugins/menu/timed_menu.la \
-       plugins/menu/fifo_menu.la \
-       plugins/menu/client_menu.la \
-       plugins/menu/include_menu.la
-
-if OBCONF
-bin_PROGRAMS += \
-       tools/obconf/obconf
-
-#plugin_LTLIBRARIES += \
-#      plugins/resistance/resistance-config.la
-endif
+       openbox/openbox \
+       tools/kdetrayproxy/kdetrayproxy \
+       tools/gnome-panel-control/gnome-panel-control
 
 ## render ##
 
@@ -49,20 +37,25 @@ render_rendertest_CPPFLAGS = \
        $(XFT_CFLAGS) \
        $(GLIB_CFLAGS) \
        -DG_LOG_DOMAIN=\"RenderTest\"
-render_rendertest_LDADD = render/libobrender.la
+render_rendertest_LDADD = \
+       parser/libobparser.la \
+       render/libobrender.la \
+       $(XFT_LIBS) \
+       $(GLIB_LIBS) \
+       $(XML_LIBS)
 render_rendertest_SOURCES = render/test.c
 
 render_libobrender_la_CPPFLAGS = \
        $(X_CFLAGS) \
        $(XFT_CFLAGS) \
        $(GLIB_CFLAGS) \
+       $(XML_CFLAGS) \
        -DG_LOG_DOMAIN=\"ObRender\" \
-       -DDEFAULT_THEME=\"$(theme)\" \
-       -DTHEMEDIR=\"$(themedir)\"
+       -DDEFAULT_THEME=\"$(theme)\"
 render_libobrender_la_LIBADD = \
-       $(X_LIBS) \
-       $(XFT_LIBS) \
-       $(GLIB_LIBS)
+       $(X_LIBS)
+render_libobrender_la_LDFLAGS = \
+       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
 render_libobrender_la_SOURCES = \
        gettext.h \
        render/color.h \
@@ -72,6 +65,7 @@ render_libobrender_la_SOURCES = \
        render/geom.h \
        render/gradient.h \
        render/gradient.c \
+       render/icon.h \
        render/image.h \
        render/image.c \
        render/instance.h \
@@ -90,270 +84,114 @@ parser_libobparser_la_CPPFLAGS = \
        $(XML_CFLAGS) \
        -DG_LOG_DOMAIN=\"ObParser\" \
        -DLOCALEDIR=\"$(localedir)\" \
-       -DRCDIR=\"$(rcdir)\"
-parser_libobparser_la_LIBADD = \
-       $(GLIB_LIBS) \
-       $(XML_LIBS)
+       -DDATADIR=\"$(datadir)\" \
+       -DCONFIGDIR=\"$(configdir)\"
+parser_libobparser_la_LDFLAGS = \
+       -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
 parser_libobparser_la_SOURCES = \
        parser/parse.h \
        parser/parse.c
 
-## kernel ##
+## openbox ##
 
-kernel_openbox_CPPFLAGS = \
+openbox_openbox_CPPFLAGS = \
        $(X_CFLAGS) \
        $(SM_CFLAGS) \
        $(XFT_CFLAGS) \
        $(GLIB_CFLAGS) \
-       $(GMODULE_CFLAGS) \
        $(LIBSN_CFLAGS) \
        $(XML_CFLAGS) \
        -DLOCALEDIR=\"$(localedir)\" \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DRCDIR=\"$(rcdir)\" \
+       -DDATADIR=\"$(datadir)\" \
+       -DCONFIGDIR=\"$(configdir)\" \
        -DG_LOG_DOMAIN=\"Openbox\"
-kernel_openbox_LDADD = \
+openbox_openbox_LDADD = \
        $(SM_LIBS) \
+       $(XFT_LIBS) \
        $(XINERAMA_LIBS) \
        $(XKB_LIBS) \
        $(XRANDR_LIBS) \
        $(VIDMODE_LIBS) \
        $(XSHAPE_LIBS) \
        $(GLIB_LIBS) \
-       $(GMODULE_LIBS) \
        $(LIBSN_LIBS) \
        $(XML_LIBS) \
        $(EFENCE_LIBS) \
        $(LIBINTL) \
        render/libobrender.la \
        parser/libobparser.la
-kernel_openbox_LDFLAGS = -export-dynamic
-kernel_openbox_SOURCES = \
-       gettext.h \
-       kernel/action.c \
-       kernel/action.h \
-       kernel/client.c \
-       kernel/client.h \
-       kernel/config.c \
-       kernel/config.h \
-       kernel/debug.c \
-       kernel/debug.h \
-       kernel/dispatch.c \
-       kernel/dispatch.h \
-       kernel/dock.c \
-       kernel/dock.h \
-       kernel/event.c \
-       kernel/event.h \
-       kernel/extensions.c \
-       kernel/extensions.h \
-       kernel/focus.c \
-       kernel/focus.h \
-       kernel/frame.c \
-       kernel/frame.h \
-       kernel/framerender.c \
-       kernel/framerender.h \
-       kernel/geom.h \
-       kernel/grab.c \
-       kernel/grab.h \
-       kernel/group.c \
-       kernel/group.h \
-       kernel/menu.c \
-       kernel/menu.h \
-       kernel/menu_render.c \
-       kernel/misc.h \
-       kernel/moveresize.c \
-       kernel/moveresize.h \
-       kernel/mwm.h \
-       kernel/openbox.c \
-       kernel/openbox.h \
-       kernel/plugin.c \
-       kernel/plugin.h \
-       kernel/popup.c \
-       kernel/popup.h \
-       kernel/prop.c \
-       kernel/prop.h \
-       kernel/screen.c \
-       kernel/screen.h \
-       kernel/session.c \
-       kernel/session.h \
-       kernel/stacking.c \
-       kernel/stacking.h \
-       kernel/startup.c \
-       kernel/startup.h \
-       kernel/timer.c \
-       kernel/timer.h \
-       kernel/window.c \
-       kernel/window.h \
-       kernel/xerror.c \
-       kernel/xerror.h \
-       plugins/interface.h
-
-## plugins/resistance ##
-
-plugins_resistance_resistance_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Resistance\"
-plugins_resistance_resistance_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_resistance_resistance_la_SOURCES = \
-       plugins/resistance/resistance.c \
-       plugins/resistance/resistance.h
-
-if OBCONF
-plugins_resistance_resistance_config_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Resistance\" \
-       $(GTK_CFLAGS) \
-       $(GLADE_CFLAGS)
-plugins_resistance_resistance_config_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_resistance_resistance_config_la_SOURCES = \
-       plugins/resistance/resistance_config.c
-endif
-
-## plugins/placement ##
-
-plugins_placement_placement_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Placement\"
-plugins_placement_placement_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_placement_placement_la_SOURCES = \
-       plugins/placement/placement.c \
-       plugins/placement/history.c \
-       plugins/placement/history.h
-
-## plugins/mouse ##
-
-plugins_mouse_mouse_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Mouse\"
-plugins_mouse_mouse_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_mouse_mouse_la_SOURCES = \
-       plugins/mouse/mouse.c \
-       plugins/mouse/mouse.h \
-       plugins/mouse/translate.c \
-       plugins/mouse/translate.h
-
-## plugins/mouse ##
-
-plugins_keyboard_keyboard_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Keyboard\"
-plugins_keyboard_keyboard_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_keyboard_keyboard_la_SOURCES = \
-       plugins/keyboard/keyboard.c \
-       plugins/keyboard/keyboard.h \
-       plugins/keyboard/tree.c \
-       plugins/keyboard/tree.h \
-       plugins/keyboard/translate.c \
-       plugins/keyboard/translate.h
-
-## plugins/menu ##
-
-plugins_menu_timed_menu_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Timed-Menu\"
-plugins_menu_timed_menu_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_menu_timed_menu_la_SOURCES = \
-       plugins/menu/timed_menu.c \
-       plugins/menu/timed_menu.h
-
-plugins_menu_fifo_menu_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Fifo-Menu\"
-plugins_menu_fifo_menu_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_menu_fifo_menu_la_SOURCES = \
-       plugins/menu/fifo_menu.c \
-       plugins/menu/fifo_menu.h
-
-plugins_menu_client_menu_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Client-Menu\"
-plugins_menu_client_menu_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_menu_client_menu_la_SOURCES = \
-       plugins/menu/client_menu.c
-
-plugins_menu_include_menu_la_CPPFLAGS = \
-       $(XFT_CFLAGS) \
-       $(GLIB_CFLAGS) \
-       $(LIBSN_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DG_LOG_DOMAIN=\"Plugin-Include-Menu\"
-plugins_menu_include_menu_la_LDFLAGS = \
-       -module \
-       -avoid-version
-plugins_menu_include_menu_la_SOURCES = \
-       plugins/menu/include_menu.c
-
-
-## obconf ##
-
-tools_obconf_obconf_CPPFLAGS = \
-       $(GTK_CFLAGS) \
-       $(GDK_PIXBUF_CFLAGS) \
-       $(XML_CFLAGS) \
-       -DLOCALEDIR=\"$(localedir)\" \
-       -DPLUGINDIR=\"$(plugindir)\" \
-       -DRCDIR=\"$(rcdir)\" \
-       -DPIXMAPDIR=\"$(pixmapdir)\" \
-       -DG_LOG_DOMAIN=\"Obconf\"
-tools_obconf_obconf_LDADD = \
-       $(GTK_LIBS) \
-       $(GDK_PIXBUF_LIBS) \
-       $(LIBINTL) \
-       render/libobrender.la \
-       parser/libobparser.la
-tools_obconf_obconf_SOURCES = \
+openbox_openbox_LDFLAGS = -export-dynamic
+openbox_openbox_SOURCES = \
        gettext.h \
-       tools/obconf/main.c \
-       plugins/obconf_interface.h
+       openbox/action.c \
+       openbox/action.h \
+       openbox/client.c \
+       openbox/client.h \
+       openbox/client_list_menu.c \
+       openbox/client_list_menu.h \
+       openbox/client_menu.c \
+       openbox/client_menu.h \
+       openbox/config.c \
+       openbox/config.h \
+       openbox/debug.c \
+       openbox/debug.h \
+       openbox/dock.c \
+       openbox/dock.h \
+       openbox/event.c \
+       openbox/event.h \
+       openbox/extensions.c \
+       openbox/extensions.h \
+       openbox/focus.c \
+       openbox/focus.h \
+       openbox/frame.c \
+       openbox/frame.h \
+       openbox/framerender.c \
+       openbox/framerender.h \
+       openbox/geom.h \
+       openbox/grab.c \
+       openbox/grab.h \
+       openbox/group.c \
+       openbox/group.h \
+       openbox/keyboard.c \
+       openbox/keyboard.h \
+       openbox/keytree.c \
+       openbox/keytree.h \
+       openbox/mainloop.c \
+       openbox/mainloop.h \
+       openbox/menuframe.c \
+       openbox/menuframe.h \
+       openbox/menu.c \
+       openbox/menu.h \
+       openbox/misc.h \
+       openbox/mouse.c \
+       openbox/mouse.h \
+       openbox/moveresize.c \
+       openbox/moveresize.h \
+       openbox/mwm.h \
+       openbox/openbox.c \
+       openbox/openbox.h \
+       openbox/place.c \
+       openbox/place.h \
+       openbox/popup.c \
+       openbox/popup.h \
+       openbox/prop.c \
+       openbox/prop.h \
+       openbox/resist.c \
+       openbox/resist.h \
+       openbox/screen.c \
+       openbox/screen.h \
+       openbox/session.c \
+       openbox/session.h \
+       openbox/stacking.c \
+       openbox/stacking.h \
+       openbox/startupnotify.c \
+       openbox/startupnotify.h \
+       openbox/translate.c \
+       openbox/translate.h \
+       openbox/window.c \
+       openbox/window.h \
+       openbox/xerror.c \
+       openbox/xerror.h
 
 
 ## kdetrayproxy ##
@@ -366,91 +204,112 @@ tools_kdetrayproxy_kdetrayproxy_SOURCES = \
        tools/kdetrayproxy/kdetrayproxy.c
 
 
+## gnome-panel-control ##
+
+tools_gnome_panel_control_gnome_panel_control_CPPFLAGS = \
+       $(X_CFLAGS)
+tools_gnome_panel_control_gnome_panel_control_LDADD = \
+       $(X_LIBS)
+tools_gnome_panel_control_gnome_panel_control_SOURCES = \
+       tools/gnome-panel-control/gnome-panel-control.c
+
+
 ## themes ##
 
-thebear_themedir = $(themedir)/thebear
-dist_thebear_theme_DATA = \
-       themes/thebear/themerc
-
-planton_themedir = $(themedir)/planton
-dist_planton_theme_DATA = \
-       themes/planton/themerc \
-       themes/planton/max.xbm \
-       themes/planton/max_toggled.xbm \
-       themes/planton/desk.xbm \
-       themes/planton/desk_toggled.xbm \
-       themes/planton/shade.xbm \
-       themes/planton/shade_toggled.xbm \
-       themes/planton/iconify.xbm \
-       themes/planton/close.xbm
-
-lightindustry_themedir = $(themedir)/Light-Industry
-dist_lightindustry_theme_DATA = \
-       themes/Light-Industry/themerc \
-       themes/Light-Industry/max.xbm \
-       themes/Light-Industry/iconify.xbm \
-       themes/Light-Industry/close.xbm
-
-lightindustrybig_themedir = $(themedir)/Light-Industry-big
-dist_lightindustrybig_theme_DATA = \
-       themes/Light-Industry-big/themerc \
-       themes/Light-Industry-big/max.xbm \
-       themes/Light-Industry-big/iconify.xbm \
-       themes/Light-Industry-big/close.xbm
-
-imerry_themedir = $(themedir)/I-merry
-dist_imerry_theme_DATA = \
-       themes/I-merry/themerc \
-       themes/I-merry/max.xbm \
-       themes/I-merry/iconify.xbm \
-       themes/I-merry/close.xbm
-
-greenz_themedir = $(themedir)/greenz
-dist_greenz_theme_DATA = \
-       themes/greenz/themerc
-
-bbstyle_themedir = $(themedir)/BBstylE
-dist_bbstyle_theme_DATA = \
-       themes/BBstylE/themerc \
-       themes/BBstylE/max.xbm \
-       themes/BBstylE/max_toggled.xbm \
-       themes/BBstylE/desk.xbm \
-       themes/BBstylE/desk_toggled.xbm \
-       themes/BBstylE/shade.xbm \
-       themes/BBstylE/shade_toggled.xbm \
-       themes/BBstylE/iconify.xbm \
-       themes/BBstylE/close.xbm
-
-om4ob_themedir = $(themedir)/om4ob
+allegro_themedir = $(themedir)/Allegro/openbox-3
+dist_allegro_theme_DATA = \
+       themes/Allegro/openbox-3/themerc \
+       themes/Allegro/openbox-3/bullet.xbm
+
+artwiz_themedir = $(themedir)/Artwiz/openbox-3
+dist_artwiz_theme_DATA = \
+       themes/Artwiz/openbox-3/themerc
+
+blah41_themedir = $(themedir)/Blah41/openbox-3
+dist_blah41_theme_DATA = \
+       themes/Blah41/openbox-3/themerc
+
+om4ob_themedir = $(themedir)/Om4Ob/openbox-3
 dist_om4ob_theme_DATA = \
-       themes/om4ob/themerc \
-       themes/om4ob/close_hover.xbm \
-       themes/om4ob/close.xbm \
-       themes/om4ob/desk_hover.xbm \
-       themes/om4ob/desk_toggled.xbm \
-       themes/om4ob/desk.xbm \
-       themes/om4ob/iconify_hover.xbm \
-       themes/om4ob/iconify_pressed.xbm \
-       themes/om4ob/iconify.xbm \
-       themes/om4ob/max_disabled.xbm \
-       themes/om4ob/max_hover.xbm \
-       themes/om4ob/max_pressed.xbm \
-       themes/om4ob/max_toggled.xbm \
-       themes/om4ob/max.xbm \
-       themes/om4ob/shade_disabled.xbm \
-       themes/om4ob/shade_hover.xbm \
-       themes/om4ob/shade_toggled.xbm \
-       themes/om4ob/shade.xbm
+       themes/Om4Ob/openbox-3/themerc \
+       themes/Om4Ob/openbox-3/close_hover.xbm \
+       themes/Om4Ob/openbox-3/close.xbm \
+       themes/Om4Ob/openbox-3/desk_hover.xbm \
+       themes/Om4Ob/openbox-3/desk_toggled.xbm \
+       themes/Om4Ob/openbox-3/desk.xbm \
+       themes/Om4Ob/openbox-3/iconify_hover.xbm \
+       themes/Om4Ob/openbox-3/iconify_pressed.xbm \
+       themes/Om4Ob/openbox-3/iconify.xbm \
+       themes/Om4Ob/openbox-3/max_disabled.xbm \
+       themes/Om4Ob/openbox-3/max_hover.xbm \
+       themes/Om4Ob/openbox-3/max_pressed.xbm \
+       themes/Om4Ob/openbox-3/max_toggled.xbm \
+       themes/Om4Ob/openbox-3/max.xbm \
+       themes/Om4Ob/openbox-3/shade_disabled.xbm \
+       themes/Om4Ob/openbox-3/shade_hover.xbm \
+       themes/Om4Ob/openbox-3/shade_toggled.xbm \
+       themes/Om4Ob/openbox-3/shade.xbm
+
+thebear_themedir = $(themedir)/TheBear/openbox-3
+dist_thebear_theme_DATA = \
+       themes/TheBear/openbox-3/themerc
+
+
+## public headers ##
+
+pubinclude_HEADERS = \
+       render/render.h \
+       render/theme.h \
+       parser/parse.h
 
+nodist_pkgconfig_DATA = \
+       render/obrender-3.0.pc \
+       parser/obparser-3.0.pc
 
 ## data ##
 
-dist_rc_DATA = \
-       data/rc3
+dist_pixmap_DATA = \
+       data/openbox.png
+
+nodist_rc_DATA = \
+       data/rc.xml \
+       data/menu.xml
+
+dist_xsd_DATA = \
+       data/rc.xsd \
+       data/menu.xsd
+
+edit = $(SED) \
+       -e 's!@version\@!$(VERSION)!' \
+       -e 's!@xsddir\@!$(xsddir)!'
+
+data/rc.xml: Makefile $(srcdir)/data/rc.xml.in data
+       @echo make: creating $@
+       @rm -f $@
+       @mkdir data 2>/dev/null || true
+       @$(edit) $(srcdir)/data/rc.xml.in >$@
+
+data/menu.xml: Makefile $(srcdir)/data/menu.xml.in data
+       @echo make: creating $@
+       @rm -f $@
+       @mkdir data 2>/dev/null || true
+       @$(edit) $(srcdir)/data/menu.xml.in >$@
+
+dist_userscript_DATA = \
+       tools/themeupdate/themeupdate.py
+
+install-data-hook:
+       chmod +x $(DESTDIR)$(userscriptdir)/themeupdate.py
 
 dist_desktopfiles_DATA = \
        data/openbox.desktop
 
+dist_noinst_DATA = \
+       data/rc.xml.in \
+       data/menu.xml.in \
+       render/obrender-3.0.pc.in \
+       parser/obparser-3.0.pc.in
+
 EXTRA_DIST = \
        config.rpath \
        mkinstalldirs \
@@ -458,6 +317,10 @@ EXTRA_DIST = \
        COPYING \
        AUTHORS
 
+CLEANFILES = \
+       data/rc.xml \
+       data/menu.xml
+
 #doc:
 #       $(MAKE) -$(MAKEFLAGS) -C doc/doxygen doc