summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile66
1 files changed, 66 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c60caae
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,66 @@
+CFLAGS = $(CPPFLAGS)
+
+#
+# Set up namespace for clink.mk
+#
+
+CLK = CFOO_
+
+#
+# Set up input variables for clink.mk
+#
+
+CFOO_SOURCE_LS := full
+CFOO_TARGET_DIR := new/
+CFOO_MODULES := binding
+CFOO_OBJECTS := call-out.o
+CFOO_PRELOAD := call-in
+CFOO_LOAD := main
+
+#
+# all target should be the first one so make with no arguments
+# does "make all"
+#
+
+.PHONY all:
+
+all:
+
+#
+# bring in the magic!
+#
+
+include clink.mk
+
+#
+# a clean target which includes the output variable produces by
+# clink.mk, which expands to all of the targets and intermediate
+# files produced by the rules therein.
+#
+
+clean:
+ $(RM) $(CFOO_CLEAN) call-out.o
+
+#
+# Phony target all depends on the Lisp executable and memory
+# image, forcing them to be updated.
+#
+
+all: new/$(CFOO_LISPRUN) new/lispinit.mem
+
+#
+# Compiling the extra object files is outside of the responsibility
+# of clink.mk, but clink.mk does take care of Lisp -> FAS compiling
+# of all of the files mentioned in $(CLK)MODULES, $(CLK)PRELOAD and
+# $(CLK)LOAD.
+#
+
+call-out.o: call-out.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+#
+# A kind of test: after all the rules are read, if we switch the
+# namespace, it should not screw up any of the rule bodies.
+#
+
+CLK = BAR_