| #-------------------------------------------------------------------------------- |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| #-------------------------------------------------------------------------------- |
| # |
| # Makefile for MRQL |
| # |
| #-------------------------------------------------------------------------------- |
| |
| MRQL_HOME=$(shell readlink -f .) |
| |
| include conf/mrql-env.sh |
| include conf/mrql-ant-env.sh |
| |
| export CLASSPATH=${MRQL_CLASSPATH}:${JFLEX_JAR}:${CUP_JAR}:${JLINE_JAR} |
| export JAVA_HOME |
| |
| JAVAC = ${JAVA_HOME}/bin/javac -g:none -d classes |
| JAVA = ${JAVA_HOME}/bin/java |
| JAR = ${JAVA_HOME}/bin/jar |
| JFLEX = ${JAVA} -jar ${JFLEX_JAR} --quiet --nobak |
| CUP = ${JAVA} -jar ${CUP_JAR} -nosummary |
| GEN = ${JAVA} org.apache.mrql.gen.Main |
| |
| sources := src/main/java/core/*.java |
| mr_sources := ${sources} src/main/java/MapReduce/*.java |
| bsp_sources := ${sources} src/main/java/BSP/*.java |
| spark_sources := ${sources} src/main/java/spark/*.java |
| |
| |
| all: common |
| @${GEN} src/main/java/MapReduce/*.gen -o tmp |
| @${JAVAC} ${mr_sources} tmp/*.java |
| @${JAR} cf lib/mrql-mr-${MRQL_VERSION}.jar -C classes/ . |
| |
| bsp: common |
| @${GEN} src/main/java/BSP/*.gen -o tmp |
| @${JAVAC} ${bsp_sources} tmp/*.java |
| @${JAR} cf lib/mrql-bsp-${MRQL_VERSION}.jar -C classes/ . |
| |
| spark: common |
| @${GEN} src/main/java/spark/*.gen -o tmp |
| @${JAVAC} ${spark_sources} tmp/*.java |
| @${JAR} cf lib/mrql-spark-${MRQL_VERSION}.jar -C classes/ . |
| |
| common: clean_build gen mrql_parser json_parser |
| @cd classes; ${JAR} xf ${CUP_JAR}; ${JAR} xf ${JLINE_JAR}; cd .. |
| @${GEN} src/main/java/core/*.gen -o tmp |
| |
| clean_build: |
| @rm -rf classes tmp |
| @mkdir -p lib classes tmp tests/results tests/results/mr-memory tests/results/bsp-memory tests/results/hadoop tests/results/bsp tests/results/spark |
| |
| gen: |
| @${JFLEX} src/main/java/gen/gen.lex -d tmp |
| @${CUP} -symbols GenSym -parser GenParser src/main/java/gen/gen.cup |
| @mv GenParser.java GenSym.java tmp/ |
| @${JAVAC} src/main/java/gen/*java tmp/GenLex.java tmp/GenParser.java tmp/GenSym.java |
| |
| mrql_parser: |
| @${JFLEX} src/main/java/core/mrql.lex -d tmp |
| @${GEN} src/main/java/core/mrql.cgen -o tmp/mrql.cup |
| @${CUP} -parser MRQLParser tmp/mrql.cup |
| @mv sym.java MRQLParser.java tmp/ |
| |
| json_parser: |
| @${JFLEX} src/main/java/core/JSON.lex -d tmp |
| @${CUP} -parser JSONParser -symbols jsym src/main/java/core/JSON.cup |
| @mv jsym.java JSONParser.java tmp/ |
| |
| validate: validate_hadoop validate_hama validate_spark |
| |
| validate_hadoop: |
| @echo "Evaluating test queries in memory (Map-Reduce mode):" |
| @${JAVA} -classpath ${MRQL_HOME}/lib/mrql-mr-${MRQL_VERSION}.jar:${MRQL_CLASSPATH} org.apache.mrql.Test tests/queries tests/results/mr-memory tests/error_log.txt |
| @echo "Evaluating test queries in Hadoop local mode:" |
| @${JAVA} -classpath ${MRQL_HOME}/lib/mrql-mr-${MRQL_VERSION}.jar:${MRQL_CLASSPATH} org.apache.mrql.Test -local tests/queries tests/results/hadoop tests/error_log.txt 2>/dev/null |
| |
| validate_hama: |
| @echo "Evaluating test queries in memory (BSP mode):" |
| @${JAVA} -classpath ${MRQL_HOME}/lib/mrql-bsp-${MRQL_VERSION}.jar:${MRQL_CLASSPATH} org.apache.mrql.Test tests/queries tests/results/bsp-memory tests/error_log.txt |
| @echo "Evaluating test queries in Hama local mode:" |
| @${JAVA} -classpath ${MRQL_HOME}/lib/mrql-bsp-${MRQL_VERSION}.jar:${MRQL_CLASSPATH} org.apache.mrql.Test -local tests/queries tests/results/bsp tests/error_log.txt 2>/dev/null |
| |
| validate_spark: |
| @echo "Evaluating test queries in Spark local mode:" |
| @${JAVA} -classpath ${MRQL_HOME}/lib/mrql-spark-${MRQL_VERSION}.jar:${MRQL_CLASSPATH} org.apache.mrql.Test -local tests/queries tests/results/spark tests/error_log.txt 2>/dev/null |
| |
| javadoc: all |
| @${JAVA_HOME}/bin/javadoc ${mr_sources} tmp/*.java -d /tmp/web-mrql |
| |
| clean_tests: |
| @/bin/rm -rf tests/results/*/* |
| |
| clean: |
| @/bin/rm -rf *~ */*~ */*/*~ classes mrql-tmp tmp null tests/error_log.txt */dependency-reduced-pom.xml |