1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
Import(Split("env PREFIX VERSION PACKAGE SHARED"))
#Build static library
libfsp=env.StaticLibrary(target = 'fsplib', source = Split('fsplib.c lock.c'))
env.Alias("build", libfsp)
#Build shared library
if SHARED:
env.Append(SHLIBSUFFIX = '.0.0.0')
env.Append(SHLINKFLAGS = '-Wl,-soname -Wl,libfsplib.so.0')
libfspshared=env.SharedLibrary(target = 'fsplib', source = Split('fsplib.c lock.c'))
env.Alias("build", libfspshared)
#Install library and header
env.Install(dir = PREFIX+'/lib', source = libfsp)
env.Install(dir = PREFIX+'/include', source='fsplib.h')
if SHARED:
env.Install(dir = PREFIX+'/lib', source = libfspshared)
#Build test program
test=env.Program(target = 'test', source = ['test.c', libfsp])
test_alias = env.Alias("test", [test], test[0].abspath)
AlwaysBuild(test_alias)
if SHARED:
testshared=env.Program(target = 'test-shared', source = ['test.c', libfspshared])
test_alias = env.Alias("test", [testshared], testshared[0].abspath)
AlwaysBuild(test_alias)
# *************** Targets ****************
#Add install target
env.Alias("install",[ PREFIX+'/lib', PREFIX+'/include'])
#Change default target to build
env.Default(None)
env.Default("build")
#Add dist target
TARBALL=PACKAGE+'-'+VERSION+'.tar.gz'
env.Replace(TARFLAGS = '-c -z')
env.Tar(TARBALL,Split("test.c fsplib.h lock.h lock.c fsplib.c"))
env.Tar(TARBALL,Split("TODO NEWS README AUTHORS ChangeLog COPYING"))
env.Tar(TARBALL,Split("SConstruct SConscript"))
env.Tar(TARBALL,Glob("site_scons/*.py"))
env.Alias("dist",TARBALL)
#Clean tarball when doing build clean
env.Clean("build",TARBALL)
|