blob: 2d15b08eb8f58b2a3734378c25b4aa54f2b7503e [file] [log] [blame]
Tomek Kurcze93a9012017-09-19 09:16:43 +02001#
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.
Allen George54e95872018-11-30 15:06:44 -050018
Mario Emmenlauerb72b6742020-11-19 10:49:33 +010019setup-local-lisp-env: ../../lib/cl/ensure-externals.sh
20 bash ../../lib/cl/ensure-externals.sh
Tomek Kurcze93a9012017-09-19 09:16:43 +020021
22gen-cl: $(top_srcdir)/tutorial/tutorial.thrift
23 $(THRIFT) --gen cl -r $<
24
Allen George54e95872018-11-30 15:06:44 -050025ALL_FILE_PREREQS = \
26 load-locally.lisp \
27 make-tutorial-server.lisp \
28 make-tutorial-client.lisp \
29 shared-implementation.lisp \
30 thrift-tutorial.asd \
31 tutorial-implementation.lisp
32
33# NOTE: the server and client cannot be built in parallel
34# because on loading the make-tutorial-* scripts SBCL will
35# attempt to compile their dependencies. Unfortunately,
36# because their dependencies are shared, parallel jobs can
37# end up overwriting or corrupting the compiled files
38all-local: gen-cl setup-local-lisp-env $(ALL_FILE_PREREQS)
Tomek Kurcze93a9012017-09-19 09:16:43 +020039 $(SBCL) --script make-tutorial-server.lisp
Tomek Kurcze93a9012017-09-19 09:16:43 +020040 $(SBCL) --script make-tutorial-client.lisp
41
Tomek Kurcze93a9012017-09-19 09:16:43 +020042tutorialserver: all
43 ./TutorialServer
44
45tutorialclient: all
46 ./TutorialClient
47
48clean-local:
Allen George54e95872018-11-30 15:06:44 -050049 -$(RM) -r gen-*
50 -$(RM) -r externals
51 -$(RM) -r quicklisp
52 -$(RM) -r lib
53 -$(RM) quicklisp.lisp
54 -$(RM) backport-update.zip
55 -$(RM) shared-implementation.fasl
56 -$(RM) tutorial-implementation.fasl
57 -$(RM) TutorialServer
58 -$(RM) TutorialClient
Tomek Kurcze93a9012017-09-19 09:16:43 +020059
60EXTRA_DIST = \
61 tutorial-implementation.lisp \
62 shared-implementation.lisp \
63 thrift-tutorial.asd \
64 make-tutorial-server.lisp \
65 make-tutorial-client.lisp