execfile("../PyMakefile.settings")

BINDINGS = ["run-c-example"]

CFLAGS = CFLAGS + " -I.."

LIBRARIES = "-L.. -llogger %(LINKLIBS)"

if MAKE_JAVA == 1:
    BINDINGS.append("run-java-example")

if MAKE_TCL == 1:
    BINDINGS.append("run-tcl-example")

if MAKE_PYTHON == 1:
    BINDINGS.append("run-python-example")

PYTHON_CMD = 'sed -e "s!MAKEFILE_PYDIR!%(ROOTDIR)/python!" | \
	     sed -e "s!MAKEFILE_PYTHON!%(PYTHONCMD)!" | \
	     sed -e "s!MAKEFILE_EXAMPLEDIR!%(ROOTDIR)/examples!"'
TCL_CMD = 'sed -e "s!MAKEFILE_TCLDIR!%(ROOTDIR)/tcl!" | \
          sed -e "s!MAKEFILE_TCL!%(TCLBIN)!" | \
	  sed -e "s!MAKEFILE_EXAMPLEDIR!%(ROOTDIR)/examples!"'
JAVA_CMD = 'sed -e "s!MAKEFILE_JAVADIR!%(ROOTDIR)/java!" | \
           sed -e "s!MAKEFILE_JAVA!%(JAVA)!" | \
	   sed -e "s!MAKEFILE_EXAMPLEDIR!%(ROOTDIR)/examples!"'

ALLSOURCE = ["Makefile", "Example.java", "example.c", "example.py",
	     "example.tcl", "run-java-example.in", "run-python-example.in",
	     "run-tcl-example.in"]

MFRule("all", BINDINGS, [])

MFRule("clean", [],
       "/bin/rm -f %(BINDINGS) core *.pyc *~ *.o *.class")

MFRule("tar", [],
       ["mkdir -p ../%(TARDIR)/examples",
	"cp %(ALLSOURCE) ../%(TARDIR)/examples"])

MFRule("run-c-example", ["example.c"],
       "%(CC) %(CFLAGS) example.c -o run-c-example %(LIBRARIES) ")

MFRule("run-python-example", ["run-python-example.in"],
	["cat run-python-example.in | %(PYTHON_CMD) > run-python-example",
	 "chmod +x run-python-example"])

MFRule("run-tcl-example", ["run-tcl-example.in"],
	["cat run-tcl-example.in | %(TCL_CMD) > run-tcl-example",
	 "chmod +x run-tcl-example"])

MFRule("run-java-example", ["Example.class"],
       ["cat run-java-example.in | %(JAVA_CMD) > run-java-example",
	"chmod +x run-java-example"])

MFRule("Example.class", ["Example.java"],
       "CLASSPATH=../java; export CLASSPATH; %(JAVAC) Example.java")
