thrift/compiler/cpp/Makefile.am
2009-03-30 21:35:00 +00:00

137 lines
4.2 KiB
Makefile

#
# 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.
#
AM_YFLAGS = -d
BUILT_SOURCES =
bin_PROGRAMS = thrift
thrift_OBJDIR = obj
thrift_SOURCES = src/thrifty.yy \
src/thriftl.ll \
src/main.cc \
src/md5.c \
src/generate/t_generator.cc \
src/globals.h \
src/main.h \
src/platform.h \
src/md5.h \
src/parse/t_doc.h \
src/parse/t_type.h \
src/parse/t_base_type.h \
src/parse/t_enum.h \
src/parse/t_enum_value.h \
src/parse/t_typedef.h \
src/parse/t_container.h \
src/parse/t_list.h \
src/parse/t_set.h \
src/parse/t_map.h \
src/parse/t_struct.h \
src/parse/t_field.h \
src/parse/t_service.h \
src/parse/t_function.h \
src/parse/t_program.h \
src/parse/t_scope.h \
src/parse/t_const.h \
src/parse/t_const_value.h \
src/generate/t_generator.h \
src/generate/t_oop_generator.h
if THRIFT_GEN_cpp
thrift_SOURCES += src/generate/t_cpp_generator.cc
endif
if THRIFT_GEN_java
thrift_SOURCES += src/generate/t_java_generator.cc
endif
if THRIFT_GEN_csharp
thrift_SOURCES += src/generate/t_csharp_generator.cc
endif
if THRIFT_GEN_py
thrift_SOURCES += src/generate/t_py_generator.cc
endif
if THRIFT_GEN_rb
thrift_SOURCES += src/generate/t_rb_generator.cc
endif
if THRIFT_GEN_perl
thrift_SOURCES += src/generate/t_perl_generator.cc
endif
if THRIFT_GEN_php
thrift_SOURCES += src/generate/t_php_generator.cc
endif
if THRIFT_GEN_erl
thrift_SOURCES += src/generate/t_erl_generator.cc
endif
if THRIFT_GEN_cocoa
thrift_SOURCES += src/generate/t_cocoa_generator.cc
endif
if THRIFT_GEN_st
thrift_SOURCES += src/generate/t_st_generator.cc
endif
if THRIFT_GEN_ocaml
thrift_SOURCES += src/generate/t_ocaml_generator.cc
endif
if THRIFT_GEN_hs
thrift_SOURCES += src/generate/t_hs_generator.cc
endif
if THRIFT_GEN_xsd
thrift_SOURCES += src/generate/t_xsd_generator.cc
endif
if THRIFT_GEN_html
thrift_SOURCES += src/generate/t_html_generator.cc
endif
thrift_CXXFLAGS = -Wall -I$(srcdir)/src $(BOOST_CPPFLAGS)
thrift_LDFLAGS = -Wall $(BOOST_LDFLAGS)
thrift_LDADD = @LEXLIB@
EXTRA_DIST = README
clean-local:
$(RM) thriftl.cc thrifty.cc thrifty.h version.h
src/main.cc: version.h
# Adding this to BUILT_SOURCES will cause version.h to be
# regenerated on every "make all" or "make check", which is
# necessary because it changes whenever we "svn up" or similar.
# Ideally, we would like this to be regenerated whenever the
# compiler is rebuilt, but every way we could think of to do
# that caused unnecessary rebuilds of the compiler.
BUILT_SOURCES += regen_version_h
THRIFT_VERSION=$(shell /bin/sh $(top_srcdir)/print_version.sh -v)
THRIFT_REVISION=$(shell /bin/sh $(top_srcdir)/print_version.sh -r)
regen_version_h:
@printf "Regenerating version.h... "
@TMPFILE=`mktemp ./version_h.tmp_XXXXXX` ; \
echo "// AUTOGENERATED, DO NOT EDIT" > $$TMPFILE ; \
echo '#define THRIFT_VERSION "$(THRIFT_VERSION)"' >> $$TMPFILE ; \
echo '#define THRIFT_REVISION "$(THRIFT_REVISION)"' >> $$TMPFILE ; \
if cmp $$TMPFILE version.h >/dev/null ; \
then \
rm -f $$TMPFILE ; \
echo "No changes." ; \
else \
mv $$TMPFILE version.h ; \
echo "Updated." ; \
fi