blob: d428086bd70d541274ae4032da86e11e58f4bd89 [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
Roger Meierd3b9dca2011-06-24 14:01:10 +000028if WITH_CPP
29SUBDIRS += cpp
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090030PRECROSS_TARGET += precross-cpp
Roger Meierd3b9dca2011-06-24 14:01:10 +000031endif
32
Roger Meier0580d8d2012-01-10 22:11:36 +000033if WITH_PERL
34SUBDIRS += perl
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090035PRECROSS_TARGET += precross-perl
Roger Meier0580d8d2012-01-10 22:11:36 +000036endif
37
Roger Meierb33967b2012-01-21 09:18:05 +000038if WITH_PHP
39SUBDIRS += php
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090040PRECROSS_TARGET += precross-php
Roger Meierb33967b2012-01-21 09:18:05 +000041endif
42
Mark Erickson932c4702015-08-29 10:46:51 -050043if WITH_DART
44SUBDIRS += dart
45PRECROSS_TARGET += precross-dart
46endif
47
David Reiss82c1bab2008-06-11 01:16:53 +000048if WITH_PYTHON
David Reiss1a140912008-06-11 01:16:37 +000049SUBDIRS += py
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090050PRECROSS_TARGET += precross-py
Chris Piro20c81ad2013-03-07 11:32:48 -050051SUBDIRS += py.tornado
Nobuaki Sukegawabf9fa902016-09-04 18:49:21 +090052if WITH_TWISTED_TEST
53SUBDIRS += py.twisted
54endif
David Reiss1a140912008-06-11 01:16:37 +000055endif
56
David Reiss8d07e1d2008-07-11 08:04:12 +000057if WITH_RUBY
Kevin Clark4bd89162008-07-08 00:47:49 +000058SUBDIRS += rb
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090059PRECROSS_TARGET += precross-rb
Kevin Clark4bd89162008-07-08 00:47:49 +000060endif
61
Jens Geyerbd52f1a2014-07-28 01:25:30 +020062if WITH_HAXE
63SUBDIRS += haxe
64endif
65
Jens Geyeraa0c8b32019-01-28 23:27:45 +010066if WITH_DOTNET
Jens Geyeraa0c8b32019-01-28 23:27:45 +010067SUBDIRS += netstd
Volodymyr Gotrab587a122016-09-14 19:18:48 -050068endif
69
Jens Geyerf4598682014-05-08 23:18:44 +020070if WITH_GO
71SUBDIRS += go
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +090072PRECROSS_TARGET += precross-go
Jens Geyerf4598682014-05-08 23:18:44 +020073endif
74
alisdair sullivan06d0fa02014-08-05 19:54:57 -070075if WITH_ERLANG
76SUBDIRS += erl
Nobuaki Sukegawa826ea992015-10-28 22:19:45 +090077PRECROSS_TARGET += precross-erl
alisdair sullivan06d0fa02014-08-05 19:54:57 -070078endif
79
Nobuaki Sukegawad094e792016-02-01 21:47:49 +090080if WITH_LUA
81SUBDIRS += lua
82PRECROSS_TARGET += precross-lua
83endif
84
Allen George8b96bfb2016-11-02 08:01:08 -040085if WITH_RS
86SUBDIRS += rs
87PRECROSS_TARGET += precross-rs
88endif
89
Roger Meier99b36722012-05-03 21:21:43 +000090#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +010091# generate html for ThriftTest.thrift AND validate it!
Roger Meier99b36722012-05-03 21:21:43 +000092#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +010093if WITH_NODEJS
Roger Meier99b36722012-05-03 21:21:43 +000094check-local:
Jens Geyer79f988c2014-10-03 20:42:54 +020095 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
Sebastian Zenker2ec93c82019-01-31 02:14:27 +010096 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/index.html --verbose
97 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/ThriftTest.html --verbose
98else
99check-local:
100 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
101endif
Roger Meier99b36722012-05-03 21:21:43 +0000102
jfarrellf13e4312015-08-25 00:39:29 -0400103clean-local:
James E. King IIIb96c4382019-01-24 17:45:07 -0500104 $(RM) -r $(top_srcdir)/test/gen-html/
105 find . -type d -name "__pycache__" | xargs rm -rf
106 find . -type f -name "*.pyc" | xargs rm -f
107
108dist-hook:
109 $(RM) -r $(distdir)/gen-html/
110 find $(distdir) -type d -name "__pycache__" | xargs rm -rf
111 find $(distdir) -type f -name "*.pyc" | xargs rm -f
jfarrellf13e4312015-08-25 00:39:29 -0400112
David Reiss48141bf2009-03-18 23:59:56 +0000113EXTRA_DIST = \
jfarrellf13e4312015-08-25 00:39:29 -0400114 audit \
Jens Geyer79f988c2014-10-03 20:42:54 +0200115 c_glib \
116 cpp \
James E. King IIIb96c4382019-01-24 17:45:07 -0500117 crossrunner \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900118 dart \
Jens Geyer79f988c2014-10-03 20:42:54 +0200119 erl \
James E. King IIIb96c4382019-01-24 17:45:07 -0500120 keys \
Jens Geyer79f988c2014-10-03 20:42:54 +0200121 lua \
122 ocaml \
123 perl \
124 php \
125 py \
Jens Geyer79f988c2014-10-03 20:42:54 +0200126 py.tornado \
James E. King IIIb96c4382019-01-24 17:45:07 -0500127 py.twisted \
Jens Geyer79f988c2014-10-03 20:42:54 +0200128 rb \
Allen George8b96bfb2016-11-02 08:01:08 -0400129 rs \
Jens Geyer79f988c2014-10-03 20:42:54 +0200130 threads \
Jens Geyera10d4012022-02-02 22:57:46 +0100131 partial \
Jens Geyer79f988c2014-10-03 20:42:54 +0200132 AnnotationTest.thrift \
133 BrokenConstants.thrift \
134 ConstantsDemo.thrift \
135 DebugProtoTest.thrift \
136 DenseLinkingTest.thrift \
137 DocTest.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500138 DoubleConstantsTest.thrift \
139 EnumContainersTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400140 EnumTest.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900141 FullCamelTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200142 Include.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100143 Identifiers.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500144 Int64Test.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400145 JsDeepConstructorTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200146 ManyOptionals.thrift \
147 ManyTypedefs.thrift \
148 NameConflictTest.thrift \
149 OptionalRequiredTest.thrift \
150 Recursive.thrift \
151 ReuseObjects.thrift \
152 SmallTest.thrift \
153 StressTest.thrift \
154 ThriftTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400155 TypedefTest.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100156 Types.thrift \
Ben Podgursky50bfc562018-04-16 23:21:46 -0700157 UnsafeTypes.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100158 Service.thrift \
Zezeng Wang371d92f2020-04-28 14:23:15 +0800159 SpecificNameTest.thrift \
Alex Kormukhinc9b7bd72022-02-18 21:04:14 +0300160 VoidMethExceptionsTest.thrift \
Yuxuan 'fishy' Wangc4f2ba12022-01-26 11:21:47 -0800161 partial/thrift_test_schema.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900162 known_failures_Linux.json \
163 test.py \
164 tests.json \
Nobuaki Sukegawa73d16372016-03-19 23:32:11 +0900165 rebuild_known_failures.sh \
Nobuaki Sukegawabd165302016-01-19 11:10:07 +0900166 result.js \
167 index.html \
jfarrellf13e4312015-08-25 00:39:29 -0400168 README.md \
169 valgrind.suppress
Roger Meier41ad4342015-03-24 22:30:40 +0100170
171precross-%:
172 $(MAKE) -C $* precross
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +0900173precross: $(PRECROSS_TARGET)