# # 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. # THRIFT = ../../compiler/cpp/thrift THRIFT_OMIT_FILE = test/Thrift_omit_without.thrift THRIFT_FILES = $(wildcard test/*.thrift) \ $(THRIFT_OMIT_FILE) \ ../../test/ConstantsDemo.thrift \ ../../test/NameConflictTest.thrift \ ../../test/DoubleConstantsTest.thrift \ ../../test/ThriftTest.thrift if ERLANG_OTP16 ERL_FLAG = erl:otp16 ERL_FLAG_LEGACY = erl:otp16,legacynames # otp16 + maps does not make sense. We need to generate it anyway to avoid include error. ERL_FLAG_MAPS = erl:otp16 else ERL_FLAG = erl ERL_FLAG_LEGACY = erl:legacynames ERL_FLAG_MAPS = erl:maps endif $(THRIFT_OMIT_FILE): test/Thrift_omit_with.thrift grep -v omit $< >$@ .generated: $(THRIFT) $(THRIFT_FILES) for f in $(THRIFT_FILES) ; do \ $(THRIFT) --gen $(ERL_FLAG) -o test $$f ; \ done $(THRIFT) --gen $(ERL_FLAG_LEGACY) -o test test/flags/LegacyNames.thrift $(THRIFT) --gen $(ERL_FLAG_MAPS) -o test test/flags/Thrift3214.thrift touch .generated all: .generated $(REBAR) compile check: .generated $(REBAR) eunit install: all mkdir -p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift) ; \ mkdir -p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)/ebin ; \ mkdir -p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)/include ; \ mkdir -p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)/src ; \ for p in ebin/*.app* ebin/*.beam include/*.hrl src/*.erl ; \ do $(INSTALL) $$p $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift)/$$p ; \ done uninstall: $(RM) -rf $(DESTDIR)$(ERLANG_INSTALL_LIB_DIR_thrift) clean-local: $(REBAR) clean $(RM) .generated $(RM) -r .rebar/ $(RM) -r _build/ $(RM) -r test/gen-erl/ $(RM) $(THRIFT_OMIT_FILE) maintainer-clean-local: $(RM) -r ebin/ dist-hook: $(RM) $(distdir)/.generated $(RM) -r $(distdir)/.rebar/ $(RM) -r $(distdir)/_build/ $(RM) -r $(distdir)/ebin/ $(RM) -r $(distdir)/test/gen-erl/ $(RM) $(distdir)/$(THRIFT_OMIT_FILE) EXTRA_DIST = \ include \ src \ coding_standards.md \ rebar.config \ rebar.config.script \ test \ README.md MAINTAINERCLEANFILES = Makefile.in