David Reiss | ea2cba8 | 2009-03-30 21:35:00 +0000 | [diff] [blame] | 1 | # |
| 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 | |
David Reiss | 832b262 | 2007-12-28 18:25:33 +0000 | [diff] [blame] | 20 | ACLOCAL_AMFLAGS = -I ./aclocal |
| 21 | |
Nobuaki Sukegawa | 11da87e | 2016-09-10 14:02:19 +0900 | [diff] [blame] | 22 | if WITH_PLUGIN |
| 23 | # To enable bootstrap, build order is lib/cpp -> compiler -> others |
| 24 | SUBDIRS = lib/cpp compiler/cpp lib |
| 25 | if WITH_TESTS |
| 26 | SUBDIRS += lib/cpp/test |
| 27 | endif |
| 28 | else |
Roger Meier | c88d581 | 2014-01-26 11:51:26 +0100 | [diff] [blame] | 29 | SUBDIRS = compiler/cpp lib |
Nobuaki Sukegawa | 11da87e | 2016-09-10 14:02:19 +0900 | [diff] [blame] | 30 | endif |
Jake Farrell | 627f1a0 | 2011-09-14 03:43:49 +0000 | [diff] [blame] | 31 | |
| 32 | if WITH_TESTS |
| 33 | SUBDIRS += test |
| 34 | endif |
David Reiss | e211393 | 2009-03-26 08:47:07 +0000 | [diff] [blame] | 35 | |
Roger Meier | c88d581 | 2014-01-26 11:51:26 +0100 | [diff] [blame] | 36 | if WITH_TUTORIAL |
jfarrell | 102c600 | 2013-08-15 21:20:19 -0400 | [diff] [blame] | 37 | SUBDIRS += tutorial |
Roger Meier | c88d581 | 2014-01-26 11:51:26 +0100 | [diff] [blame] | 38 | endif |
jfarrell | 102c600 | 2013-08-15 21:20:19 -0400 | [diff] [blame] | 39 | |
David Reiss | e211393 | 2009-03-26 08:47:07 +0000 | [diff] [blame] | 40 | dist-hook: |
Jens Geyer | 79f988c | 2014-10-03 20:42:54 +0200 | [diff] [blame] | 41 | find $(distdir) -type f \( -iname ".DS_Store" -or -iname "._*" -or -iname ".gitignore" \) | xargs rm -rf |
| 42 | find $(distdir) -type d \( -iname ".deps" -or -iname ".libs" \) | xargs rm -rf |
| 43 | find $(distdir) -type d \( -iname ".svn" -or -iname ".git" \) | xargs rm -rf |
David Reiss | e211393 | 2009-03-26 08:47:07 +0000 | [diff] [blame] | 44 | |
Roger Meier | 2287278 | 2010-10-22 11:20:25 +0000 | [diff] [blame] | 45 | print-version: |
James E. King, III | 0ad20bd | 2017-09-30 15:44:16 -0700 | [diff] [blame] | 46 | @echo $(PACKAGE_VERSION) |
Roger Meier | 2287278 | 2010-10-22 11:20:25 +0000 | [diff] [blame] | 47 | |
Nobuaki Sukegawa | f5b795d | 2015-03-29 14:48:48 +0900 | [diff] [blame] | 48 | .PHONY: precross cross |
Roger Meier | 41ad434 | 2015-03-24 22:30:40 +0100 | [diff] [blame] | 49 | precross-%: all |
| 50 | $(MAKE) -C $* precross |
| 51 | precross: all precross-test precross-lib |
Roger Meier | 7e10329 | 2014-02-22 18:13:03 +0100 | [diff] [blame] | 52 | |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 53 | empty := |
| 54 | space := $(empty) $(empty) |
| 55 | comma := , |
| 56 | |
wilfrem | 2c69b5a | 2015-04-20 19:24:50 +0900 | [diff] [blame] | 57 | CROSS_LANGS = @MAYBE_CPP@ @MAYBE_C_GLIB@ @MAYBE_CL@ @MAYBE_D@ @MAYBE_JAVA@ @MAYBE_CSHARP@ @MAYBE_PYTHON@ @MAYBE_PY3@ @MAYBE_RUBY@ @MAYBE_HASKELL@ @MAYBE_PERL@ @MAYBE_PHP@ @MAYBE_GO@ @MAYBE_NODEJS@ @MAYBE_DART@ @MAYBE_ERLANG@ @MAYBE_LUA@ @MAYBE_RS@ @MAYBE_DOTNETCORE@ @MAYBE_NODETS@ |
Nobuaki Sukegawa | 03f0e18 | 2015-05-09 18:33:42 +0900 | [diff] [blame] | 58 | CROSS_LANGS_COMMA_SEPARATED = $(subst $(space),$(comma),$(CROSS_LANGS)) |
| 59 | |
Nobuaki Sukegawa | ffc2bb3 | 2016-01-12 19:20:05 +0900 | [diff] [blame] | 60 | if WITH_PY3 |
| 61 | CROSS_PY=$(PYTHON3) |
| 62 | else |
| 63 | CROSS_PY=$(PYTHON) |
| 64 | endif |
| 65 | |
Nobuaki Sukegawa | bd16530 | 2016-01-19 11:10:07 +0900 | [diff] [blame] | 66 | if WITH_PYTHON |
Nobuaki Sukegawa | 2c64bdd | 2016-09-04 15:33:40 +0900 | [diff] [blame] | 67 | crossfeature: precross |
James E. King III | 714c77c | 2018-03-20 19:58:38 -0400 | [diff] [blame] | 68 | $(CROSS_PY) test/test.py --retry-count 5 --features .* --skip-known-failures --server $(CROSS_LANGS_COMMA_SEPARATED) |
Nobuaki Sukegawa | bd16530 | 2016-01-19 11:10:07 +0900 | [diff] [blame] | 69 | else |
| 70 | # feature test needs python build |
Nobuaki Sukegawa | 2c64bdd | 2016-09-04 15:33:40 +0900 | [diff] [blame] | 71 | crossfeature: |
Nobuaki Sukegawa | bd16530 | 2016-01-19 11:10:07 +0900 | [diff] [blame] | 72 | endif |
Roger Meier | bb23ead | 2015-04-11 13:12:35 +0200 | [diff] [blame] | 73 | |
Nobuaki Sukegawa | 2c64bdd | 2016-09-04 15:33:40 +0900 | [diff] [blame] | 74 | cross-%: precross crossfeature |
James E. King III | 714c77c | 2018-03-20 19:58:38 -0400 | [diff] [blame] | 75 | $(CROSS_PY) test/test.py --retry-count 5 --skip-known-failures --server $(CROSS_LANGS_COMMA_SEPARATED) --client $(CROSS_LANGS_COMMA_SEPARATED) --regex "$*" |
Nobuaki Sukegawa | 2c64bdd | 2016-09-04 15:33:40 +0900 | [diff] [blame] | 76 | |
| 77 | cross: cross-.* |
| 78 | |
Nobuaki Sukegawa | 147a5a2 | 2015-04-11 23:01:40 +0900 | [diff] [blame] | 79 | TIMES = 1 2 3 |
Roger Meier | bb23ead | 2015-04-11 13:12:35 +0200 | [diff] [blame] | 80 | fail: precross |
Nobuaki Sukegawa | ffc2bb3 | 2016-01-12 19:20:05 +0900 | [diff] [blame] | 81 | $(CROSS_PY) test/test.py || true |
| 82 | $(CROSS_PY) test/test.py --update-expected-failures=overwrite |
Nobuaki Sukegawa | 147a5a2 | 2015-04-11 23:01:40 +0900 | [diff] [blame] | 83 | $(foreach var,$(TIMES),test/test.py -s || true;test/test.py --update-expected-failures=merge;) |
Roger Meier | 41ad434 | 2015-03-24 22:30:40 +0100 | [diff] [blame] | 84 | |
Konrad Grochowski | 05fb842 | 2014-11-24 11:16:54 +0100 | [diff] [blame] | 85 | codespell_skip_files = \ |
Konrad Grochowski | 40b2b64 | 2014-12-09 15:26:39 +0100 | [diff] [blame] | 86 | *.jar \ |
| 87 | *.class \ |
| 88 | *.so \ |
Konrad Grochowski | 05fb842 | 2014-11-24 11:16:54 +0100 | [diff] [blame] | 89 | *.a \ |
| 90 | *.la \ |
| 91 | *.o \ |
| 92 | *.p12 \ |
| 93 | *OCamlMakefile \ |
| 94 | .keystore \ |
| 95 | .truststore \ |
| 96 | CHANGES \ |
| 97 | config.sub \ |
| 98 | configure \ |
| 99 | depcomp \ |
| 100 | libtool.m4 \ |
| 101 | output.* \ |
| 102 | rebar \ |
| 103 | thrift |
| 104 | |
Konrad Grochowski | 05fb842 | 2014-11-24 11:16:54 +0100 | [diff] [blame] | 105 | skipped_files = $(subst $(space),$(comma),$(codespell_skip_files)) |
| 106 | |
| 107 | style-local: |
| 108 | codespell --write-changes --skip=$(skipped_files) --disable-colors |
| 109 | |
Jake Farrell | e0c5316 | 2011-11-16 12:58:36 +0000 | [diff] [blame] | 110 | EXTRA_DIST = \ |
jfarrell | f13e431 | 2015-08-25 00:39:29 -0400 | [diff] [blame] | 111 | .clang-format \ |
| 112 | .editorconfig \ |
Jens Geyer | 79f988c | 2014-10-03 20:42:54 +0200 | [diff] [blame] | 113 | .travis.yml \ |
Jens Geyer | f3a2974 | 2017-11-30 22:30:03 +0100 | [diff] [blame] | 114 | .rustfmt.toml \ |
| 115 | .dockerignore \ |
jfarrell | f13e431 | 2015-08-25 00:39:29 -0400 | [diff] [blame] | 116 | appveyor.yml \ |
Jens Geyer | 79f988c | 2014-10-03 20:42:54 +0200 | [diff] [blame] | 117 | bower.json \ |
jfarrell | f13e431 | 2015-08-25 00:39:29 -0400 | [diff] [blame] | 118 | build \ |
Jens Geyer | f3a2974 | 2017-11-30 22:30:03 +0100 | [diff] [blame] | 119 | bootstrap.sh \ |
| 120 | cleanup.sh \ |
jfarrell | f13e431 | 2015-08-25 00:39:29 -0400 | [diff] [blame] | 121 | CMakeLists.txt \ |
Jens Geyer | 79f988c | 2014-10-03 20:42:54 +0200 | [diff] [blame] | 122 | composer.json \ |
| 123 | contrib \ |
Roger Meier | a199a16 | 2015-04-30 18:19:06 +0200 | [diff] [blame] | 124 | CONTRIBUTING.md \ |
Jens Geyer | 79f988c | 2014-10-03 20:42:54 +0200 | [diff] [blame] | 125 | debian \ |
| 126 | doc \ |
| 127 | doap.rdf \ |
Roger Meier | 281bdae | 2015-02-03 21:45:28 +0100 | [diff] [blame] | 128 | package.json \ |
Jens Geyer | 79f988c | 2014-10-03 20:42:54 +0200 | [diff] [blame] | 129 | sonar-project.properties \ |
James E. King, III | 0ad20bd | 2017-09-30 15:44:16 -0700 | [diff] [blame] | 130 | LANGUAGES.md \ |
Jens Geyer | 79f988c | 2014-10-03 20:42:54 +0200 | [diff] [blame] | 131 | LICENSE \ |
| 132 | CHANGES \ |
| 133 | NOTICE \ |
Nobuaki Sukegawa | 73d1637 | 2016-03-19 23:32:11 +0900 | [diff] [blame] | 134 | README.md \ |
| 135 | Thrift.podspec |