--- /dev/null
+# Makefile to produce supercollider plugins with Faust:
+# 'foo.dsp' -> 'foo.so|scx' and 'foo.sc'
+# These two files (scsynth plugin and sclang extension), can be copied to
+# $HOME/share/SuperCollider/Extensions (Linux) or
+# $HOME/Library/Application Support/SuperCollider/Extensions (Mac OS X)
+#
+# The shell script <faust>/tools/faust2appls/faust2supercollider
+# needs to be installed somewhere in the user's search path.
+
+system := $(shell uname -s)
+ifeq ($(system), Darwin)
+EXT := scx
+else
+EXT := so
+endif
+
+dspsrc := $(wildcard *.dsp)
+libsrc := $(wildcard *.lib)
+incsrc := $(wildcard *.h)
+allsrc := $(dspsrc) $(libsrc) $(incsrc)
+
+ifeq ($(DEST),)
+ DEST := ./supercolliderdir
+endif
+
+F2SC = faust2supercollider -sd
+
+### allocate a unique directory for staging
+TMP := $(shell mktemp -d -t F2SC.XXXXXX)
+### --------------------------------------------
+
+# NOTE: Some source files need others, so best to copy all together:
+all : $(allsrc) $(DEST) $(TMP)
+ cp -i $(allsrc) $(TMP) || echo "Cannot copy temp source to $(TMP)"
+ (cd $(TMP); for i in $(dspsrc); do $(F2SC) $$i; done)
+ mv $(TMP)/*.sc $(TMP)/*.$(EXT) $(DEST)
+ rm -rf $(TMP)
+
+$(DEST):
+ mkdir -p $(DEST)
+
+$(TMP):
+ mkdir -p $(TMP)