import os

Import('env')

samples_env = env.Clone()

progs = []

samples_env.Append(CPPDEFINES = {
    'AJ_MAIN': None,
    'AJ_NUM_REPLY_CONTEXTS': '8',
    'AJ_MAX_OBJECT_LISTS': '9',
    'ANNOUNCE_BASED_DISCOVERY': '1'
})
samples_env.Append(CPPPATH = './inc')

samples_env.Append(LIBPATH = '#dist/lib')
samples_env.Prepend(LIBS = ['ajtcl_services'])

common_objs = samples_env.Object(samples_env.Glob('common/*.c'))

build_samples = [
#    'Config',
#    'Controllee',
#    'NotificationConsumer',
#    'NotificationProducer',
    'NotifConfig'
]

#if env['enable_onboarding']:
#    build_samples.append('Onboardee')

#if env['TIME_SERVICE']:
#    build_samples.append('TimeServer')

for sample in build_samples:
    objs = samples_env.Object(samples_env.Glob(sample + '/*.c'))
#    if sample == 'TimeClient':
#        progs.append(samples_env.Program(sample + 'Sample', objs))
#    else:
    progs.append(samples_env.Program(sample + 'Sample', common_objs + objs))

samples_env.Install('#dist/bin', progs)
