blob: df117763b225b1f4a7b61067f5bf17ca829c4a9a [file] [log] [blame]
Bryan Duxbury7173bd92010-05-02 22:54:22 +00001#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19
Anthony F. Molinaro917d8982011-06-21 06:20:18 +000020THRIFT = ../../compiler/cpp/thrift
alisdair sullivan06d0fa02014-08-05 19:54:57 -070021THRIFT_FILES = $(wildcard test/*.thrift) \
Nobuaki Sukegawa826ea992015-10-28 22:19:45 +090022 ../../test/NameConflictTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +020023 ../../test/ThriftTest.thrift
Anthony F. Molinaro917d8982011-06-21 06:20:18 +000024
Jens Geyer57ac33e2015-07-28 23:12:10 +020025if ERLANG_OTP16
Nobuaki Sukegawa826ea992015-10-28 22:19:45 +090026ERL_FLAG = erl:otp16
27ERL_FLAG_LEGACY = erl:otp16,legacynames
28# otp16 + maps does not make sense. We need to generate it anyway to avoid include error.
29ERL_FLAG_MAPS = erl:otp16
Jens Geyer57ac33e2015-07-28 23:12:10 +020030else
Nobuaki Sukegawa826ea992015-10-28 22:19:45 +090031ERL_FLAG = erl
32ERL_FLAG_LEGACY = erl:legacynames
33ERL_FLAG_MAPS = erl:maps
34endif
Jens Geyer57ac33e2015-07-28 23:12:10 +020035.generated: $(THRIFT) $(THRIFT_FILES)
36 for f in $(THRIFT_FILES) ; do \
Nobuaki Sukegawa826ea992015-10-28 22:19:45 +090037 $(THRIFT) --gen $(ERL_FLAG) -o test $$f ; \
38 done
39 $(THRIFT) --gen $(ERL_FLAG_LEGACY) -o test test/flags/LegacyNames.thrift
40 $(THRIFT) --gen $(ERL_FLAG_MAPS) -o test test/flags/Thrift3214.thrift
Jens Geyer79f988c2014-10-03 20:42:54 +020041 touch .generated
Anthony F. Molinaro917d8982011-06-21 06:20:18 +000042
43all: .generated
Roger Meierc7b30862015-11-14 10:08:33 +010044 $(REBAR) get-deps
45 $(REBAR) compile
Anthony F. Molinaro917d8982011-06-21 06:20:18 +000046
47check: .generated
Roger Meierc7b30862015-11-14 10:08:33 +010048 $(REBAR) -C rebar.test.config get-deps
49 $(REBAR) -C rebar.test.config compile
50 $(REBAR) -C rebar.test.config skip_deps=true eunit
Bryan Duxbury7173bd92010-05-02 22:54:22 +000051
Bryan Duxbury7173bd92010-05-02 22:54:22 +000052install: all
Jens Geyer79f988c2014-10-03 20:42:54 +020053 mkdir -p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift) ; \
54 mkdir -p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)/ebin ; \
55 mkdir -p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)/include ; \
56 mkdir -p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)/src ; \
57 for p in ebin/*.app* ebin/*.beam include/*.hrl src/*.erl ; \
58 do $(INSTALL) $$p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)/$$p ; \
59 done
Bryan Duxbury7173bd92010-05-02 22:54:22 +000060
61uninstall:
Jens Geyer79f988c2014-10-03 20:42:54 +020062 rm -rf $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)
Bryan Duxbury7173bd92010-05-02 22:54:22 +000063
Anthony F. Molinaro917d8982011-06-21 06:20:18 +000064clean:
Jens Geyer79f988c2014-10-03 20:42:54 +020065 rm -f .generated
66 rm -rf test/gen-erl/
Roger Meierc7b30862015-11-14 10:08:33 +010067 $(REBAR) clean
Anthony F. Molinaroa6530672011-09-18 04:57:50 +000068
69maintainer-clean-local:
Jens Geyer79f988c2014-10-03 20:42:54 +020070 rm -rf ebin
Bryan Duxbury7173bd92010-05-02 22:54:22 +000071
jfarrell8fd8c632014-07-10 09:14:51 -040072EXTRA_DIST = \
Jens Geyer79f988c2014-10-03 20:42:54 +020073 include \
74 src \
jfarrellf13e4312015-08-25 00:39:29 -040075 coding_standards.md \
Jens Geyer79f988c2014-10-03 20:42:54 +020076 rebar.config \
77 test \
78 README.md
David Reiss653eada2010-10-05 02:38:58 +000079
Bryan Duxbury7173bd92010-05-02 22:54:22 +000080MAINTAINERCLEANFILES = Makefile.in