| author | Radek Brich <radek.brich@devl.cz> | 
| Wed, 09 Apr 2008 16:51:14 +0200 | |
| branch | pyrit | 
| changeset 63 | 440e1ae80459 | 
| parent 61 | 7006036eb0db | 
| child 65 | 242839c6d27d | 
| permissions | -rw-r--r-- | 
| 63 
440e1ae80459
add many SCons targets (see DEVNOTES)
 Radek Brich <radek.brich@devl.cz> parents: 
61diff
changeset | 1 | Import('env')
 | 
| 
440e1ae80459
add many SCons targets (see DEVNOTES)
 Radek Brich <radek.brich@devl.cz> parents: 
61diff
changeset | 2 | env.Append(CPPPATH = '#include') | 
| 60 | 3 | |
| 4 | import os | |
| 5 | PY_CCFLAGS = os.popen('python-config --includes').read()
 | |
| 6 | PY_LDFLAGS = os.popen('python-config --libs').read()
 | |
| 7 | pyenv = env.Clone() | |
| 8 | pyenv.Append(LINKFLAGS=PY_LDFLAGS, CCFLAGS=PY_CCFLAGS) | |
| 9 | ||
| 10 | sources = [ | |
| 11 | 'raytracer.cc', 'scene.cc', 'sampler.cc', | |
| 12 | 'container.cc', 'kdtree.cc', 'octree.cc', 'noise.cc'] | |
| 13 | ||
| 14 | objs = [] | |
| 15 | shared_objs = [] | |
| 16 | for src in sources: | |
| 17 | objs.append( env.Object(src) ) | |
| 18 | shared_objs.append( env.SharedObject(src) ) | |
| 19 | ||
| 20 | pymodule = pyenv.SharedLibrary( | |
| 21 | ['raytracermodule.cc']+shared_objs, | |
| 22 | SHLIBPREFIX = '', | |
| 23 | CCFLAGS = '$CCFLAGS -Wno-write-strings') | |
| 24 | ||
| 61 | 25 | lib = env.StaticLibrary('pyrit', objs)
 | 
| 26 | ||
| 63 
440e1ae80459
add many SCons targets (see DEVNOTES)
 Radek Brich <radek.brich@devl.cz> parents: 
61diff
changeset | 27 | env.Alias('objs', objs)
 | 
| 
440e1ae80459
add many SCons targets (see DEVNOTES)
 Radek Brich <radek.brich@devl.cz> parents: 
61diff
changeset | 28 | env.Alias('static-lib', lib)
 | 
| 
440e1ae80459
add many SCons targets (see DEVNOTES)
 Radek Brich <radek.brich@devl.cz> parents: 
61diff
changeset | 29 | env.Alias('shared-objs', shared_objs)
 | 
| 
440e1ae80459
add many SCons targets (see DEVNOTES)
 Radek Brich <radek.brich@devl.cz> parents: 
61diff
changeset | 30 | env.Alias('python-module', pymodule)
 | 
| 
440e1ae80459
add many SCons targets (see DEVNOTES)
 Radek Brich <radek.brich@devl.cz> parents: 
61diff
changeset | 31 | env.Alias('libs', ['static-lib', 'python-module'])
 | 
| 
440e1ae80459
add many SCons targets (see DEVNOTES)
 Radek Brich <radek.brich@devl.cz> parents: 
61diff
changeset | 32 | |
| 61 | 33 | Return('lib pymodule')
 |