blob: bc0cd63341280f2dc247982641bce09e7a418eb2 [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
Max-Gerd Retzlaff04057ac2022-08-23 17:38:34 +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
Kino Roya9da9eb2022-10-07 23:13:01 -070095if WITH_SWIFT
96SUBDIRS += swift
97PRECROSS_TARGET += precross-swift
98endif
99
Roger Meier99b36722012-05-03 21:21:43 +0000100#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100101# generate html for ThriftTest.thrift AND validate it!
Roger Meier99b36722012-05-03 21:21:43 +0000102#
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100103if WITH_NODEJS
Roger Meier99b36722012-05-03 21:21:43 +0000104check-local:
Jens Geyer79f988c2014-10-03 20:42:54 +0200105 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
Sebastian Zenker2ec93c82019-01-31 02:14:27 +0100106 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/index.html --verbose
107 $(top_builddir)/node_modules/.bin/html-validator --file=gen-html/ThriftTest.html --verbose
108else
109check-local:
110 $(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/test/ThriftTest.thrift
111endif
Roger Meier99b36722012-05-03 21:21:43 +0000112
jfarrellf13e4312015-08-25 00:39:29 -0400113clean-local:
James E. King IIIb96c4382019-01-24 17:45:07 -0500114 $(RM) -r $(top_srcdir)/test/gen-html/
115 find . -type d -name "__pycache__" | xargs rm -rf
116 find . -type f -name "*.pyc" | xargs rm -f
117
118dist-hook:
119 $(RM) -r $(distdir)/gen-html/
120 find $(distdir) -type d -name "__pycache__" | xargs rm -rf
121 find $(distdir) -type f -name "*.pyc" | xargs rm -f
jfarrellf13e4312015-08-25 00:39:29 -0400122
Thomas63f04582024-03-21 22:51:07 +0900123distdir:
124 $(MAKE) $(AM_MAKEFLAGS) distdir-am
125
David Reiss48141bf2009-03-18 23:59:56 +0000126EXTRA_DIST = \
jfarrellf13e4312015-08-25 00:39:29 -0400127 audit \
Jens Geyer79f988c2014-10-03 20:42:54 +0200128 c_glib \
Max-Gerd Retzlaff04057ac2022-08-23 17:38:34 +0200129 cl \
Jens Geyer79f988c2014-10-03 20:42:54 +0200130 cpp \
James E. King IIIb96c4382019-01-24 17:45:07 -0500131 crossrunner \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900132 dart \
Jens Geyer79f988c2014-10-03 20:42:54 +0200133 erl \
James E. King IIIb96c4382019-01-24 17:45:07 -0500134 keys \
Jens Geyer79f988c2014-10-03 20:42:54 +0200135 lua \
136 ocaml \
137 perl \
138 php \
139 py \
Jens Geyer79f988c2014-10-03 20:42:54 +0200140 py.tornado \
James E. King IIIb96c4382019-01-24 17:45:07 -0500141 py.twisted \
Jens Geyer79f988c2014-10-03 20:42:54 +0200142 rb \
Allen George8b96bfb2016-11-02 08:01:08 -0400143 rs \
Kino Roya9da9eb2022-10-07 23:13:01 -0700144 swift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200145 threads \
Jens Geyera10d4012022-02-02 22:57:46 +0100146 partial \
Jens Geyer79f988c2014-10-03 20:42:54 +0200147 AnnotationTest.thrift \
148 BrokenConstants.thrift \
149 ConstantsDemo.thrift \
Jens Geyer0d0ac752024-03-12 21:49:28 +0100150 v0.16/ConstantsDemo.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200151 DebugProtoTest.thrift \
Jens Geyerf066d842022-06-13 23:37:25 +0200152 v0.16/DebugProtoTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200153 DenseLinkingTest.thrift \
154 DocTest.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500155 DoubleConstantsTest.thrift \
156 EnumContainersTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400157 EnumTest.thrift \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900158 FullCamelTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200159 Include.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100160 Identifiers.thrift \
James E. King IIIb96c4382019-01-24 17:45:07 -0500161 Int64Test.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400162 JsDeepConstructorTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200163 ManyOptionals.thrift \
164 ManyTypedefs.thrift \
165 NameConflictTest.thrift \
Jens Geyer0d0ac752024-03-12 21:49:28 +0100166 v0.16/NameConflictTest.thrift \
Jens Geyer79f988c2014-10-03 20:42:54 +0200167 OptionalRequiredTest.thrift \
168 Recursive.thrift \
169 ReuseObjects.thrift \
170 SmallTest.thrift \
171 StressTest.thrift \
172 ThriftTest.thrift \
Jens Geyerf066d842022-06-13 23:37:25 +0200173 v0.16/ThriftTest.thrift \
jfarrellf13e4312015-08-25 00:39:29 -0400174 TypedefTest.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100175 Types.thrift \
Ben Podgursky50bfc562018-04-16 23:21:46 -0700176 UnsafeTypes.thrift \
Jens Geyer2ef01132021-02-04 22:41:50 +0100177 Service.thrift \
Zezeng Wang371d92f2020-04-28 14:23:15 +0800178 SpecificNameTest.thrift \
Alex Kormukhinc9b7bd72022-02-18 21:04:14 +0300179 VoidMethExceptionsTest.thrift \
Yuxuan 'fishy' Wangc4f2ba12022-01-26 11:21:47 -0800180 partial/thrift_test_schema.thrift \
Jens Geyer4d493e82022-08-31 22:08:03 +0200181 keys/keygen/.gitignore \
Nobuaki Sukegawae134cbc2016-03-18 15:13:36 +0900182 known_failures_Linux.json \
183 test.py \
184 tests.json \
Nobuaki Sukegawa73d16372016-03-19 23:32:11 +0900185 rebuild_known_failures.sh \
Nobuaki Sukegawabd165302016-01-19 11:10:07 +0900186 result.js \
187 index.html \
jfarrellf13e4312015-08-25 00:39:29 -0400188 README.md \
189 valgrind.suppress
Roger Meier41ad4342015-03-24 22:30:40 +0100190
191precross-%:
192 $(MAKE) -C $* precross
Nobuaki Sukegawa03f0e182015-05-09 18:33:42 +0900193precross: $(PRECROSS_TARGET)