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