from rsf.proj import *

proj = Project()

libpath = proj.get('LIBPATH')
cpppath = proj.get('CPPPATH')

flg=" -fopenmp -O3 -DNO_BLAS -std=gnu99 -Wall -pedantic"
lib=['rsf','m','su','gomp']

# ------------------------------------------------------------
proj.Program('STENCIL.x',
    Split('STENCIL.c fdstencil.c'),
    CCFLAGS=flg,LIBS=lib)

proj.Program('DDEBUG.x',
    Split('DDEBUG.c'),
    CCFLAGS=flg,LIBS=lib)

# ------------------------------------------------------------
for i in (['COROP','CONOP']):
    proj.Program(i+'.x',i+'.c',CCFLAGS=flg,LIBS=lib)
    
# ------------------------------------------------------------
for i in (['2D','3D']):
    proj.Program('STEST'+i+'.x',
                     Split('STEST'+i+'.c fdstencil.c fdops.c'),
                     CCFLAGS=flg,LIBS=lib)
    proj.Program('DIFOP'+i+'.x',
                     Split('DIFOP'+i+'.c fdstencil.c fdops.c'),
                     CCFLAGS=flg,LIBS=lib)
    proj.Program( 'GRAVOP'+i+'.x',
                    ['GRAVOP'+i+'.c'],
                    CFLAGS=flg,LIBS=lib)
    proj.Program('GREENOP'+i+'.x',
                    Split(['GREENOP'+i+'.c','mapop.c']),
                    CFLAGS=flg,LIBS=lib)
    
    proj.Program('LIEOP'+i+'.x',
                    Split('LIEOP'+i+'.c fdinterp.c'),
                    CCFLAGS=flg,LIBS=lib)
    proj.Program('SIEOP'+i+'.x',
                     Split('SIEOP'+i+'.c fdinterp.c'),
                    CCFLAGS=flg,LIBS=lib)
    proj.Program('INJOP'+i+'.x',
                    Split('INJOP'+i+'.c fdinterp.c'),
                    CCFLAGS=flg,LIBS=lib)
    proj.Program('BNDOP'+i+'.x',
                    Split('BNDOP'+i+'.c fdbound.c'),
                    CCFLAGS=flg,LIBS=lib)
    proj.Program('DEABC'+i+'.x',
                    Split('DEABC'+i+'.c fdbound.c'),
                    CCFLAGS=flg,LIBS=lib)
    
    for k in (['SAFDM','DEFDM','VAFDM','IEFDM','TEFDM','AEFDM']):
        proj.Program (k+i+'.x',
                Split(k+i+'.c omputil.c fdstencil.c fdops.c fdinterp.c fdbound.c fdstat.c'),
                    CCFLAGS=flg,LIBS=lib)

    
End()
