blob: aef5840f57ab973dbf1d451feb6ee36efbdbb38e [file] [log] [blame]
Max-Gerd Retzlaff04057ac2022-08-23 17:38:34 +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.
18
19setup-local-lisp-env: ../../lib/cl/ensure-externals.sh
20 bash ../../lib/cl/ensure-externals.sh
21
22gen-cl: $(top_srcdir)/tutorial/tutorial.thrift
23 $(THRIFT) --gen cl -r $<
24
25ALL_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)
39 $(SBCL) --script make-tutorial-server.lisp
40 $(SBCL) --script make-tutorial-client.lisp
41
42tutorialserver: all
43 ./TutorialServer
44
45tutorialclient: all
46 ./TutorialClient
47
48clean-local:
49 -$(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
59
Thomas63f04582024-03-21 22:51:07 +090060distdir:
61 $(MAKE) $(AM_MAKEFLAGS) distdir-am
62
Max-Gerd Retzlaff04057ac2022-08-23 17:38:34 +020063EXTRA_DIST = \
64 tutorial-implementation.lisp \
65 shared-implementation.lisp \
66 thrift-tutorial.asd \
67 make-tutorial-server.lisp \
68 make-tutorial-client.lisp \
69 load-locally.lisp