+ #install
+
+ # the executable - into the library dir
+ env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), ardour))
+ # the script - into the bin dir
+ env.Alias('install', env.InstallAs(os.path.join(install_prefix, 'bin')+'/ardour3', ardoursh))
+
+if env['NLS']:
+ i18n (gtkardour, gtkardour_files, env)
+
+# configuration files
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_dark_theme))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_light_theme))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_dark_sae_theme))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_light_sae_theme))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour3_ui_default.conf'))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour.menus'))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour-sae.menus'))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ergonomic-us.bindings'))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'mnemonic-us.bindings'))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-de-keypad.bindings'))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-us-keypad.bindings'))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-de-nokeypad.bindings'))
+env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-us-nokeypad.bindings'))
+# data files
+env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour3'), 'splash.png'))
+env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour3', 'pixmaps'), pixmap_files))
+env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour3', 'icons'), icon_files))
+env.Alias ('version', gtkardour.VersionBuild(['version.cc','version.h'], []))
+env.Alias ('version', gtkardour.VersionBuild(['version.cc','version.h'], []))
+
+# This will install icons and MIME type as per freedesktop.org specs. #
+if env['FREEDESKTOP']:
+ desktop_icon_install_prefix = install_prefix + '/share/icons/hicolor'
+ # Install the desktop icons to the default locations #
+ env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '16x16', 'apps', 'ardour3.png'), 'icons/ardour_icon_16px.png'))
+ env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '22x22', 'apps', 'ardour3.png'), 'icons/ardour_icon_22px.png'))
+ env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '32x32', 'apps', 'ardour3.png'), 'icons/ardour_icon_32px.png'))
+ env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '48x48', 'apps', 'ardour3.png'), 'icons/ardour_icon_48px.png'))
+ # Install the mime type xml file and its icon #
+ env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'mime', 'packages'), 'ardour3.xml'))
+ env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '16x16', 'mimetypes', 'application-x-ardour3.png'), 'icons/application-x-ardour_16px.png'))
+ env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '22x22', 'mimetypes', 'application-x-ardour3.png'), 'icons/application-x-ardour_22px.png'))
+ env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '32x32', 'mimetypes', 'application-x-ardour3.png'), 'icons/application-x-ardour_32px.png'))
+ env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '48x48', 'mimetypes', 'application-x-ardour3.png'), 'icons/application-x-ardour_48px.png'))
+ env.Alias('install', env.Command (os.path.join(install_prefix, 'share', 'mime'), [], 'update-mime-database $TARGET'))
+ # Update the icon cache #
+ env.Alias('install', env.Command (desktop_icon_install_prefix, [], 'touch --no-create $TARGET'))
+ env.Alias('install', env.Command (desktop_icon_install_prefix, [], 'gtk-update-icon-cache $TARGET'))
+ # Make the ardour3.desktop file and install it #
+ env.Alias('install', env.Command ('ardour3.desktop', 'ardour3.desktop.in', 'cat $SOURCES > $TARGET'))
+ env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'applications'), 'ardour3.desktop'))
+ env.Alias('install', env.Command (os.path.join(install_prefix, 'share', 'applications'), [], 'update-desktop-database $TARGET'))
+ # uninstall target.. needed to run update-mime-database and update-desktop-database after removal. #`
+ remove_desktop_files = env.Command ('another_frobnicatory_decoy', [],
+ [ Delete (install_prefix + '/share/mime/packages/ardour3.xml'),
+ Delete (install_prefix + '/share/applications/ardour3.desktop'),
+ Delete (desktop_icon_install_prefix + '/16x16/apps/ardour3.png'),
+ Delete (desktop_icon_install_prefix + '/22x22/apps/ardour3.png'),
+ Delete (desktop_icon_install_prefix + '/32x32/apps/ardour3.png'),
+ Delete (desktop_icon_install_prefix + '/48x48/apps/ardour3.png'),
+ Delete (desktop_icon_install_prefix + '/16x16/mimetypes/application-x-ardour3.png'),
+ Delete (desktop_icon_install_prefix + '/22x22/mimetypes/application-x-ardour3.png'),
+ Delete (desktop_icon_install_prefix + '/32x32/mimetypes/application-x-ardour3.png'),
+ Delete (desktop_icon_install_prefix + '/48x48/mimetypes/application-x-ardour3.png'),
+ Action ('update-mime-database ' + install_prefix + '/share/mime'),
+ Action ('gtk-update-icon-cache ' + desktop_icon_install_prefix),
+ Action ('update-desktop-database ' + install_prefix + '/share/applications')])
+ env.Alias('uninstall', remove_desktop_files)