#!/usr/bin/perl

use strict;
use File::Spec::Functions qw.catdir catfile.;
my $BUILDDIR = 'build';
my @MODULES = qw(s0native dump nagc util capture interpreter mold yeast native lost s1p p6opaque s1p-oo p5 mold-message profile);
my $file = 's1p/t/lexical_scope.m0ld';
sub smop_lib_flags {
    my @LIBS;
    push(@LIBS,'-L'.catdir($BUILDDIR,'lib'));
    for my $module (@MODULES) {
        push(@LIBS,'-lsmop-' . $module);
    }
    return @LIBS;
}
sub smop_include_flags {
    my @INCLUDE = (catdir("base","include"),catdir("util","include"));
    for my $module (@MODULES) {
        push(@INCLUDE,"$module/include");
    }
    return map {"-I$_"} @INCLUDE;
}
my $cflags = join(',',smop_include_flags(),smop_lib_flags());
#system("mildew","-F","m0ld",'++BACKEND','--cflags',$cflags,'--ld-library-path','build/lib','--trace','--dump=out%d','++/BACKEND',$file);
system("mildew","-F","m0ld",'++BACKEND','--cflags',$cflags,'--ld-library-path','build/lib','++/BACKEND',$file);
