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
20THRIFT = $(top_builddir)/compiler/cpp/thrift
21
22gen-rs/tutorial.rs gen-rs/shared.rs: $(top_srcdir)/tutorial/tutorial.thrift
23	$(THRIFT) -out src --gen rs -r $<
24
25all-local: gen-rs/tutorial.rs
26	$(CARGO) build
27	$(CARGO) fmt --all -- --check
28	$(CARGO) clippy --all -- -D warnings
29	[ -d bin ] || mkdir bin
30	cp target/debug/tutorial_server bin/tutorial_server
31	cp target/debug/tutorial_client bin/tutorial_client
32
33check: all
34
35tutorialserver: all
36	bin/tutorial_server
37
38tutorialclient: all
39	bin/tutorial_client
40
41clean-local:
42	$(CARGO) clean
43	-$(RM) Cargo.lock
44	-$(RM) src/shared.rs
45	-$(RM) src/tutorial.rs
46	-$(RM) -r bin
47
48EXTRA_DIST = \
49	Cargo.toml \
50	src/lib.rs \
51	src/bin/tutorial_server.rs \
52	src/bin/tutorial_client.rs \
53	README.md
54
55