import os
env = Environment(ENV = os.environ)

env['cc'] = os.environ.get('cc', '')
env['F77'] = os.environ.get('F77', 'gfortran')
env.Append(FFLAGS='-g',
           CCFLAGS=['-pthread', '-O3', '-Wno-inline', '-g', '-isystem /usr/include/eigen3', '-isystem /usr/include/highfive', '-std=c++17'],
           CPPPATH=['/usr/include', '/usr/include/eigen3', '/usr/include/highfive'],
           LIBS=['cantera_fortran', 'cantera', 'sundials_cvodes', 'sundials_idas', 'sundials_nvecserial', 'dl', 'hdf5', 'fmt', 'yaml-cpp', 'stdc++'],
           LIBPATH=['/usr/lib64'],
           RPATH=['/usr/lib64'],
           LINKFLAGS=['-g', '-pthread', '-Wl,-rpath,/usr/lib64'],
           FRAMEWORKS=[])

ftnlib = env.SharedObject('demo_ftnlib.cpp')

ctlib = env.Program('ctlib', [ftnlib, 'ctlib.f'],
                    LINK='$FORTRAN')
demo = env.Program('demo', [ftnlib, 'f77_demo.f'],
                   LINK='$FORTRAN')
isentropic = env.Program('isentropic', [ftnlib, 'isentropic.f'],
                         LINK='$FORTRAN')

Default(ctlib)
Default(demo)
Default(isentropic)
