summaryrefslogtreecommitdiff
path: root/Examples/chicken/egg/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/chicken/egg/Makefile')
-rw-r--r--Examples/chicken/egg/Makefile39
1 files changed, 39 insertions, 0 deletions
diff --git a/Examples/chicken/egg/Makefile b/Examples/chicken/egg/Makefile
new file mode 100644
index 0000000..bdf71b1
--- /dev/null
+++ b/Examples/chicken/egg/Makefile
@@ -0,0 +1,39 @@
+SWIG = ../../../preinst-swig
+
+all: single multi
+
+# This creates an egg which contains only the single module. Any additional implementation files
+# that implement the interface being wrapped should also be added to this egg
+single: single_wrap.cxx
+ mkdir -p eggs
+ tar czf eggs/single.egg single.setup single.scm single_wrap.cxx
+ rm -f single.scm single_wrap.cxx
+
+# complie the single module with -nounit
+single_wrap.cxx: single.i
+ $(SWIG) -chicken -c++ -proxy -nounit single.i
+
+# Now build both mod1 and mod2 into a single egg
+multi: mod1_wrap.cxx mod2_wrap.cxx
+ mkdir -p eggs
+ tar czf eggs/multi.egg multi.setup multi_init.scm mod1.scm mod1_wrap.cxx mod2.scm mod2_wrap.cxx
+ rm -f mod1.scm mod1_wrap.cxx mod2.scm mod2_wrap.cxx
+
+mod1_wrap.cxx: mod1.i
+ $(SWIG) -chicken -c++ -proxy mod1.i
+
+mod2_wrap.cxx: mod2.i
+ $(SWIG) -chicken -c++ -proxy mod2.i
+
+clean:
+ rm -rf eggs
+
+# this part is for testing...
+setup:
+ cd eggs && \
+ mkdir -p install && \
+ chicken-setup -repository `pwd`/install single.egg && \
+ chicken-setup -repository `pwd`/install multi.egg
+
+check:
+ cd eggs/install && csi ../../test.scm