# # 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_client 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 ${ERLC_FLAGS} ${INCLUDEFLAGS} -o ${GEN_TARGETDIR} ${GEN_SRCDIR}/*.erl $(TARGETS): ${TARGETDIR}/%.beam: ${SRCDIR}/%.erl ${GEN_INCLUDEDIR}/ ${HEADERS} mkdir -p ${TARGETDIR} erlc ${ERLC_FLAGS} ${INCLUDEFLAGS} -o ${TARGETDIR} $< clean: rm -f ${TARGETDIR}/*.beam rm -rf ${GENDIR}