from buildutils import *

Import('env','buildTargets','installTargets')
localenv = env.Clone()

# (subdir, library name, (file extensions))
libs = [('base', 'ctbase', ['cpp']),
        ('thermo', 'thermo', ['cpp']),
        ('equil', 'equil', ['cpp','c']),
        ('converters', 'converters', ['cpp']),
        ('numerics', 'ctnumerics', ['cpp']),
        ('kinetics', 'kinetics', ['cpp']),
        ('transport', 'transport', ['cpp']),
        ('spectra', 'ctspectra', ['cpp']),
        ('oneD', 'oneD', ['cpp']),
        ('zeroD', 'zeroD', ['cpp']),
        ]

for subdir, libname, extensions in libs:
    for header in mglob(localenv, subdir, 'h'):      
        h = localenv.Command('../include/cantera/kernel/%s' % header.name, header,
                             Copy('$TARGET', '$SOURCE'))
        buildTargets.extend(h)
        inst = localenv.Install(pjoin('$ct_incdir', 'kernel'), h)
        installTargets.extend(inst)

    lib = localenv.Library(pjoin('../lib', libname),
                           source=mglob(localenv, subdir, *extensions))
    inst = localenv.Install('$ct_libdir', lib)
    buildTargets.extend(lib)
    installTargets.extend(inst)
