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 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 60EXTRA_DIST = \ 61 tutorial-implementation.lisp \ 62 shared-implementation.lisp \ 63 thrift-tutorial.asd \ 64 make-tutorial-server.lisp \ 65 make-tutorial-client.lisp \ 66 load-locally.lisp 67