diff --git a/SConstruct b/SConstruct index 9c0d233..a92fe89 100644 --- a/SConstruct +++ b/SConstruct @@ -48,7 +48,7 @@ import os.path env = Environment(CC='clang', CFLAGS='-Wall -fcolor-diagnostics', CPPPATH=include_directories, - LINKFLAGS='-lpng', + LIBS='png', LIBPATH=lib_directories) @@ -70,12 +70,22 @@ if not BUILD_CMDS: env['RANLIBCOMSTR'] = generate_comstr('Indexing') -# Build source subdirectories -for sdir in source_directories: - out_dir = os.path.join('build', Dir(sdir).path) - env.SConscript(os.path.join(sdir, 'SConscript'), - exports='env', - variant_dir=out_dir, - duplicate=0) +# Build charles +src_dir = Dir('#src') +charles_lib = env.SConscript(os.path.join(src_dir.path, 'SConscript'), + exports='env', + variant_dir=os.path.join('build', src_dir.path), + duplicate=0) +charles = env.Program(os.path.join('build', 'charles'), charles_lib) -Default('charles') +# Build test +test_dir = Dir('#test') +test_lib = env.SConscript(os.path.join(test_dir.path, 'SConscript'), + exports='env', + variant_dir=os.path.join('build', test_dir.path), + duplicate=0) +test_charles = env.Program(os.path.join('build', 'test_charles'), [charles_lib, test_lib]) + +env.Alias('charles', charles) +env.Alias('test', test_charles) +env.Default(charles) diff --git a/src/SConscript b/src/SConscript index d3756b7..ec3eab5 100644 --- a/src/SConscript +++ b/src/SConscript @@ -14,5 +14,5 @@ files = Split(""" writer_png.c """) -prog = env.Program('charles', files) -env.Alias('charles', prog) +lib = env.Library('charles', files) +Return('lib') diff --git a/test/SConscript b/test/SConscript index 30147c2..adf086d 100644 --- a/test/SConscript +++ b/test/SConscript @@ -8,8 +8,11 @@ Import('env') files = Split(""" - + test_basics.c + test_charles.c """) -test = env.Program('test_charles', files) -env.Alias('test', test) +test_env = env.Clone() +test_env.Append(LIBS=['check']) +lib = test_env.Library('test_charles', files, libs=['check']) +Return('lib')