summaryrefslogtreecommitdiff
path: root/test/erl/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'test/erl/Makefile')
-rw-r--r--test/erl/Makefile66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/erl/Makefile b/test/erl/Makefile
new file mode 100644
index 000000000..17e30da6f
--- /dev/null
+++ b/test/erl/Makefile
@@ -0,0 +1,66 @@
+#
+# 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.
+#
+
+GENDIR=gen
+GEN_INCLUDEDIR=$(GENDIR)/include
+GEN_SRCDIR=$(GENDIR)/src
+GEN_TARGETDIR=$(GENDIR)/ebin
+
+INCLUDEDIR=include
+TARGETDIR=ebin
+SRCDIR=src
+
+ALL_INCLUDEDIR=$(GEN_INCLUDEDIR) $(INCLUDEDIR) ../../lib/erl/include
+INCLUDEFLAGS=$(patsubst %,-I%, ${ALL_INCLUDEDIR})
+
+MODULES = stress_server test_server test_disklog test_membuffer
+
+INCLUDES =
+TARGETS = $(patsubst %,${TARGETDIR}/%.beam,${MODULES})
+HEADERS = $(patsubst %,${INCLUDEDIR}/%.hrl,${INCLUDES})
+
+all: ${GEN_TARGETDIR}/ ${TARGETS}
+
+TEST_RPCFILE = ../ThriftTest.thrift
+STRESS_RPCFILE = ../StressTest.thrift
+THRIFT = ../../compiler/cpp/thrift
+
+${GENDIR}/: ${RPCFILE}
+ rm -rf ${GENDIR}
+ ${THRIFT} --gen erl ${TEST_RPCFILE}
+ ${THRIFT} --gen erl ${STRESS_RPCFILE}
+ mkdir -p ${GEN_INCLUDEDIR}
+ mkdir -p ${GEN_SRCDIR}
+ mkdir -p ${GEN_TARGETDIR}
+ mv -t ${GEN_INCLUDEDIR} gen-erl/*.hrl
+ mv -t ${GEN_SRCDIR} gen-erl/*.erl
+ rm -rf gen-erl
+
+${GEN_TARGETDIR}/: ${GENDIR}/
+ rm -rf ${GEN_TARGETDIR}
+ mkdir -p ${GEN_TARGETDIR}
+ erlc ${INCLUDEFLAGS} -o ${GEN_TARGETDIR} ${GEN_SRCDIR}/*.erl
+
+$(TARGETS): ${TARGETDIR}/%.beam: ${SRCDIR}/%.erl ${GEN_INCLUDEDIR}/ ${HEADERS}
+ mkdir -p ${TARGETDIR}
+ erlc ${INCLUDEFLAGS} -o ${TARGETDIR} $<
+
+clean:
+ rm -f ${TARGETDIR}/*.beam
+ rm -rf ${GENDIR}