blob: 8bffb6270b88259cccb0056aa531e44459afbf3f [file] [log] [blame]
David Reissc0cce962008-06-10 22:58:58 +00001GENDIR=gen
2GEN_INCLUDEDIR=$(GENDIR)/include
3GEN_SRCDIR=$(GENDIR)/src
4GEN_TARGETDIR=$(GENDIR)/ebin
5
6INCLUDEDIR=include
7TARGETDIR=ebin
8SRCDIR=src
9
10ALL_INCLUDEDIR=$(GEN_INCLUDEDIR) $(INCLUDEDIR) ../../lib/erl/include
11INCLUDEFLAGS=$(patsubst %,-I%, ${ALL_INCLUDEDIR})
12
13MODULES = test_server
14
15INCLUDES =
16TARGETS = $(patsubst %,${TARGETDIR}/%.beam,${MODULES})
17HEADERS = $(patsubst %,${INCLUDEDIR}/%.hrl,${INCLUDES})
18
19all: ${GEN_TARGETDIR}/ ${TARGETS}
20
21RPCFILE = ../ThriftTest.thrift
22THRIFT = ../../compiler/cpp/thrift
23
24${GENDIR}/: ${RPCFILE}
25 rm -rf ${GENDIR}
26 ${THRIFT} -alterl ${RPCFILE}
27 mkdir -p ${GEN_INCLUDEDIR}
28 mkdir -p ${GEN_SRCDIR}
29 mkdir -p ${GEN_TARGETDIR}
30 mv -t ${GEN_INCLUDEDIR} gen-erl/*.hrl
31 mv -t ${GEN_SRCDIR} gen-erl/*.erl
32 rm -rf gen-erl
33
34${GEN_TARGETDIR}/: ${GENDIR}/
35 rm -rf ${GEN_TARGETDIR}
36 mkdir -p ${GEN_TARGETDIR}
37 erlc ${INCLUDEFLAGS} -o ${GEN_TARGETDIR} ${GEN_SRCDIR}/*.erl
38
39$(TARGETS): ${TARGETDIR}/%.beam: ${SRCDIR}/%.erl ${GEN_INCLUDEDIR}/ ${HEADERS}
40 erlc ${INCLUDEFLAGS} -o ${TARGETDIR} $<
41
42clean:
43 rm -f ${TARGETDIR}/*.beam
44 rm -rf ${GENDIR}