# vim:syntax=python import os install_dir = '/usr/lib/gnome-screensaver/gnome-screensaver' desktop_dir = os.getenv('HOME') + '/.local/share/applications/screensavers' load_files = ['logo/dwlogo.obj', 'logo/dwlogo.mtl'] env = Environment(CPPPATH = ['.']) env.ParseConfig("pkg-config --cflags --libs glib-2.0 gdk-2.0 atk gtk+-2.0 gtkglext-1.0") genLoadFile = Builder(action = 'perl genLoadFile.pl --root=logo $SOURCES') env.Append(BUILDERS = {'LoadFile' : genLoadFile}) def gen_modes(target, source, env): f = open(str(target[0]), 'w') for s in source: f.write("#include \"%s\"\n" % str(s)) f.close() return None; genModes = Builder(action = gen_modes) env.Append(BUILDERS = {'Modes' : genModes}) sources = [Glob('*.c'), Glob('*.cc'), Glob('LoadFile/*.cc'), Glob('modes/*.cc')] env.LoadFile('LoadFile-gen.inc', load_files) env.Depends('LoadFile-gen.inc', 'genLoadFile.pl') env.Modes('modes.h', Glob('modes/*.h')) dwss = env.Program('dwss', sources) env.Install(install_dir, dwss) env.Install(desktop_dir, 'dwss.desktop') install_bin = env.Alias('install-bin', install_dir) install_desktop = env.Alias('install-desktop', desktop_dir) env.Alias('install', [install_bin, install_desktop])