summaryrefslogtreecommitdiff
path: root/tutorial/cl/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'tutorial/cl/Makefile.am')
-rwxr-xr-xtutorial/cl/Makefile.am66
1 files changed, 66 insertions, 0 deletions
diff --git a/tutorial/cl/Makefile.am b/tutorial/cl/Makefile.am
new file mode 100755
index 000000000..70c5e0730
--- /dev/null
+++ b/tutorial/cl/Makefile.am
@@ -0,0 +1,66 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+setup-local-lisp-env: ../../lib/cl/ensure-externals.sh
+ bash ../../lib/cl/ensure-externals.sh
+
+gen-cl: $(top_srcdir)/tutorial/tutorial.thrift
+ $(THRIFT) --gen cl -r $<
+
+ALL_FILE_PREREQS = \
+ load-locally.lisp \
+ make-tutorial-server.lisp \
+ make-tutorial-client.lisp \
+ shared-implementation.lisp \
+ thrift-tutorial.asd \
+ tutorial-implementation.lisp
+
+# NOTE: the server and client cannot be built in parallel
+# because on loading the make-tutorial-* scripts SBCL will
+# attempt to compile their dependencies. Unfortunately,
+# because their dependencies are shared, parallel jobs can
+# end up overwriting or corrupting the compiled files
+all-local: gen-cl setup-local-lisp-env $(ALL_FILE_PREREQS)
+ $(SBCL) --script make-tutorial-server.lisp
+ $(SBCL) --script make-tutorial-client.lisp
+
+tutorialserver: all
+ ./TutorialServer
+
+tutorialclient: all
+ ./TutorialClient
+
+clean-local:
+ -$(RM) -r gen-*
+ -$(RM) -r externals
+ -$(RM) -r quicklisp
+ -$(RM) -r lib
+ -$(RM) quicklisp.lisp
+ -$(RM) backport-update.zip
+ -$(RM) shared-implementation.fasl
+ -$(RM) tutorial-implementation.fasl
+ -$(RM) TutorialServer
+ -$(RM) TutorialClient
+
+EXTRA_DIST = \
+ tutorial-implementation.lisp \
+ shared-implementation.lisp \
+ thrift-tutorial.asd \
+ make-tutorial-server.lisp \
+ make-tutorial-client.lisp \
+ load-locally.lisp