blob: 15e2f1bcc89e659d0216a061c7a305a20b39199f [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
Jens Geyerbd52f1a2014-07-28 01:25:30 +020067if WITH_HAXE
68SUBDIRS += haxe
69endif
70
Jens Geyeraa0c8b32019-01-28 23:27:45 +010071if WITH_DOTNET
Jens Geyeraa0c8b32019-01-28 23:27:45 +010072SUBDIRS += netstd
Volodymyr Gotrab587a122016-09-14 19:18:48 -050073endif
74
Jens Geyerf4598682014-05-08 23:18:44 +020075if WITH_GO
76SUBDIRS += go
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090077PRECROSS_TARGET += precross-go
Jens Geyerf4598682014-05-08 23:18:44 +020078endif
79
alisdair sullivan06d0fa02014-08-05 19:54:57 -070080if WITH_ERLANG
81SUBDIRS += erl
Nobuaki Sukegawa826ea992015-10-28 22:19:45 +090082PRECROSS_TARGET += precross-erl
alisdair sullivan06d0fa02014-08-05 19:54:57 -070083endif
84
Nobuaki Sukegawad094e792016-02-01 21:47:49 +090085if WITH_LUA
86SUBDIRS += lua
87PRECROSS_TARGET += precross-lua
88endif
89
Allen George8b96bfb2016-11-02 08:01:08 -040090if WITH_RS
91SUBDIRS += rs
92PRECROSS_TARGET += precross-rs
93endif
94
Roger Meier99b36722012-05-03 21:21:43 +000095#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +010096# generate html for ThriftTest.thrift AND validate it!
Roger Meier99b36722012-05-03 21:21:43 +000097#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +010098if WITH_NODEJS
Roger Meier99b36722012-05-03 21:21:43 +000099check-local:
Jens Geyer79f988c2014-10-03 20:42:54 +0200100 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100101 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/index.html --verbose
102 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/ThriftTest.html --verbose
103else
104check-local:
105 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
106endif
Roger Meier99b36722012-05-03 21:21:43 +0000107
jfarrellf13e4312015-08-25 00:39:29 -0400108clean-local:
James E. King IIIb96c4382019-01-24 17:45:07 -0500109 $(RM) -r $(top_srcdir)/test/gen-html/
110 find . -type d -name "__pycache__" | xargs rm -rf
111 find . -type f -name "*.pyc" | xargs rm -f
112
113dist-hook:
114 $(RM) -r $(distdir)/gen-html/
115 find $(distdir) -type d -name "__pycache__" | xargs rm -rf
116 find $(distdir) -type f -name "*.pyc" | xargs rm -f
jfarrellf13e4312015-08-25 00:39:29 -0400117
David Reiss48141bf2009-03-18 23:59:56 +0000118EXTRA_DIST = \
jfarrellf13e4312015-08-25 00:39:29 -0400119 audit \
Jens Geyer79f988c2014-10-03 20:42:54 +0200120 c_glib \
Tomek Kurcze93a9012017-09-19 09:16:43 +0200121 cl \
Jens Geyer79f988c2014-10-03 20:42:54 +0200122 cpp \
James E. King IIIb96c4382019-01-24 17:45:07 -0500123 crossrunner \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900124 dart \
Jens Geyer79f988c2014-10-03 20:42:54 +0200125 erl \
James E. King IIIb96c4382019-01-24 17:45:07 -0500126 keys \
Jens Geyer79f988c2014-10-03 20:42:54 +0200127 lua \
128 ocaml \
129 perl \
130 php \
131 py \
Jens Geyer79f988c2014-10-03 20:42:54 +0200132 py.tornado \
James E. King IIIb96c4382019-01-24 17:45:07 -0500133 py.twisted \
Jens Geyer79f988c2014-10-03 20:42:54 +0200134 rb \
Allen George8b96bfb2016-11-02 08:01:08 -0400135 rs \
Jens Geyer79f988c2014-10-03 20:42:54 +0200136 threads \
137 AnnotationTest.thrift \
138 BrokenConstants.thrift \
139 ConstantsDemo.thrift \
140 DebugProtoTest.thrift \
141 DenseLinkingTest.thrift \
142 DocTest.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500143 DoubleConstantsTest.thrift \
144 EnumContainersTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400145 EnumTest.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900146 FullCamelTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200147 Include.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100148 Identifiers.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500149 Int64Test.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200150 JavaBeansTest.thrift \
Ewan Higgsb3745ee2019-09-20 17:15:04 +0200151 JavaBinaryDefault.thrift \
Deniss Afonin3311a9b2017-04-18 19:27:49 +0300152 JavaDeepCopyTest.thrift \
BCG7ab125a2016-10-31 23:32:18 -0400153 JavaTypes.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400154 JsDeepConstructorTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200155 ManyOptionals.thrift \
156 ManyTypedefs.thrift \
157 NameConflictTest.thrift \
158 OptionalRequiredTest.thrift \
159 Recursive.thrift \
160 ReuseObjects.thrift \
161 SmallTest.thrift \
162 StressTest.thrift \
163 ThriftTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400164 TypedefTest.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100165 Types.thrift \
Ben Podgursky50bfc562018-04-16 23:21:46 -0700166 UnsafeTypes.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100167 Service.thrift \
Zezeng Wang371d92f2020-04-28 14:23:15 +0800168 SpecificNameTest.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900169 known_failures_Linux.json \
170 test.py \
171 tests.json \
Nobuaki Sukegawa73d16372016-03-19 23:32:11 +0900172 rebuild_known_failures.sh \
Nobuaki Sukegawabd165302016-01-19 11:10:07 +0900173 result.js \
174 index.html \
jfarrellf13e4312015-08-25 00:39:29 -0400175 README.md \
176 valgrind.suppress
Roger Meier41ad4342015-03-24 22:30:40 +0100177
178precross-%:
179 $(MAKE) -C $* precross
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +0900180precross: $(PRECROSS_TARGET)