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
20BUILT_SOURCES = gen-dart/tutorial/lib/tutorial.dart gen-dart/shared/lib/shared.dart
21
22gen-dart/tutorial/lib/tutorial.dart gen-dart/shared/lib/shared.dart: $(top_srcdir)/tutorial/tutorial.thrift
23	$(THRIFT) --gen dart -r $<
24
25all-local: gen-dart/tutorial/lib/tutorial.dart pub-get
26
27clean-local:
28	$(RM) -r gen-*/
29	find . -type d -name ".dart_tool" | xargs $(RM) -r
30	find . -type d -name "packages" | xargs $(RM) -r
31	find . -type f -name ".packages" | xargs $(RM)
32	find . -type f -name "pubspec.lock" | xargs $(RM)
33
34dist-hook:
35	$(RM) -r $(distdir)/gen-*/
36	find $(distdir) -type d -name ".dart_tool" | xargs $(RM) -r
37	find $(distdir) -type d -name "packages" | xargs $(RM) -r
38	find $(distdir) -type f -name ".packages" | xargs $(RM)
39	find $(distdir) -type f -name "pubspec.lock" | xargs $(RM)
40
41pub-get: pub-get-gen pub-get-client pub-get-console-client pub-get-server
42
43pub-get-gen: pub-get-tutorial pub-get-shared
44
45pub-get-tutorial: gen-dart/tutorial/lib/tutorial.dart
46	cd gen-dart/tutorial; ${DARTPUB} get
47
48pub-get-shared: gen-dart/shared/lib/shared.dart
49	cd gen-dart/shared; ${DARTPUB} get
50
51pub-get-client:
52	cd client; ${DARTPUB} get
53
54pub-get-console-client:
55	cd console_client; ${DARTPUB} get
56
57pub-get-server:
58	cd server; ${DARTPUB} get
59
60tutorialserver: pub-get-gen pub-get-server
61	${DART} server/bin/main.dart
62
63tutorialclient: pub-get-gen pub-get-client
64	cd client; ${DARTPUB} serve
65
66tutorialconsoleclient: pub-get-console-client
67	${DART} console_client/bin/main.dart
68
69EXTRA_DIST = \
70	client/web/client.dart \
71	client/web/index.html \
72	client/web/styles.css \
73	client/pubspec.yaml \
74	console_client/bin/main.dart \
75	console_client/pubspec.yaml \
76	server/bin/main.dart \
77	server/pubspec.yaml \
78	build.sh
79