<?xml version="1.0" encoding="UTF-8"?>

<!--
 Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:

   - Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

   - Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.

   - Neither the name of Oracle nor the names of its
     contributors may be used to endorse or promote products derived
     from this software without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->

<project name="make" basedir="..">
    
    <target name="-make.init" depends="-init,-pre-init.linux,-pre-init.macosx,-pre-init.solaris,-pre-init.windows,-pre-init.macosx">
        <property name="make.options" value=""/> <!-- default, can be overridden per user or per project -->
    </target>
    
    <target name="-pre-init.linux" if="os.linux">
        <property name="platform" value="linux"/>
        <property name="make" value="make"/>
    </target>

    <target name="-pre-init.macosx" if="os.macosx">
        <property name="platform" value="macosx"/>
        <property name="make" value="make"/>
    </target>

    <target name="-pre-init.solaris" if="os.solaris">
        <property name="platform" value="solaris"/>
        <property name="make" value="gmake"/>
    </target>

    <target name="-pre-init.windows" if="os.windows">
        <property name="platform" value="windows"/>
        <property name="make" value="c:/cygwin/bin/make"/>
    </target>
    
    <macrodef name="make-run">
            <attribute name="target"/>
            <attribute name="dir"/>
            <attribute name="opts" default=""/>
            <sequential>
                <echo message="Entering directory `@{dir}'"/>
                <exec executable="${make}" dir="@{dir}" failonerror="true">
                    <arg value="@{target}"/>
                    <arg line="@{opts}"/>
                    <arg line="${make.options}"/>
                    <!-- Unset key variables -->
                    <env key="JAVA_HOME" value=""/>
                    <env key="LANG" value=""/>
                    <env key="LD_LIBRARY_PATH" value=""/>
                </exec>
                <echo message="Leaving directory `@{dir}'"/>
            </sequential>
        </macrodef>
</project>
