update build environment to use cfs_gen

This commit is contained in:
Josh Holtrop 2011-10-11 10:34:46 -04:00
parent 9782d105fe
commit e0169b779e
2 changed files with 25 additions and 6 deletions

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
dwss
modes.h
LoadFile-gen.inc
cfs.cc
cfs.h

View File

@ -1,16 +1,17 @@
# vim:syntax=python
import os
import re
from subprocess import *
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']
load_files = ['logo/dwlogo.obj', 'logo/dwlogo.mtl', Glob('shaders/*')]
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})
# modes builder
def gen_modes(target, source, env):
f = open(str(target[0]), 'w')
@ -22,10 +23,27 @@ def gen_modes(target, source, env):
genModes = Builder(action = gen_modes)
env.Append(BUILDERS = {'Modes' : genModes})
# CFS builder
def CFS(target, source, env):
source_list = []
for s in source:
source_list.append(str(s))
Popen(['./cfs_gen/cfs_gen.py', str(target[0])] + source_list).wait()
return None
def CFS_emitter(target, source, env):
target.append(re.sub(r'\.cc?', '.h', str(target[0])))
return target, source
env.Append(BUILDERS = {'CFS' : Builder(action = CFS, emitter = CFS_emitter)})
# source file list
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.CFS('cfs.cc', load_files)
env.Depends('cfs.cc', 'cfs_gen/cfs_gen.py')
env.Modes('modes.h', Glob('modes/*.h'))