blob: f6b867cf1380676450cb36505f5b06c4e39e31ce [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
Nobuaki Sukegawa88c5ee72016-09-04 18:49:18 +090033if WITH_MONO
34SUBDIRS += csharp
35PRECROSS_TARGET += precross-csharp
36endif
37
Roger Meierd3b9dca2011-06-24 14:01:10 +000038if WITH_CPP
39SUBDIRS += cpp
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090040PRECROSS_TARGET += precross-cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +000041endif
42
Roger Meier0580d8d2012-01-10 22:11:36 +000043if WITH_PERL
44SUBDIRS += perl
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090045PRECROSS_TARGET += precross-perl
Roger Meier0580d8d2012-01-10 22:11:36 +000046endif
47
Roger Meierb33967b2012-01-21 09:18:05 +000048if WITH_PHP
49SUBDIRS += php
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090050PRECROSS_TARGET += precross-php
Roger Meierb33967b2012-01-21 09:18:05 +000051endif
52
Mark Erickson932c4702015-08-29 10:46:51 -050053if WITH_DART
54SUBDIRS += dart
55PRECROSS_TARGET += precross-dart
56endif
57
David Reiss82c1bab2008-06-11 01:16:53 +000058if WITH_PYTHON
David Reiss1a140912008-06-11 01:16:37 +000059SUBDIRS += py
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090060PRECROSS_TARGET += precross-py
Chris Piro20c81ad2013-03-07 11:32:48 -050061SUBDIRS += py.tornado
Nobuaki Sukegawabf9fa902016-09-04 18:49:21 +090062if WITH_TWISTED_TEST
63SUBDIRS += py.twisted
64endif
David Reiss1a140912008-06-11 01:16:37 +000065endif
66
David Reiss8d07e1d2008-07-11 08:04:12 +000067if WITH_RUBY
Kevin Clark4bd89162008-07-08 00:47:49 +000068SUBDIRS += rb
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090069PRECROSS_TARGET += precross-rb
Kevin Clark4bd89162008-07-08 00:47:49 +000070endif
71
Bryan Duxburyc6574472010-10-06 00:12:33 +000072if WITH_HASKELL
73SUBDIRS += hs
74endif
David Reiss48141bf2009-03-18 23:59:56 +000075
Jens Geyerbd52f1a2014-07-28 01:25:30 +020076if WITH_HAXE
77SUBDIRS += haxe
78endif
79
Jens Geyeraa0c8b32019-01-28 23:27:45 +010080if WITH_DOTNET
Volodymyr Gotrab587a122016-09-14 19:18:48 -050081SUBDIRS += netcore
Jens Geyeraa0c8b32019-01-28 23:27:45 +010082SUBDIRS += netstd
Volodymyr Gotrab587a122016-09-14 19:18:48 -050083endif
84
Jens Geyerf4598682014-05-08 23:18:44 +020085if WITH_GO
86SUBDIRS += go
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090087PRECROSS_TARGET += precross-go
Jens Geyerf4598682014-05-08 23:18:44 +020088endif
89
alisdair sullivan06d0fa02014-08-05 19:54:57 -070090if WITH_ERLANG
91SUBDIRS += erl
Nobuaki Sukegawa826ea992015-10-28 22:19:45 +090092PRECROSS_TARGET += precross-erl
alisdair sullivan06d0fa02014-08-05 19:54:57 -070093endif
94
Nobuaki Sukegawad094e792016-02-01 21:47:49 +090095if WITH_LUA
96SUBDIRS += lua
97PRECROSS_TARGET += precross-lua
98endif
99
Allen George8b96bfb2016-11-02 08:01:08 -0400100if WITH_RS
101SUBDIRS += rs
102PRECROSS_TARGET += precross-rs
103endif
104
Roger Meier99b36722012-05-03 21:21:43 +0000105#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100106# generate html for ThriftTest.thrift AND validate it!
Roger Meier99b36722012-05-03 21:21:43 +0000107#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100108if WITH_NODEJS
Roger Meier99b36722012-05-03 21:21:43 +0000109check-local:
Jens Geyer79f988c2014-10-03 20:42:54 +0200110 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100111 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/index.html --verbose
112 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/ThriftTest.html --verbose
113else
114check-local:
115 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
116endif
Roger Meier99b36722012-05-03 21:21:43 +0000117
jfarrellf13e4312015-08-25 00:39:29 -0400118clean-local:
James E. King IIIb96c4382019-01-24 17:45:07 -0500119 $(RM) -r $(top_srcdir)/test/gen-html/
120 find . -type d -name "__pycache__" | xargs rm -rf
121 find . -type f -name "*.pyc" | xargs rm -f
122
123dist-hook:
124 $(RM) -r $(distdir)/gen-html/
125 find $(distdir) -type d -name "__pycache__" | xargs rm -rf
126 find $(distdir) -type f -name "*.pyc" | xargs rm -f
jfarrellf13e4312015-08-25 00:39:29 -0400127
David Reiss48141bf2009-03-18 23:59:56 +0000128EXTRA_DIST = \
jfarrellf13e4312015-08-25 00:39:29 -0400129 audit \
Jens Geyer79f988c2014-10-03 20:42:54 +0200130 c_glib \
Tomek Kurcze93a9012017-09-19 09:16:43 +0200131 cl \
Jens Geyer79f988c2014-10-03 20:42:54 +0200132 cpp \
James E. King IIIb96c4382019-01-24 17:45:07 -0500133 crossrunner \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900134 dart \
Jens Geyer79f988c2014-10-03 20:42:54 +0200135 erl \
136 hs \
James E. King IIIb96c4382019-01-24 17:45:07 -0500137 keys \
Jens Geyer79f988c2014-10-03 20:42:54 +0200138 lua \
139 ocaml \
140 perl \
141 php \
142 py \
Jens Geyer79f988c2014-10-03 20:42:54 +0200143 py.tornado \
James E. King IIIb96c4382019-01-24 17:45:07 -0500144 py.twisted \
Jens Geyer79f988c2014-10-03 20:42:54 +0200145 rb \
Allen George8b96bfb2016-11-02 08:01:08 -0400146 rs \
Jens Geyer79f988c2014-10-03 20:42:54 +0200147 threads \
148 AnnotationTest.thrift \
149 BrokenConstants.thrift \
150 ConstantsDemo.thrift \
151 DebugProtoTest.thrift \
152 DenseLinkingTest.thrift \
153 DocTest.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500154 DoubleConstantsTest.thrift \
155 EnumContainersTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400156 EnumTest.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900157 FullCamelTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200158 Include.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500159 Int64Test.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200160 JavaBeansTest.thrift \
Deniss Afonin3311a9b2017-04-18 19:27:49 +0300161 JavaDeepCopyTest.thrift \
BCG7ab125a2016-10-31 23:32:18 -0400162 JavaTypes.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400163 JsDeepConstructorTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200164 ManyOptionals.thrift \
165 ManyTypedefs.thrift \
166 NameConflictTest.thrift \
167 OptionalRequiredTest.thrift \
168 Recursive.thrift \
169 ReuseObjects.thrift \
170 SmallTest.thrift \
171 StressTest.thrift \
172 ThriftTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400173 TypedefTest.thrift \
Ben Podgursky50bfc562018-04-16 23:21:46 -0700174 UnsafeTypes.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900175 known_failures_Linux.json \
176 test.py \
177 tests.json \
Nobuaki Sukegawa73d16372016-03-19 23:32:11 +0900178 rebuild_known_failures.sh \
Nobuaki Sukegawabd165302016-01-19 11:10:07 +0900179 result.js \
180 index.html \
jfarrellf13e4312015-08-25 00:39:29 -0400181 README.md \
182 valgrind.suppress
Roger Meier41ad4342015-03-24 22:30:40 +0100183
184precross-%:
185 $(MAKE) -C $* precross
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +0900186precross: $(PRECROSS_TARGET)