-# build examples
+# vim:set syntax=python:
+
+import os.path
-defines = ['AUBIO_PREFIX="' + bld.env['AUBIO_PREFIX'] + '"']
-defines += ['PACKAGE="' + bld.env['PACKAGE'] + '"']
+uselib = ['aubio']
+uselib += ['JACK']
-extra_source = ['utils.c', 'sndfileio.c', 'jackio.c']
+includes = ['../src']
+utils_source = ['utils.c', 'jackio.c']
+programs_source = ctx.path.ant_glob('*.c', excl = utils_source)
-bld.new_task_gen(features = 'cc',
- includes = '../src',
- source = extra_source,
- uselib = ['LASH'],
- defines = defines,
- target = 'utils_io')
+# build examples
+bld(features = 'c',
+ source = utils_source,
+ includes = includes,
+ use = uselib,
+ target = 'utilsio')
# loop over all *.c filenames in examples to build them all
-for target_name in bld.path.ant_glob('*.c').split():
- # ignore utils.c
- if target_name in extra_source: continue
- bld.new_task_gen(features = 'cc cprogram',
- add_objects = 'utils_io',
- includes = '../src',
- defines = defines,
- uselib = ['LASH', 'JACK', 'SNDFILE'],
- uselib_local = ['aubio'],
- source = target_name,
- # program name is filename.c without the .c
- target = target_name.split('.')[0])
+for source_file in programs_source:
+ target = os.path.basename(os.path.splitext(str(source_file))[0])
+ bld(features = 'c cprogram',
+ source = source_file,
+ target = target,
+ includes = includes,
+ use = uselib + ['utilsio'],
+ )