blob: f1c808ed6d56cb8305e104ea0cf0bbdb5ff202be [file] [log] [blame]
David Reissea2cba82009-03-30 21:35:00 +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
Nobuaki Sukegawabd165302016-01-19 11:10:07 +090020SUBDIRS = features
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090021PRECROSS_TARGET =
David Reiss9ff3b9d2008-02-15 01:10:23 +000022
Roger Meierb3c84092014-09-01 21:53:40 +020023if WITH_C_GLIB
24SUBDIRS += c_glib
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090025PRECROSS_TARGET += precross-c_glib
Roger Meierb3c84092014-09-01 21:53:40 +020026endif
27
Tomek Kurcze93a9012017-09-19 09:16:43 +020028if WITH_CL
29SUBDIRS += cl
30PRECROSS_TARGET += precross-cl
31endif
32
Roger Meierd3b9dca2011-06-24 14:01:10 +000033if WITH_CPP
34SUBDIRS += cpp
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090035PRECROSS_TARGET += precross-cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +000036endif
37
Roger Meier0580d8d2012-01-10 22:11:36 +000038if WITH_PERL
39SUBDIRS += perl
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090040PRECROSS_TARGET += precross-perl
Roger Meier0580d8d2012-01-10 22:11:36 +000041endif
42
Roger Meierb33967b2012-01-21 09:18:05 +000043if WITH_PHP
44SUBDIRS += php
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090045PRECROSS_TARGET += precross-php
Roger Meierb33967b2012-01-21 09:18:05 +000046endif
47
Mark Erickson932c4702015-08-29 10:46:51 -050048if WITH_DART
49SUBDIRS += dart
50PRECROSS_TARGET += precross-dart
51endif
52
David Reiss82c1bab2008-06-11 01:16:53 +000053if WITH_PYTHON
David Reiss1a140912008-06-11 01:16:37 +000054SUBDIRS += py
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090055PRECROSS_TARGET += precross-py
Chris Piro20c81ad2013-03-07 11:32:48 -050056SUBDIRS += py.tornado
Nobuaki Sukegawabf9fa902016-09-04 18:49:21 +090057if WITH_TWISTED_TEST
58SUBDIRS += py.twisted
59endif
David Reiss1a140912008-06-11 01:16:37 +000060endif
61
David Reiss8d07e1d2008-07-11 08:04:12 +000062if WITH_RUBY
Kevin Clark4bd89162008-07-08 00:47:49 +000063SUBDIRS += rb
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090064PRECROSS_TARGET += precross-rb
Kevin Clark4bd89162008-07-08 00:47:49 +000065endif
66
Bryan Duxburyc6574472010-10-06 00:12:33 +000067if WITH_HASKELL
68SUBDIRS += hs
69endif
David Reiss48141bf2009-03-18 23:59:56 +000070
Jens Geyerbd52f1a2014-07-28 01:25:30 +020071if WITH_HAXE
72SUBDIRS += haxe
73endif
74
Jens Geyeraa0c8b32019-01-28 23:27:45 +010075if WITH_DOTNET
Jens Geyeraa0c8b32019-01-28 23:27:45 +010076SUBDIRS += netstd
Volodymyr Gotrab587a122016-09-14 19:18:48 -050077endif
78
Jens Geyerf4598682014-05-08 23:18:44 +020079if WITH_GO
80SUBDIRS += go
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090081PRECROSS_TARGET += precross-go
Jens Geyerf4598682014-05-08 23:18:44 +020082endif
83
alisdair sullivan06d0fa02014-08-05 19:54:57 -070084if WITH_ERLANG
85SUBDIRS += erl
Nobuaki Sukegawa826ea992015-10-28 22:19:45 +090086PRECROSS_TARGET += precross-erl
alisdair sullivan06d0fa02014-08-05 19:54:57 -070087endif
88
Nobuaki Sukegawad094e792016-02-01 21:47:49 +090089if WITH_LUA
90SUBDIRS += lua
91PRECROSS_TARGET += precross-lua
92endif
93
Allen George8b96bfb2016-11-02 08:01:08 -040094if WITH_RS
95SUBDIRS += rs
96PRECROSS_TARGET += precross-rs
97endif
98
Roger Meier99b36722012-05-03 21:21:43 +000099#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100100# generate html for ThriftTest.thrift AND validate it!
Roger Meier99b36722012-05-03 21:21:43 +0000101#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100102if WITH_NODEJS
Roger Meier99b36722012-05-03 21:21:43 +0000103check-local:
Jens Geyer79f988c2014-10-03 20:42:54 +0200104 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100105 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/index.html --verbose
106 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/ThriftTest.html --verbose
107else
108check-local:
109 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
110endif
Roger Meier99b36722012-05-03 21:21:43 +0000111
jfarrellf13e4312015-08-25 00:39:29 -0400112clean-local:
James E. King IIIb96c4382019-01-24 17:45:07 -0500113 $(RM) -r $(top_srcdir)/test/gen-html/
114 find . -type d -name "__pycache__" | xargs rm -rf
115 find . -type f -name "*.pyc" | xargs rm -f
116
117dist-hook:
118 $(RM) -r $(distdir)/gen-html/
119 find $(distdir) -type d -name "__pycache__" | xargs rm -rf
120 find $(distdir) -type f -name "*.pyc" | xargs rm -f
jfarrellf13e4312015-08-25 00:39:29 -0400121
David Reiss48141bf2009-03-18 23:59:56 +0000122EXTRA_DIST = \
jfarrellf13e4312015-08-25 00:39:29 -0400123 audit \
Jens Geyer79f988c2014-10-03 20:42:54 +0200124 c_glib \
Tomek Kurcze93a9012017-09-19 09:16:43 +0200125 cl \
Jens Geyer79f988c2014-10-03 20:42:54 +0200126 cpp \
James E. King IIIb96c4382019-01-24 17:45:07 -0500127 crossrunner \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900128 dart \
Jens Geyer79f988c2014-10-03 20:42:54 +0200129 erl \
130 hs \
James E. King IIIb96c4382019-01-24 17:45:07 -0500131 keys \
Jens Geyer79f988c2014-10-03 20:42:54 +0200132 lua \
133 ocaml \
134 perl \
135 php \
136 py \
Jens Geyer79f988c2014-10-03 20:42:54 +0200137 py.tornado \
James E. King IIIb96c4382019-01-24 17:45:07 -0500138 py.twisted \
Jens Geyer79f988c2014-10-03 20:42:54 +0200139 rb \
Allen George8b96bfb2016-11-02 08:01:08 -0400140 rs \
Jens Geyer79f988c2014-10-03 20:42:54 +0200141 threads \
142 AnnotationTest.thrift \
143 BrokenConstants.thrift \
144 ConstantsDemo.thrift \
145 DebugProtoTest.thrift \
146 DenseLinkingTest.thrift \
147 DocTest.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500148 DoubleConstantsTest.thrift \
149 EnumContainersTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400150 EnumTest.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900151 FullCamelTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200152 Include.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500153 Int64Test.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200154 JavaBeansTest.thrift \
Ewan Higgsb3745ee2019-09-20 17:15:04 +0200155 JavaBinaryDefault.thrift \
Deniss Afonin3311a9b2017-04-18 19:27:49 +0300156 JavaDeepCopyTest.thrift \
BCG7ab125a2016-10-31 23:32:18 -0400157 JavaTypes.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400158 JsDeepConstructorTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200159 ManyOptionals.thrift \
160 ManyTypedefs.thrift \
161 NameConflictTest.thrift \
162 OptionalRequiredTest.thrift \
163 Recursive.thrift \
164 ReuseObjects.thrift \
165 SmallTest.thrift \
166 StressTest.thrift \
167 ThriftTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400168 TypedefTest.thrift \
Ben Podgursky50bfc562018-04-16 23:21:46 -0700169 UnsafeTypes.thrift \
Zezeng Wang371d92f2020-04-28 14:23:15 +0800170 SpecificNameTest.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900171 known_failures_Linux.json \
172 test.py \
173 tests.json \
Nobuaki Sukegawa73d16372016-03-19 23:32:11 +0900174 rebuild_known_failures.sh \
Nobuaki Sukegawabd165302016-01-19 11:10:07 +0900175 result.js \
176 index.html \
jfarrellf13e4312015-08-25 00:39:29 -0400177 README.md \
178 valgrind.suppress
Roger Meier41ad4342015-03-24 22:30:40 +0100179
180precross-%:
181 $(MAKE) -C $* precross
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +0900182precross: $(PRECROSS_TARGET)