aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--externals/grill/flext/build.bat (renamed from externals/grill/flext/buildext.bat)82
-rw-r--r--externals/grill/flext/build.sh (renamed from externals/grill/flext/buildext.sh)5
-rw-r--r--externals/grill/flext/build/bmake.mak78
-rw-r--r--externals/grill/flext/build/config-lnx.def7
-rw-r--r--externals/grill/flext/build/config-win.def7
-rw-r--r--externals/grill/flext/build/gnumake.mak89
-rw-r--r--externals/grill/flext/build/makefile-win-bcc.inc13
-rw-r--r--externals/grill/flext/build/makefile-win-cygwin.inc13
-rw-r--r--externals/grill/flext/build/makefile-win-mingw.inc13
-rw-r--r--externals/grill/flext/build/makefile-win-msvc.inc13
-rw-r--r--externals/grill/flext/build/nmake.mak79
-rw-r--r--externals/grill/flext/buildsys/bmake-flext.inc90
-rw-r--r--externals/grill/flext/buildsys/bmake-sub.mak (renamed from externals/grill/flext/build/bmake-sub.mak)53
-rw-r--r--externals/grill/flext/buildsys/bmake.mak141
-rw-r--r--externals/grill/flext/buildsys/build-bcc.bat (renamed from externals/grill/flext/build/build-bcc.bat)6
-rw-r--r--externals/grill/flext/buildsys/build-cygwin.sh (renamed from externals/grill/flext/build/build-cygwin.sh)6
-rw-r--r--externals/grill/flext/buildsys/build-gcc.sh (renamed from externals/grill/flext/build/build-gcc.sh)0
-rw-r--r--externals/grill/flext/buildsys/build-mingw.bat (renamed from externals/grill/flext/build/build-mingw.bat)6
-rw-r--r--externals/grill/flext/buildsys/build-msvc.bat (renamed from externals/grill/flext/build/build-msvc.bat)6
-rw-r--r--externals/grill/flext/buildsys/gnumake-flext.inc89
-rw-r--r--externals/grill/flext/buildsys/gnumake-sub.mak (renamed from externals/grill/flext/build/gnumake-sub.mak)5
-rw-r--r--externals/grill/flext/buildsys/gnumake.mak150
-rw-r--r--externals/grill/flext/buildsys/lnx/make-gcc.inc68
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/config-gcc.def15
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/make-gcc.inc10
-rw-r--r--externals/grill/flext/buildsys/mac/make-gcc.inc68
-rw-r--r--externals/grill/flext/buildsys/mac/pd/config-gcc.def18
-rw-r--r--externals/grill/flext/buildsys/mac/pd/make-gcc.inc10
-rw-r--r--externals/grill/flext/buildsys/nmake-flext.inc88
-rw-r--r--externals/grill/flext/buildsys/nmake-sub.mak (renamed from externals/grill/flext/build/nmake-sub.mak)51
-rw-r--r--externals/grill/flext/buildsys/nmake.mak142
-rw-r--r--externals/grill/flext/buildsys/win/make-bcc.inc128
-rw-r--r--externals/grill/flext/buildsys/win/make-cygwin.inc92
-rw-r--r--externals/grill/flext/buildsys/win/make-mingw.inc93
-rw-r--r--externals/grill/flext/buildsys/win/make-msvc.inc103
-rw-r--r--externals/grill/flext/buildsys/win/max/config-mingw.def17
-rw-r--r--externals/grill/flext/buildsys/win/max/config-msvc.def17
-rw-r--r--externals/grill/flext/buildsys/win/max/make-mingw.inc10
-rw-r--r--externals/grill/flext/buildsys/win/max/make-msvc.inc10
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-bcc.def19
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-cygwin.def15
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-mingw.def15
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-msvc.def19
-rw-r--r--externals/grill/flext/buildsys/win/pd/make-bcc.inc8
-rw-r--r--externals/grill/flext/buildsys/win/pd/make-cygwin.inc11
-rw-r--r--externals/grill/flext/buildsys/win/pd/make-mingw.inc9
-rw-r--r--externals/grill/flext/buildsys/win/pd/make-msvc.inc9
-rw-r--r--externals/grill/flext/make-inc.pd-bcc184
-rw-r--r--externals/grill/flext/makefile.pd-cygwin8
-rw-r--r--externals/grill/flext/makefile.pd-mingw23
-rw-r--r--externals/grill/flext/package.txt26
51 files changed, 1774 insertions, 463 deletions
diff --git a/externals/grill/flext/buildext.bat b/externals/grill/flext/build.bat
index 0fcd07b8..93b03ed4 100644
--- a/externals/grill/flext/buildext.bat
+++ b/externals/grill/flext/build.bat
@@ -1,41 +1,41 @@
-@set flext=%~dp0
-
-@rem Arguments:
-@rem %1 - platform (win/lnx/mac)
-@rem %2 - system (pd/max)
-@rem %3 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
-@rem %4 - target (all/all-debug/all-shared/all-shared-debug/clean/install)
-
-@set platform=%1
-@set rtsys=%2
-@set compiler=%3
-@set target=%4
-
-@rem --- The subbatch knowns which make utility to use ---
-@set subbatch=%flext%build\build-%compiler%.bat
-
-@if "%platform%"=="" goto syntax
-@if "%rtsys%"=="" goto syntax
-@if "%compiler%"=="" goto syntax
-
-@if not exist %subbatch% goto syntax
-
-@call %subpatch% %subbatch% %platform% %rtsys% %target% %5 %6 %7 %8 %9
-
-@goto end
-
-@rem -----------------------------------------
-:syntax
-
-@echo .
-@echo SYNTAX: buildext [platform] [system] [compiler] {target}
-@echo platform ... win / lnx / mac
-@echo system ... pd / max
-@echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
-@echo target ... all (default) / all-debug / all-shared / all-shared-debug /
-@echo clean / install
-@echo .
-@echo Please make sure that your make program and compiler can be accessed with the
-@echo system path and that all relevant environment variables are properly set.
-
-:end
+@set flext=%~dp0
+
+@rem Arguments:
+@rem %1 - platform (win/lnx/mac)
+@rem %2 - system (pd/max)
+@rem %3 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
+@rem %4 - target (all/all-debug/all-shared/all-shared-debug/clean/install)
+
+@set platform=%1
+@set rtsys=%2
+@set compiler=%3
+@set target=%4
+
+@rem --- The subbatch knowns which make utility to use ---
+@set subbatch=%flext%buildsys\build-%compiler%.bat
+
+@if "%platform%"=="" goto syntax
+@if "%rtsys%"=="" goto syntax
+@if "%compiler%"=="" goto syntax
+
+@if not exist %subbatch% goto syntax
+
+@call %subpatch% %subbatch% %platform% %rtsys% %target% %5 %6 %7 %8 %9
+
+@goto end
+
+@rem -----------------------------------------
+:syntax
+
+@echo .
+@echo SYNTAX: build [platform] [system] [compiler] {target}
+@echo platform ... win / lnx / mac
+@echo system ... pd / max
+@echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
+@echo target ... all (default) / all-debug / all-shared / all-shared-debug /
+@echo clean / install
+@echo .
+@echo Please make sure that your make program and compiler can be accessed with the
+@echo system path and that all relevant environment variables are properly set.
+
+:end
diff --git a/externals/grill/flext/buildext.sh b/externals/grill/flext/build.sh
index 9f5f8480..a0969965 100644
--- a/externals/grill/flext/buildext.sh
+++ b/externals/grill/flext/build.sh
@@ -1,4 +1,5 @@
flext=${0%/*}/
+if [ "$flext" = "$0"/ ]; then flext=./ ; fi
# Arguments:
# $1 - platform (win/lnx/mac)
@@ -12,7 +13,7 @@ compiler=$3
target=$4
# --- The subbatch knowns which make utility to use ---
-subbatch=${flext}build/build-${compiler}.sh
+subbatch=${flext}buildsys/build-${compiler}.sh
if
[ -n "$platform" -a -n "$rtsys" -a -n "$compiler" -a -f $subbatch ]
@@ -20,7 +21,7 @@ then
sh $subbatch $platform $rtsys $target $5 $6 $7 $8 $9
else
echo
- echo SYNTAX: buildext [platform] [system] [compiler] {target}
+ echo SYNTAX: build.sh [platform] [system] [compiler] {target}
echo platform ... win / lnx / mac
echo system ..... pd / max
echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
diff --git a/externals/grill/flext/build/bmake.mak b/externals/grill/flext/build/bmake.mak
deleted file mode 100644
index 1a3fc47d..00000000
--- a/externals/grill/flext/build/bmake.mak
+++ /dev/null
@@ -1,78 +0,0 @@
-# required settings:
-#
-# PLATFORM - win/mac/lnx
-# RTSYS - pd/max
-# COMPILER - msvc/gcc/mingw/cygwin
-# BUILDPATH including trailing \
-
-# package info
-!include build\package.txt
-
-SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def
-
-
-OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \
- PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
- BUILDPATH=$(BUILDPATH)
-
-!ifdef HAVECONFIG
-USRCONFIG=config.txt
-USRDEFAULT=build\config-$(PLATFORM).def
-OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG)
-!endif
-
-!ifdef HAVEMAKE
-USRMAKE=build\makefile-$(PLATFORM)-$(COMPILER).inc
-OPTIONS=$(OPTIONS) USRMAKE=$(USRMAKE)
-!endif
-
-
-all: config
- $(MAKE) $(OPTIONS) all
-
-all-debug: config
- $(MAKE) $(OPTIONS) DEBUG=1 $@
-
-all-shared: config
- $(MAKE) $(OPTIONS) SHARED=1 $@
-
-all-shared-debug: config
- $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 $@
-
-clean install:
- $(MAKE) $(OPTIONS) $@
-
-
-config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG)
-
-
-.precious: $(SYSCONFIG) $(USRCONFIG)
-
-$(SYSCONFIG): $(SYSDEFAULT)
- @copy $** $@
- @echo -------------------------------------------------------------------------
- @echo A default system configuration file has been created.
- @echo Please edit $(SYSCONFIG)
- @echo to match your platform and start again.
- @echo -------------------------------------------------------------------------
- @exit 1
-
-!ifdef HAVECONFIG
-$(USRCONFIG): $(USRDEFAULT)
- @copy $** $@
- @echo -------------------------------------------------------------------------
- @echo A default package configuration file has been created.
- @echo Please edit $(USRCONFIG) and start again.
- @echo -------------------------------------------------------------------------
- @exit 1
-!endif
-
-!ifdef HAVEMAKE
-$(USRMAKE):
- @echo -------------------------------------------------------------------------
- @echo Your combination of platform, system and compiler is not supported yet.
- @echo Required file: $(USRMAKE)
- @echo -------------------------------------------------------------------------
- @exit 1
-!endif
diff --git a/externals/grill/flext/build/config-lnx.def b/externals/grill/flext/build/config-lnx.def
new file mode 100644
index 00000000..d112b5a3
--- /dev/null
+++ b/externals/grill/flext/build/config-lnx.def
@@ -0,0 +1,7 @@
+# where is the STK installation?
+# (uncomment the line with # to disable STK support)
+#STK=/usr/local/lib/stk
+
+# where is the Sndobjs installation?
+# (uncomment the line with # to disable SNDOBJ support)
+#SNDOBJ=/usr/local/lib/sndobj
diff --git a/externals/grill/flext/build/config-win.def b/externals/grill/flext/build/config-win.def
new file mode 100644
index 00000000..13515818
--- /dev/null
+++ b/externals/grill/flext/build/config-win.def
@@ -0,0 +1,7 @@
+# where is the STK installation?
+# (uncomment the line with # to disable STK support)
+#STK=c:\data\prog\audio\stk
+
+# where is the Sndobjs installation?
+# (uncomment the line with # to disable SNDOBJ support)
+#SNDOBJ=c:\data\prog\audio\sndobj
diff --git a/externals/grill/flext/build/gnumake.mak b/externals/grill/flext/build/gnumake.mak
deleted file mode 100644
index 48283692..00000000
--- a/externals/grill/flext/build/gnumake.mak
+++ /dev/null
@@ -1,89 +0,0 @@
-# required settings:
-#
-# PLATFORM - win/mac/lnx
-# RTSYS - pd/max
-# COMPILER - msvc/gcc/mingw/cygwin
-# BUILDPATH including trailing /
-
-# package info
-include build/package.txt
-
-
-ifeq ($(PLATFORM),win)
- # substitute eventual \ by /
- UBUILDPATH=$(subst \,/,$(BUILDPATH))
-else
- UBUILDPATH=$(BUILDPATH)
-endif
-
-
-SYSCONFIG=$(UBUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-SYSDEFAULT=$(UBUILDPATH)$(PLATFORM)/$(RTSYS)/config-$(COMPILER).def
-
-
-OPTIONS=-f $(UBUILDPATH)gnumake-sub.mak \
- PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
- BUILDPATH=$(UBUILDPATH)
-
-
-ifdef HAVECONFIG
-USRCONFIG=config.txt
-USRDEFAULT=build/config-$(PLATFORM).def
-OPTIONS+=USRCONFIG=$(USRCONFIG)
-endif
-
-ifdef HAVEMAKE
-USRMAKE=build/makefile-$(PLATFORM)-$(COMPILER).inc
-OPTIONS+=USRMAKE=$(USRMAKE)
-endif
-
-
-all: config
- $(MAKE) $(OPTIONS) all
-
-all-debug: config
- $(MAKE) $(OPTIONS) DEBUG=1 $@
-
-all-shared: config
- $(MAKE) $(OPTIONS) SHARED=1 $@
-
-all-shared-debug: config
- $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 $@
-
-clean install:
- $(MAKE) $(OPTIONS) $@
-
-
-config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG)
-
-
-.precious: $(SYSCONFIG) $(USRCONFIG)
-
-$(SYSCONFIG): $(SYSDEFAULT)
- @cp $< $@
- @echo -------------------------------------------------------------------------
- @echo A default system configuration file has been created.
- @echo Please edit $(SYSCONFIG)
- @echo to match your platform and start again.
- @echo -------------------------------------------------------------------------
- @false
-
-ifdef HAVECONFIG
-$(USRCONFIG): $(USRDEFAULT)
- @cp $< $@
- @echo -------------------------------------------------------------------------
- @echo A default package configuration file has been created.
- @echo Please edit $(USRCONFIG) and start again.
- @echo -------------------------------------------------------------------------
- @false
-endif
-
-ifdef HAVEMAKE
-$(USRMAKE):
- @echo -------------------------------------------------------------------------
- @echo Your combination of platform, system and compiler is not supported yet.
- @echo Required file: $(USRMAKE)
- @echo -------------------------------------------------------------------------
- @false
-endif
-
diff --git a/externals/grill/flext/build/makefile-win-bcc.inc b/externals/grill/flext/build/makefile-win-bcc.inc
new file mode 100644
index 00000000..23434935
--- /dev/null
+++ b/externals/grill/flext/build/makefile-win-bcc.inc
@@ -0,0 +1,13 @@
+!ifdef SNDOBJ
+SRCS=$(SRCS) $(SRCS_SNDOBJ)
+HDRS=$(HDRS) $(HDRS_SNDOBJ)
+INCPATH=$(INCPATH) /I$(SNDOBJ)\include
+LIBS=$(LIBS) $(SNDOBJ)\lib\sndobj.lib
+!endif
+
+!ifdef STK
+SRCS=$(SRCS) $(SRCS_STK)
+HDRS=$(HDRS) $(HDRS_STK)
+INCPATH=$(INCPATH) /I$(STK)\include
+LIBS=$(LIBS) $(STK)\lib\stk.lib
+!endif
diff --git a/externals/grill/flext/build/makefile-win-cygwin.inc b/externals/grill/flext/build/makefile-win-cygwin.inc
new file mode 100644
index 00000000..a119a298
--- /dev/null
+++ b/externals/grill/flext/build/makefile-win-cygwin.inc
@@ -0,0 +1,13 @@
+ifdef SNDOBJ
+SRCS+=$(SRCS_SNDOBJ)
+HDRS+=$(HDRS_SNDOBJ)
+INCPATH+=-I$(SNDOBJ)
+LIBS+=-lsndobj
+endif
+
+ifdef STK
+SRCS+=$(SRCS_STK)
+HDRS+=$(HDRS_STK)
+INCPATH+=-I$(STK)
+LIBS+=-lstk
+endif
diff --git a/externals/grill/flext/build/makefile-win-mingw.inc b/externals/grill/flext/build/makefile-win-mingw.inc
new file mode 100644
index 00000000..a119a298
--- /dev/null
+++ b/externals/grill/flext/build/makefile-win-mingw.inc
@@ -0,0 +1,13 @@
+ifdef SNDOBJ
+SRCS+=$(SRCS_SNDOBJ)
+HDRS+=$(HDRS_SNDOBJ)
+INCPATH+=-I$(SNDOBJ)
+LIBS+=-lsndobj
+endif
+
+ifdef STK
+SRCS+=$(SRCS_STK)
+HDRS+=$(HDRS_STK)
+INCPATH+=-I$(STK)
+LIBS+=-lstk
+endif
diff --git a/externals/grill/flext/build/makefile-win-msvc.inc b/externals/grill/flext/build/makefile-win-msvc.inc
new file mode 100644
index 00000000..23434935
--- /dev/null
+++ b/externals/grill/flext/build/makefile-win-msvc.inc
@@ -0,0 +1,13 @@
+!ifdef SNDOBJ
+SRCS=$(SRCS) $(SRCS_SNDOBJ)
+HDRS=$(HDRS) $(HDRS_SNDOBJ)
+INCPATH=$(INCPATH) /I$(SNDOBJ)\include
+LIBS=$(LIBS) $(SNDOBJ)\lib\sndobj.lib
+!endif
+
+!ifdef STK
+SRCS=$(SRCS) $(SRCS_STK)
+HDRS=$(HDRS) $(HDRS_STK)
+INCPATH=$(INCPATH) /I$(STK)\include
+LIBS=$(LIBS) $(STK)\lib\stk.lib
+!endif
diff --git a/externals/grill/flext/build/nmake.mak b/externals/grill/flext/build/nmake.mak
deleted file mode 100644
index 35b3de0c..00000000
--- a/externals/grill/flext/build/nmake.mak
+++ /dev/null
@@ -1,79 +0,0 @@
-# required settings:
-#
-# PLATFORM - win/mac/lnx
-# RTSYS - pd/max
-# COMPILER - msvc/gcc/mingw/cygwin
-# BUILDPATH including trailing \
-
-# package info
-!include build\package.txt
-
-SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def
-
-
-OPTIONS=-f $(BUILDPATH)nmake-sub.mak \
- PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
- BUILDPATH=$(BUILDPATH)
-
-
-!ifdef HAVECONFIG
-USRCONFIG=config.txt
-USRDEFAULT=build\config-$(PLATFORM).def
-OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG)
-!endif
-
-!ifdef HAVEMAKE
-USRMAKE=build\makefile-$(PLATFORM)-$(COMPILER).inc
-OPTIONS=$(OPTIONS) USRMAKE=$(USRMAKE)
-!endif
-
-
-all: config
- $(MAKE) $(OPTIONS) all
-
-all-debug: config
- $(MAKE) $(OPTIONS) DEBUG=1 $@
-
-all-shared: config
- $(MAKE) $(OPTIONS) SHARED=1 $@
-
-all-shared-debug: config
- $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 $@
-
-clean install:
- $(MAKE) $(OPTIONS) $@
-
-
-config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG)
-
-
-.precious: $(SYSCONFIG) $(USRCONFIG)
-
-$(SYSCONFIG): $(SYSDEFAULT)
- @copy $** $@
- @echo -------------------------------------------------------------------------
- @echo A default system configuration file has been created.
- @echo Please edit $(SYSCONFIG)
- @echo to match your platform and start again.
- @echo -------------------------------------------------------------------------
- @exit 1
-
-!ifdef HAVECONFIG
-$(USRCONFIG): $(USRDEFAULT)
- @copy $** $@
- @echo -------------------------------------------------------------------------
- @echo A default package configuration file has been created.
- @echo Please edit $(USRCONFIG) and start again.
- @echo -------------------------------------------------------------------------
- @exit 1
-!endif
-
-!ifdef HAVEMAKE
-$(USRMAKE):
- @echo -------------------------------------------------------------------------
- @echo Your combination of platform, system and compiler is not supported yet.
- @echo Required file: $(USRMAKE)
- @echo -------------------------------------------------------------------------
- @exit 1
-!endif
diff --git a/externals/grill/flext/buildsys/bmake-flext.inc b/externals/grill/flext/buildsys/bmake-flext.inc
new file mode 100644
index 00000000..9ee6e5c4
--- /dev/null
+++ b/externals/grill/flext/buildsys/bmake-flext.inc
@@ -0,0 +1,90 @@
+##############################################
+# flext defines
+##############################################
+
+!ifdef SHARED
+# --- shared ---
+DEFS=$(DEFS) /DFLEXT_SHARED
+
+!else
+!ifdef THREADED
+# --- static multi-threaded ---
+DEFS=$(DEFS) /DFLEXT_THREADS
+
+!else
+# --- static single-threaded ---
+
+!endif
+!endif
+
+
+!ifdef FLEXTBUILD
+DEFS=$(DEFS) /DFLEXT_EXPORTS
+!endif
+
+##############################################
+# name of flext library
+##############################################
+
+!ifdef SHARED
+
+!ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_d
+!else
+FLEXTNAME=flext-$(RTSYS)
+!endif
+
+!else
+
+!ifdef THREADED
+!ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_td
+!else
+FLEXTNAME=flext-$(RTSYS)_t
+!endif
+!else
+!ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_d
+!else
+FLEXTNAME=flext-$(RTSYS)
+!endif
+!endif
+
+!endif # SHARED
+
+##############################################
+# build subdirectories
+##############################################
+
+!ifdef FLEXTBUILD
+
+!ifdef SHARED
+
+!ifdef DEBUG
+OUTSUB=dd
+!else
+OUTSUB=dr
+!endif
+
+!else # SHARED
+
+!ifdef THREADED
+!ifdef DEBUG
+OUTSUB=td
+!else
+OUTSUB=tr
+!endif
+!else
+!ifdef DEBUG
+OUTSUB=sd
+!else
+OUTSUB=sr
+!endif
+!endif
+
+!endif # SHARED
+
+!else # FLEXTBUILD
+OUTSUB=.
+!endif # FLEXTBUILD
+
diff --git a/externals/grill/flext/build/bmake-sub.mak b/externals/grill/flext/buildsys/bmake-sub.mak
index bf9fc6c5..4cd3df30 100644
--- a/externals/grill/flext/build/bmake-sub.mak
+++ b/externals/grill/flext/buildsys/bmake-sub.mak
@@ -1,25 +1,28 @@
-!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-
-###############################
-
-# these are project specific
-
-# package info
-!include build\package.txt
-
-# special package settings
-!ifdef USRCONFIG
-!include $(USRCONFIG)
-!endif
-
-# package specific make stuff
-!ifdef USRMAKE
-!include $(USRMAKE)
-!endif
-
-##############################
-
-# platform-specific make stuff
-!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\make-$(COMPILER).inc
-# general make stuff
-!include $(BUILDPATH)$(PLATFORM)\make-$(COMPILER).inc
+!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
+
+###############################
+
+# these are project specific
+
+# package info
+!include $(USRINFO)
+
+# special package settings
+!ifdef USRCONFIG
+!include $(USRCONFIG)
+!endif
+
+# package specific make stuff
+!ifdef USRMAKE
+!include $(USRMAKE)
+!endif
+
+##############################
+
+# flext-specific make stuff
+!include $(BUILDPATH)bmake-flext.inc
+
+# platform-specific make stuff
+!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\make-$(COMPILER).inc
+# general make stuff
+!include $(BUILDPATH)$(PLATFORM)\make-$(COMPILER).inc
diff --git a/externals/grill/flext/buildsys/bmake.mak b/externals/grill/flext/buildsys/bmake.mak
new file mode 100644
index 00000000..2c341029
--- /dev/null
+++ b/externals/grill/flext/buildsys/bmake.mak
@@ -0,0 +1,141 @@
+# required settings:
+#
+# PLATFORM - win/mac/lnx
+# RTSYS - pd/max
+# COMPILER - msvc/gcc/mingw/cygwin
+# BUILDPATH including trailing \
+
+# package info
+USRINFO=package.txt
+
+!include $(USRINFO)
+
+
+SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
+SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def
+
+
+OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \
+ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
+ BUILDPATH=$(BUILDPATH) USRINFO=$(USRINFO)
+
+
+!ifdef BUILDDIR
+USRCONFIG=config.txt
+USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def
+
+USRMAKE=$(BUILDDIR)\makefile-$(PLATFORM)-$(COMPILER).inc
+
+OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE)
+!endif
+
+
+!ifdef FLEXTBUILD
+all: flext
+!else
+all: build-sr
+
+shared: build-tr
+!endif
+
+flext: flext-release flext-debug
+
+flext-release: build-dr build-tr build-sr
+
+flext-debug: build-dd build-td build-sd
+
+install: install-dr install-tr install-sr install-dd install-td install-sd
+
+clean: clean-dr clean-tr clean-sr clean-dd clean-td clean-sd
+
+
+build-sr: config
+ $(MAKE) $(OPTIONS) _all_
+
+build-sd: config
+ $(MAKE) $(OPTIONS) DEBUG=1 _all_
+
+build-tr: config
+ $(MAKE) $(OPTIONS) THREADED=1 _all_
+
+build-td: config
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _all_
+
+build-dr: config
+ $(MAKE) $(OPTIONS) SHARED=1 _all_
+
+build-dd: config
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _all_
+
+
+install-sr:
+ $(MAKE) $(OPTIONS) _install_
+
+install-sd:
+ $(MAKE) $(OPTIONS) DEBUG=1 _install_
+
+install-tr:
+ $(MAKE) $(OPTIONS) THREADED=1 _install_
+
+install-td:
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _install_
+
+install-dr:
+ $(MAKE) $(OPTIONS) SHARED=1 _install_
+
+install-dd:
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _install_
+
+
+clean-sr:
+ $(MAKE) $(OPTIONS) _clean_
+
+clean-sd:
+ $(MAKE) $(OPTIONS) DEBUG=1 _clean_
+
+clean-tr:
+ $(MAKE) $(OPTIONS) THREADED=1 _clean_
+
+clean-td:
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _clean_
+
+clean-dr:
+ $(MAKE) $(OPTIONS) SHARED=1 _clean_
+
+clean-dd:
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _clean_
+
+
+config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG)
+
+
+.precious: $(SYSCONFIG) $(USRCONFIG)
+
+$(SYSCONFIG): $(SYSDEFAULT)
+ @copy $** $@
+ @echo -------------------------------------------------------------------------
+ @echo A default system configuration file has been created.
+ @echo Please edit $(SYSCONFIG)
+ @echo to match your platform and start again.
+ @echo -------------------------------------------------------------------------
+ @exit 1
+
+!ifdef BUILDDIR
+$(USRCONFIG): $(USRDEFAULT)
+ @copy $** $@
+ @echo -------------------------------------------------------------------------
+ @echo A default package configuration file has been created.
+ @echo Please edit $(USRCONFIG) and start again.
+ @echo -------------------------------------------------------------------------
+ @exit 1
+
+$(USRDEFAULT) $(USRMAKE):
+ @echo -------------------------------------------------------------------------
+ @echo Your combination of platform, system and compiler is not supported yet.
+ @echo Required files:
+ @echo $(USRDEFAULT)
+ @echo and
+ @echo $(USRMAKE)
+ @echo -------------------------------------------------------------------------
+ @exit 1
+!endif
diff --git a/externals/grill/flext/build/build-bcc.bat b/externals/grill/flext/buildsys/build-bcc.bat
index 00e48b72..bf5c4bff 100644
--- a/externals/grill/flext/build/build-bcc.bat
+++ b/externals/grill/flext/buildsys/build-bcc.bat
@@ -1,3 +1,3 @@
-@set build=%~dp0
-
-make -f %build%bmake.mak -N PLATFORM=%1 RTSYS=%2 COMPILER=bcc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
+@set build=%~dp0
+
+make -f %build%bmake.mak -N PLATFORM=%1 RTSYS=%2 COMPILER=bcc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
diff --git a/externals/grill/flext/build/build-cygwin.sh b/externals/grill/flext/buildsys/build-cygwin.sh
index df3b4f7b..fa740016 100644
--- a/externals/grill/flext/build/build-cygwin.sh
+++ b/externals/grill/flext/buildsys/build-cygwin.sh
@@ -1,3 +1,3 @@
-build=${0%/*}/
-
-make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=cygwin BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9
+build=${0%/*}/
+
+make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=cygwin BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9
diff --git a/externals/grill/flext/build/build-gcc.sh b/externals/grill/flext/buildsys/build-gcc.sh
index 3fffd918..3fffd918 100644
--- a/externals/grill/flext/build/build-gcc.sh
+++ b/externals/grill/flext/buildsys/build-gcc.sh
diff --git a/externals/grill/flext/build/build-mingw.bat b/externals/grill/flext/buildsys/build-mingw.bat
index 2c946bff..11a39ed3 100644
--- a/externals/grill/flext/build/build-mingw.bat
+++ b/externals/grill/flext/buildsys/build-mingw.bat
@@ -1,3 +1,3 @@
-@set build=%~dp0
-
-mingw32-make -f %build%gnumake.mak PLATFORM=%1 RTSYS=%2 COMPILER=mingw BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
+@set build=%~dp0
+
+mingw32-make -f %build%gnumake.mak PLATFORM=%1 RTSYS=%2 COMPILER=mingw BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
diff --git a/externals/grill/flext/build/build-msvc.bat b/externals/grill/flext/buildsys/build-msvc.bat
index c50ed8e9..b7cbb8f1 100644
--- a/externals/grill/flext/build/build-msvc.bat
+++ b/externals/grill/flext/buildsys/build-msvc.bat
@@ -1,3 +1,3 @@
-@set build=%~dp0
-
-nmake -f %build%nmake.mak PLATFORM=%1 RTSYS=%2 COMPILER=msvc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
+@set build=%~dp0
+
+nmake -f %build%nmake.mak PLATFORM=%1 RTSYS=%2 COMPILER=msvc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
diff --git a/externals/grill/flext/buildsys/gnumake-flext.inc b/externals/grill/flext/buildsys/gnumake-flext.inc
new file mode 100644
index 00000000..bc3a5ab5
--- /dev/null
+++ b/externals/grill/flext/buildsys/gnumake-flext.inc
@@ -0,0 +1,89 @@
+##############################################
+# flext defines
+##############################################
+
+ifdef SHARED
+# --- shared ---
+DEFS+=-DFLEXT_SHARED
+
+else
+ifdef THREADED
+# --- static multi-threaded ---
+DEFS+=-DFLEXT_THREADS
+
+else
+# --- static single-threaded ---
+
+endif
+endif
+
+
+ifdef FLEXTBUILD
+DEFS+=-DFLEXT_EXPORTS
+endif
+
+##############################################
+# name of flext library
+##############################################
+
+ifdef SHARED
+
+ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_d
+else
+FLEXTNAME=flext-$(RTSYS)
+endif
+
+else
+
+ifdef THREADED
+ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_td
+else
+FLEXTNAME=flext-$(RTSYS)_t
+endif
+else
+ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_d
+else
+FLEXTNAME=flext-$(RTSYS)
+endif
+endif
+
+endif # SHARED
+
+##############################################
+# build subdirectories
+##############################################
+
+ifdef FLEXTBUILD
+
+ifdef SHARED
+
+ifdef DEBUG
+OUTSUB=dd
+else
+OUTSUB=dr
+endif
+
+else # SHARED
+
+ifdef THREADED
+ifdef DEBUG
+OUTSUB=td
+else
+OUTSUB=tr
+endif
+else
+ifdef DEBUG
+OUTSUB=sd
+else
+OUTSUB=sr
+endif
+endif
+
+endif # SHARED
+
+else # FLEXTBUILD
+OUTSUB=.
+endif # FLEXTBUILD
diff --git a/externals/grill/flext/build/gnumake-sub.mak b/externals/grill/flext/buildsys/gnumake-sub.mak
index c4b1f0cf..91440532 100644
--- a/externals/grill/flext/build/gnumake-sub.mak
+++ b/externals/grill/flext/buildsys/gnumake-sub.mak
@@ -6,7 +6,7 @@ include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
# these are project specific
# package info
-include build/package.txt
+include $(USRINFO)
# special settings
ifdef USRCONFIG
@@ -20,6 +20,9 @@ endif
##############################
+# flext-specific make stuff
+include $(BUILDPATH)gnumake-flext.inc
+
# platform-specific make stuff
include $(BUILDPATH)$(PLATFORM)/$(RTSYS)/make-$(COMPILER).inc
# general make stuff
diff --git a/externals/grill/flext/buildsys/gnumake.mak b/externals/grill/flext/buildsys/gnumake.mak
new file mode 100644
index 00000000..5b191702
--- /dev/null
+++ b/externals/grill/flext/buildsys/gnumake.mak
@@ -0,0 +1,150 @@
+# required settings:
+#
+# PLATFORM - win/mac/lnx
+# RTSYS - pd/max
+# COMPILER - msvc/gcc/mingw/cygwin
+# BUILDPATH including trailing /
+
+# package info
+USRINFO=package.txt
+
+include $(USRINFO)
+
+
+ifeq ($(PLATFORM),win)
+ # substitute eventual \ by /
+ UBUILDPATH=$(subst \,/,$(BUILDPATH))
+else
+ UBUILDPATH=$(BUILDPATH)
+endif
+
+
+SYSCONFIG=$(UBUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
+SYSDEFAULT=$(UBUILDPATH)$(PLATFORM)/$(RTSYS)/config-$(COMPILER).def
+
+
+OPTIONS=-f $(UBUILDPATH)gnumake-sub.mak \
+ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
+ BUILDPATH=$(UBUILDPATH) USRINFO=$(USRINFO)
+
+
+ifdef BUILDDIR
+USRCONFIG=config.txt
+USRDEFAULT=$(BUILDDIR)/config-$(PLATFORM).def
+
+USRMAKE=$(BUILDDIR)/makefile-$(PLATFORM)-$(COMPILER).inc
+
+OPTIONS+=USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE)
+endif
+
+
+ifdef FLEXTBUILD
+all: flext
+else
+all: build-sr
+
+shared: build-tr
+endif
+
+flext: flext-release flext-debug
+
+flext-release: build-dr build-tr build-sr
+
+flext-debug: build-dd build-td build-sd
+
+install: install-dr install-tr install-sr install-dd install-td install-sd
+
+clean: clean-dr clean-tr clean-sr clean-dd clean-td clean-sd
+
+
+build-sr: config
+ $(MAKE) $(OPTIONS) _all_
+
+build-sd: config
+ $(MAKE) $(OPTIONS) DEBUG=1 _all_
+
+build-tr: config
+ $(MAKE) $(OPTIONS) THREADED=1 _all_
+
+build-td: config
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _all_
+
+build-dr: config
+ $(MAKE) $(OPTIONS) SHARED=1 _all_
+
+build-dd: config
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _all_
+
+
+install-sr:
+ $(MAKE) $(OPTIONS) _install_
+
+install-sd:
+ $(MAKE) $(OPTIONS) DEBUG=1 _install_
+
+install-tr:
+ $(MAKE) $(OPTIONS) THREADED=1 _install_
+
+install-td:
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _install_
+
+install-dr:
+ $(MAKE) $(OPTIONS) SHARED=1 _install_
+
+install-dd:
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _install_
+
+
+clean-sr:
+ $(MAKE) $(OPTIONS) _clean_
+
+clean-sd:
+ $(MAKE) $(OPTIONS) DEBUG=1 _clean_
+
+clean-tr:
+ $(MAKE) $(OPTIONS) THREADED=1 _clean_
+
+clean-td:
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _clean_
+
+clean-dr:
+ $(MAKE) $(OPTIONS) SHARED=1 _clean_
+
+clean-dd:
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _clean_
+
+
+
+config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG)
+
+
+.precious: $(SYSCONFIG) $(USRCONFIG)
+
+$(SYSCONFIG): $(SYSDEFAULT)
+ @cp $< $@
+ @echo -------------------------------------------------------------------------
+ @echo A default system configuration file has been created.
+ @echo Please edit $(SYSCONFIG)
+ @echo to match your platform, then start again.
+ @echo -------------------------------------------------------------------------
+ @false
+
+ifdef BUILDDIR
+$(USRCONFIG): $(USRDEFAULT)
+ @cp $< $@
+ @echo -------------------------------------------------------------------------
+ @echo A default package configuration file has been created.
+ @echo Please edit $(USRCONFIG), then start again.
+ @echo -------------------------------------------------------------------------
+ @false
+
+$(USRDEFAULT) $(USRMAKE):
+ @echo -------------------------------------------------------------------------
+ @echo Your combination of platform, system and compiler is not supported yet.
+ @echo Required files:
+ @echo $(USRDEFAULT)
+ @echo and
+ @echo $(USRMAKE)
+ @echo -------------------------------------------------------------------------
+ @false
+endif
diff --git a/externals/grill/flext/buildsys/lnx/make-gcc.inc b/externals/grill/flext/buildsys/lnx/make-gcc.inc
new file mode 100644
index 00000000..5e22a236
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/make-gcc.inc
@@ -0,0 +1,68 @@
+LDFLAGS += -shared -Wl,-x
+
+ifdef DEBUG
+CFLAGS += -g -D_DEBUG
+else
+CFLAGS += $(OFLAGS) -DNDEBUG
+LDFLAGS += -Wl,-S
+endif
+
+##############################################
+
+INCPATH += -I$(FLEXTPATH)
+LIBPATH += -L$(FLEXTPATH)
+
+ifdef SHARED
+# --- shared ---
+DEFS += -DFLEXT_SHARED
+
+else
+ifdef THREADED
+# --- static multi-threaded ---
+DEFS += -DFLEXT_THREADS
+
+else
+# --- static single-threaded ---
+
+endif
+endif
+
+##############################################
+
+TARGET=$(OUTPATH)/$(NAME).$(EXT)
+
+CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
+CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
+COBJS=$(patsubst %.c,$(OUTPATH)/%.o,$(filter %.c,$(SRCS)))
+CPPOBJS=$(patsubst %.cpp,$(OUTPATH)/%.opp,$(filter %.cpp,$(SRCS)))
+
+# default target
+all: $(OUTPATH) $(TARGET)
+
+$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ touch $@
+
+$(OUTPATH):
+ mkdir $(OUTPATH)
+
+$(OUTPATH)/%.opp : $(SRCDIR)/%.cpp
+ $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(OUTPATH)/%.o : $(SRCDIR)/%.c
+ $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGET) : $(COBJS) $(CPPOBJS)
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
+ chmod 755 $@
+
+$(INSTPATH):
+ mkdir $(INSTPATH)
+
+install:: $(INSTPATH)
+
+install:: $(TARGET)
+ install $^ $(INSTPATH)
+
+.PHONY: clean
+clean:
+ $(RM) $(COBJS) $(CPPOBJS) $(TARGET)
diff --git a/externals/grill/flext/buildsys/lnx/pd/config-gcc.def b/externals/grill/flext/buildsys/lnx/pd/config-gcc.def
new file mode 100644
index 00000000..e60e92a4
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/pd/config-gcc.def
@@ -0,0 +1,15 @@
+# where is the PD source package?
+PDPATH=/usr/local/src/pd-0.38-0test10
+
+# where should the external be installed?
+INSTPATH=/usr/local/lib/pd/extra
+
+# where do the flext headers and libraries reside?
+FLEXTPATH=/usr/local/lib/pd/flext
+
+# where should the external be built?
+OUTPATH=pd-linux
+
+# user defined compiler flags
+# (check if they match your system!)
+OFLAGS=-O2 -march=pentium4 -msse
diff --git a/externals/grill/flext/buildsys/lnx/pd/make-gcc.inc b/externals/grill/flext/buildsys/lnx/pd/make-gcc.inc
new file mode 100644
index 00000000..3ae01ad0
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/pd/make-gcc.inc
@@ -0,0 +1,10 @@
+DEFS += -DFLEXT_SYS=2
+
+INCPATH += -I$(PDPATH)/src
+LIBPATH += -L$(PDPATH)/bin
+
+LDFLAGS +=
+
+LIBS +=
+
+EXT=pd_linux
diff --git a/externals/grill/flext/buildsys/mac/make-gcc.inc b/externals/grill/flext/buildsys/mac/make-gcc.inc
new file mode 100644
index 00000000..39f4849a
--- /dev/null
+++ b/externals/grill/flext/buildsys/mac/make-gcc.inc
@@ -0,0 +1,68 @@
+LDFLAGS += -Wl,-x -framework ApplicationServices -framework vecLib
+
+ifdef DEBUG
+CFLAGS += -g -D_DEBUG
+else
+CFLAGS += $(OFLAGS) -DNDEBUG
+LDFLAGS += -Wl,-S
+endif
+
+##############################################
+
+INCPATH += -I$(FLEXTPATH)
+LIBPATH += -L$(FLEXTPATH)
+
+ifdef SHARED
+# --- shared ---
+DEFS += -DFLEXT_SHARED
+
+else
+ifdef THREADED
+# --- static multi-threaded ---
+DEFS += -DFLEXT_THREADS
+
+else
+# --- static single-threaded ---
+
+endif
+endif
+
+##############################################
+
+TARGET=$(OUTPATH)/$(NAME).$(EXT)
+
+CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
+CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
+COBJS=$(patsubst %.c,$(OUTPATH)/%.o,$(filter %.c,$(SRCS)))
+CPPOBJS=$(patsubst %.cpp,$(OUTPATH)/%.opp,$(filter %.cpp,$(SRCS)))
+
+# default target
+all: $(OUTPATH) $(TARGET)
+
+$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ touch $@
+
+$(OUTPATH):
+ mkdir $(OUTPATH)
+
+$(OUTPATH)/%.opp : $(SRCDIR)/%.cpp
+ $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(OUTPATH)/%.o : $(SRCDIR)/%.c
+ $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGET) : $(COBJS) $(CPPOBJS)
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $^ $(LIBS)
+ chmod 755 $@
+
+$(INSTPATH):
+ mkdir $(INSTPATH)
+
+install:: $(INSTPATH)
+
+install:: $(TARGET)
+ install $^ $(INSTPATH)
+
+.PHONY: clean
+clean:
+ $(RM) $(COBJS) $(CPPOBJS) $(TARGET)
diff --git a/externals/grill/flext/buildsys/mac/pd/config-gcc.def b/externals/grill/flext/buildsys/mac/pd/config-gcc.def
new file mode 100644
index 00000000..1f8ab2cd
--- /dev/null
+++ b/externals/grill/flext/buildsys/mac/pd/config-gcc.def
@@ -0,0 +1,18 @@
+# where is the PD installation?
+PDPATH=/usr/local/lib/pd
+
+# where is the PD executable?
+PDBIN=/usr/local/bin/pd
+
+# where should the external be installed?
+INSTPATH=$(PDPATH)/extra
+
+# where do the flext headers and libraries reside?
+FLEXTPATH=$(PDPATH)/flext
+
+# where should the external be built?
+OUTPATH=pd-darwin
+
+# user defined compiler flags
+# (check if they match your system!)
+OFLAGS=-O2 -mcpu=G4 -malign-natural -maltivec -faltivec
diff --git a/externals/grill/flext/buildsys/mac/pd/make-gcc.inc b/externals/grill/flext/buildsys/mac/pd/make-gcc.inc
new file mode 100644
index 00000000..05c2cd08
--- /dev/null
+++ b/externals/grill/flext/buildsys/mac/pd/make-gcc.inc
@@ -0,0 +1,10 @@
+DEFS += -DFLEXT_SYS=2
+
+INCPATH += -I$(PDPATH)/src
+LIBPATH += -L$(PDPATH)/bin
+
+LDFLAGS += -bundle -bundle_loader $(PDBIN)
+
+LIBS +=
+
+EXT=pd_darwin
diff --git a/externals/grill/flext/buildsys/nmake-flext.inc b/externals/grill/flext/buildsys/nmake-flext.inc
new file mode 100644
index 00000000..7b21e7d0
--- /dev/null
+++ b/externals/grill/flext/buildsys/nmake-flext.inc
@@ -0,0 +1,88 @@
+##############################################
+# flext defines
+##############################################
+
+!ifdef SHARED
+# --- shared ---
+DEFS=$(DEFS) /DFLEXT_SHARED
+
+!elseifdef THREADED
+# --- static multi-threaded ---
+DEFS=$(DEFS) /DFLEXT_THREADS
+
+!else
+# --- static single-threaded ---
+
+!endif
+
+
+!ifdef FLEXTBUILD
+DEFS=$(DEFS) /DFLEXT_EXPORTS
+!endif
+
+##############################################
+# name of flext library
+##############################################
+
+!ifdef SHARED
+
+!ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_d
+!else
+FLEXTNAME=flext-$(RTSYS)
+!endif
+
+!else
+
+!ifdef THREADED
+!ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_td
+!else
+FLEXTNAME=flext-$(RTSYS)_t
+!endif
+!else
+!ifdef DEBUG
+FLEXTNAME=flext-$(RTSYS)_d
+!else
+FLEXTNAME=flext-$(RTSYS)
+!endif
+!endif
+
+!endif # SHARED
+
+##############################################
+# build subdirectories
+##############################################
+
+!ifdef FLEXTBUILD
+
+!ifdef SHARED
+
+!ifdef DEBUG
+OUTSUB=dd
+!else
+OUTSUB=dr
+!endif
+
+!else # SHARED
+
+!ifdef THREADED
+!ifdef DEBUG
+OUTSUB=td
+!else
+OUTSUB=tr
+!endif
+!else
+!ifdef DEBUG
+OUTSUB=sd
+!else
+OUTSUB=sr
+!endif
+!endif
+
+!endif # SHARED
+
+!else # FLEXTBUILD
+OUTSUB=.
+!endif # FLEXTBUILD
+
diff --git a/externals/grill/flext/build/nmake-sub.mak b/externals/grill/flext/buildsys/nmake-sub.mak
index 75f8ea9e..9e640fff 100644
--- a/externals/grill/flext/build/nmake-sub.mak
+++ b/externals/grill/flext/buildsys/nmake-sub.mak
@@ -1,24 +1,27 @@
-# general settings
-!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-
-##############################
-
-# package info
-!include build/package.txt
-
-# special package settings
-!ifdef USRCONFIG
-!include $(USRCONFIG)
-!endif
-
-# package specific make stuff
-!ifdef USRMAKE
-!include $(USRMAKE)
-!endif
-
-##############################
-
-# platform-specific make stuff
-!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\make-$(COMPILER).inc
-# general make stuff
-!include $(BUILDPATH)$(PLATFORM)\make-$(COMPILER).inc
+# general settings
+!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
+
+##############################
+
+# package info
+!include $(USRINFO)
+
+# special package settings
+!ifdef USRCONFIG
+!include $(USRCONFIG)
+!endif
+
+# package specific make stuff
+!ifdef USRMAKE
+!include $(USRMAKE)
+!endif
+
+##############################
+
+# flext-specific make stuff
+!include $(BUILDPATH)nmake-flext.inc
+
+# platform-specific make stuff
+!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\make-$(COMPILER).inc
+# general make stuff
+!include $(BUILDPATH)$(PLATFORM)\make-$(COMPILER).inc
diff --git a/externals/grill/flext/buildsys/nmake.mak b/externals/grill/flext/buildsys/nmake.mak
new file mode 100644
index 00000000..40a8d8c4
--- /dev/null
+++ b/externals/grill/flext/buildsys/nmake.mak
@@ -0,0 +1,142 @@
+# required settings:
+#
+# PLATFORM - win/mac/lnx
+# RTSYS - pd/max
+# COMPILER - msvc/gcc/mingw/cygwin
+# BUILDPATH including trailing \
+
+# package info
+USRINFO=package.txt
+
+!include $(USRINFO)
+
+
+SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
+SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def
+
+
+OPTIONS=-f $(BUILDPATH)nmake-sub.mak \
+ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
+ BUILDPATH=$(BUILDPATH) USRINFO=$(USRINFO)
+
+
+!ifdef BUILDDIR
+USRCONFIG=config.txt
+USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def
+
+USRMAKE=$(BUILDDIR)\makefile-$(PLATFORM)-$(COMPILER).inc
+
+OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE)
+!endif
+
+
+!ifdef FLEXTBUILD
+all: flext
+!else
+all: build-sr
+
+shared: build-tr
+!endif
+
+flext: flext-release flext-debug
+
+flext-release: build-dr build-tr build-sr
+
+flext-debug: build-dd build-td build-sd
+
+install: install-dr install-tr install-sr install-dd install-td install-sd
+
+clean: clean-dr clean-tr clean-sr clean-dd clean-td clean-sd
+
+
+build-sr: config
+ $(MAKE) $(OPTIONS) _all_
+
+build-sd: config
+ $(MAKE) $(OPTIONS) DEBUG=1 _all_
+
+build-tr: config
+ $(MAKE) $(OPTIONS) THREADED=1 _all_
+
+build-td: config
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _all_
+
+build-dr: config
+ $(MAKE) $(OPTIONS) SHARED=1 _all_
+
+build-dd: config
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _all_
+
+
+install-sr:
+ $(MAKE) $(OPTIONS) _install_
+
+install-sd:
+ $(MAKE) $(OPTIONS) DEBUG=1 _install_
+
+install-tr:
+ $(MAKE) $(OPTIONS) THREADED=1 _install_
+
+install-td:
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _install_
+
+install-dr:
+ $(MAKE) $(OPTIONS) SHARED=1 _install_
+
+install-dd:
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _install_
+
+
+clean-sr:
+ $(MAKE) $(OPTIONS) _clean_
+
+clean-sd:
+ $(MAKE) $(OPTIONS) DEBUG=1 _clean_
+
+clean-tr:
+ $(MAKE) $(OPTIONS) THREADED=1 _clean_
+
+clean-td:
+ $(MAKE) $(OPTIONS) THREADED=1 DEBUG=1 _clean_
+
+clean-dr:
+ $(MAKE) $(OPTIONS) SHARED=1 _clean_
+
+clean-dd:
+ $(MAKE) $(OPTIONS) SHARED=1 DEBUG=1 _clean_
+
+
+
+config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG)
+
+
+.precious: $(SYSCONFIG) $(USRCONFIG)
+
+$(SYSCONFIG): $(SYSDEFAULT)
+ @copy $** $@
+ @echo -------------------------------------------------------------------------
+ @echo A default system configuration file has been created.
+ @echo Please edit $(SYSCONFIG)
+ @echo to match your platform and start again.
+ @echo -------------------------------------------------------------------------
+ @exit 1
+
+!ifdef BUILDDIR
+$(USRCONFIG): $(USRDEFAULT)
+ @copy $** $@
+ @echo -------------------------------------------------------------------------
+ @echo A default package configuration file has been created.
+ @echo Please edit $(USRCONFIG) and start again.
+ @echo -------------------------------------------------------------------------
+ @exit 1
+
+$(USRDEFAULT) $(USRMAKE):
+ @echo -------------------------------------------------------------------------
+ @echo Your combination of platform, system and compiler is not supported yet.
+ @echo Required files:
+ @echo $(USRDEFAULT)
+ @echo and
+ @echo $(USRMAKE)
+ @echo -------------------------------------------------------------------------
+ @exit 1
+!endif
diff --git a/externals/grill/flext/buildsys/win/make-bcc.inc b/externals/grill/flext/buildsys/win/make-bcc.inc
new file mode 100644
index 00000000..dbe6b08c
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/make-bcc.inc
@@ -0,0 +1,128 @@
+!ifndef FLEXTBUILD
+INCPATH=$(INCPATH) -I$(FLEXTPATH)
+LIBPATH=$(LIBPATH) -L$(FLEXTPATH)
+LIBS=$(LIBS) $(FLEXTNAME).lib
+!endif
+
+!ifdef BCCPATH
+INCPATH=$(INCPATH) -I$(BCCPATH)\include
+LIBPATH=$(LIBPATH) -L$(BCCPATH)\lib
+!endif
+
+LIBS=$(LIBS) cw32.lib import32.lib C0D32.OBJ
+CFLAGS=$(CFLAGS) -tWD -tWM -w-8004 -w-8027 -w-8057
+LDFLAGS=$(LDFLAGS) /C /Tpd
+
+##############################################
+
+# use multithreaded static libraries
+!ifdef DEBUG
+CFLAGS=$(CFLAGS) -v -D_DEBUG
+LDFLAGS=$(LDFLAGS) /v
+!else
+CFLAGS=$(CFLAGS) $(OFLAGS) -DNDEBUG
+!endif
+
+##############################################
+
+!ifdef FLEXTBUILD
+OUTNAME=$(FLEXTNAME)
+
+!ifdef SHARED
+EXT=dll
+!else
+EXT=lib
+BUILDLIB=1
+!endif
+
+!else
+OUTNAME=$(NAME)
+!endif
+
+##############################################
+
+TARGETPATH=$(OUTPATH)\$(OUTSUB)
+TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
+
+##############################################
+
+!ifdef PDPATH
+
+$(TARGETPATH)\pd.lib : $(PDPATH)\bin\pd.dll
+ implib -a $< $**
+
+$(TARGETPATH)\pthreadVC.lib : $(PDPATH)\bin\pthreadVC.dll
+ implib -a $< $**
+
+PDTARGETS=$(TARGETPATH)\pd.lib $(TARGETPATH)\pthreadVC.lib
+
+!endif
+
+##############################################
+
+# default target
+_all_: $(TARGET)
+
+# convert both *.c and *.cpp
+OBJSTMP= $(SRCS:.c=.obj)
+OBJS= $(OBJSTMP:.objpp=.obj)
+
+$(TARGETPATH):
+ if not exist $(OUTPATH) mkdir $(OUTPATH) > nul
+ if not exist $@ mkdir $@ > nul
+
+!ifndef FLEXTBUILD
+SETUPFUNCTION=$(NAME)_setup
+
+$(TARGETPATH)\$(NAME).def:
+ @echo EXPORTS $(SETUPFUNCTION) = _$(SETUPFUNCTION) > $<
+# this next line fixes a strange problem with implib - lacking underscore?!
+ @echo IMPORTS _rtext_retext=PD.rtext_retext >> $<
+
+$(TARGET) :: $(TARGETPATH)\$(NAME).def
+!endif
+
+{$(SRCDIR)}.cpp{}.obj:
+ bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
+
+{$(SRCDIR)}.c{}.obj:
+ bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
+
+$(TARGET) :: $(TARGETPATH) $(PDTARGETS)
+
+$(TARGET) :: $(OBJS)
+ cd $(TARGETPATH)
+!ifdef BUILDLIB
+ -del $(<F)
+ tlib "$(<F)" +$(OBJS: = +)
+ cd ..
+!else
+ ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS),$(NAME).def
+!endif
+ cd ..
+
+##############################################
+
+_clean_:
+ -del /q $(TARGET) > nul
+ -cd $(TARGETPATH)
+ -del /q $(OBJS) > nul
+
+##############################################
+
+$(INSTPATH):
+ if not exist $@ mkdir $@ > nul
+
+$(FLEXTPATH):
+ if not exist $@ mkdir $@ > nul
+
+_install_ :: $(INSTPATH) $(FLEXTPATH)
+
+_install_ ::
+!ifdef FLEXTBUILD
+ -copy $(TARGET) $(FLEXTPATH) > nul
+ @cd $(SRCDIR)
+ -for %%i in ($(HDRS)) do @copy %%i $(FLEXTPATH) > nul
+!else
+ copy $(TARGET) $(INSTPATH) > nul
+!endif
diff --git a/externals/grill/flext/buildsys/win/make-cygwin.inc b/externals/grill/flext/buildsys/win/make-cygwin.inc
new file mode 100644
index 00000000..beaeef83
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/make-cygwin.inc
@@ -0,0 +1,92 @@
+ifndef FLEXTBUILD
+INCPATH += -I$(FLEXTPATH)
+LIBPATH += -L$(FLEXTPATH)
+LIBS+=$(FLEXTPATH)/$(FLEXTNAME).a
+endif
+
+LDFLAGS += -shared -Wl,-x
+
+##############################################
+
+ifdef DEBUG
+CFLAGS += -g -D_DEBUG
+else
+CFLAGS += $(OFLAGS) -DNDEBUG
+LDFLAGS += -Wl,-S
+endif
+
+##############################################
+
+ifdef FLEXTBUILD
+OUTNAME=$(FLEXTNAME)
+
+ifdef SHARED
+EXT=dll
+else
+EXT=a
+BUILDLIB=1
+endif
+
+else
+OUTNAME=$(NAME)
+endif
+
+##############################################
+
+TARGETPATH=$(OUTPATH)/$(OUTSUB)
+TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT)
+
+##############################################
+
+CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
+CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
+COBJS=$(patsubst %.c,$(TARGETPATH)/%.o,$(filter %.c,$(SRCS)))
+CPPOBJS=$(patsubst %.cpp,$(TARGETPATH)/%.opp,$(filter %.cpp,$(SRCS)))
+
+# default target
+_all_: $(TARGET)
+
+$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ touch $@
+
+$(TARGETPATH):
+ -mkdir $(OUTPATH)
+ -mkdir $@
+
+$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
+ $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGETPATH)/%.o : $(SRCDIR)/%.c
+ $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGET) :: $(TARGETPATH)
+
+$(TARGET) :: $(COBJS) $(CPPOBJS)
+ifdef BUILDLIB
+ $(AR) rc $@ $(COBJS) $(CPPOBJS)
+else
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+ chmod 755 $@
+endif
+
+##############################################
+
+_clean_:
+ rm $(COBJS) $(CPPOBJS) $(TARGET)
+
+##############################################
+
+$(INSTPATH):
+ -mkdir $@
+
+$(FLEXTPATH):
+ -mkdir $@
+
+_install_:: $(INSTPATH) $(FLEXTPATH)
+
+_install_:: $(TARGET)
+ifdef FLEXTBUILD
+ cp $(TARGET) $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTPATH)
+else
+ install $(TARGET) $(INSTPATH)
+endif
diff --git a/externals/grill/flext/buildsys/win/make-mingw.inc b/externals/grill/flext/buildsys/win/make-mingw.inc
new file mode 100644
index 00000000..693f2947
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/make-mingw.inc
@@ -0,0 +1,93 @@
+ifndef FLEXTBUILD
+INCPATH += -I$(FLEXTPATH)
+LIBPATH += -L$(FLEXTPATH)
+LIBS+=$(FLEXTPATH)/$(FLEXTNAME).lib
+endif
+
+LDFLAGS += -shared -Wl,-x
+
+##############################################
+
+ifdef DEBUG
+CFLAGS += -g -D_DEBUG
+else
+CFLAGS += $(OFLAGS) -DNDEBUG
+LDFLAGS += -Wl,-S
+endif
+
+##############################################
+
+ifdef FLEXTBUILD
+OUTNAME=$(FLEXTNAME)
+
+ifdef SHARED
+EXT=dll
+else
+EXT=lib
+BUILDLIB=1
+endif
+
+else
+OUTNAME=$(NAME)
+endif
+
+##############################################
+
+TARGETPATH=$(OUTPATH)/$(OUTSUB)
+TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT)
+
+##############################################
+
+CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
+CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
+COBJS=$(patsubst %.c,$(TARGETPATH)/%.o,$(filter %.c,$(SRCS)))
+CPPOBJS=$(patsubst %.cpp,$(TARGETPATH)/%.opp,$(filter %.cpp,$(SRCS)))
+
+
+# default target
+_all_: $(TARGET)
+
+#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+# touch $@
+
+$(TARGETPATH):
+ -mkdir $(subst /,\,$(OUTPATH))
+ -mkdir $(subst /,\,$@)
+
+$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
+ $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGETPATH)/%.o : $(SRCDIR)/%.c
+ $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGET) :: $(TARGETPATH)
+
+$(TARGET) :: $(COBJS) $(CPPOBJS)
+ifdef BUILDLIB
+ $(AR) rc $@ $(COBJS) $(CPPOBJS)
+else
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+endif
+
+##############################################
+
+_clean_:
+ -del $(subst /,\,$(COBJS) $(CPPOBJS) $(TARGET))
+
+##############################################
+
+$(FLEXTPATH):
+ -mkdir $(subst /,\,$@)
+
+$(INSTPATH):
+ -mkdir $(subst /,\,$@)
+
+_install_:: $(INSTPATH) $(FLEXTPATH)
+
+_install_:: $(TARGET)
+ifdef FLEXTBUILD
+ copy $(subst /,\,$(TARGET) $(FLEXTPATH))
+ -for %%i in ($(subst /,\,$(patsubst %,$(SRCDIR)/%,$(HDRS)))) do @copy %%i $(subst /,\,$(FLEXTPATH)) > nul
+else
+ copy $(subst /,\,$(TARGET) $(INSTPATH))
+endif
diff --git a/externals/grill/flext/buildsys/win/make-msvc.inc b/externals/grill/flext/buildsys/win/make-msvc.inc
new file mode 100644
index 00000000..eb9e87bf
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/make-msvc.inc
@@ -0,0 +1,103 @@
+!ifndef FLEXTBUILD
+INCPATH=$(INCPATH) /I$(FLEXTPATH)
+LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTPATH)
+LIBS=$(LIBS) $(FLEXTNAME).lib
+!endif
+
+!ifdef MSVCPATH
+INCPATH=$(INCPATH) /I$(MSVCPATH)\include
+LIBPATH=$(LIBPATH) /LIBPATH:$(MSVCPATH)\lib
+!endif
+
+# for VC7 - enable exception handling
+CFLAGS=$(CFLAGS) /EHsc
+
+##############################################
+
+!ifdef DEBUG
+CFLAGS=$(CFLAGS) /D_DEBUG /DMTd
+LDFLAGS=$(LDFLAGS) /DEBUG
+!else
+CFLAGS=$(CFLAGS) $(OFLAGS) /DNDEBUG /DMT
+LDFLAGS=$(LDFLAGS) /INCREMENTAL:NO
+!endif
+
+##############################################
+
+!ifdef FLEXTBUILD
+OUTNAME=$(FLEXTNAME)
+
+!ifdef SHARED
+EXT=dll
+!else
+EXT=lib
+BUILDLIB=1
+!endif
+
+!else
+OUTNAME=$(NAME)
+!endif
+
+##############################################
+
+TARGETPATH=$(OUTPATH)\$(OUTSUB)
+TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
+
+##############################################
+
+# default target
+_all_: $(TARGET)
+
+# convert both *.c and *.cpp
+OBJSTMP= $(SRCS:.c=.obj)
+OBJS= $(OBJSTMP:.objpp=.obj)
+
+$(TARGETPATH):
+ if not exist $(OUTPATH) mkdir $(OUTPATH) > nul
+ if not exist $@ mkdir $@ > nul
+
+{$(SRCDIR)}.cpp{}.obj:
+ cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
+
+{$(SRCDIR)}.c{}.obj:
+ cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
+
+$(TARGET):: $(TARGETPATH)
+
+$(TARGET):: $(OBJS)
+ @cd $(TARGETPATH)
+!ifdef BUILDLIB
+ lib /OUT:$(@F) $(OBJS)
+ cd ..
+!else
+ echo $**
+ link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F)
+!endif
+ cd ..
+
+##############################################
+
+# remove build
+_clean_:
+ -del /q $(TARGET) > nul
+ -cd $(TARGETPATH)
+ -del /q $(OBJS) > nul
+
+##############################################
+
+$(INSTPATH):
+ if not exist $@ mkdir $@ > nul
+
+$(FLEXTPATH):
+ if not exist $@ mkdir $@ > nul
+
+_install_:: $(INSTPATH) $(FLEXTPATH)
+
+_install_::
+!ifdef FLEXTBUILD
+ -copy $(TARGET) $(FLEXTPATH) > nul
+ @cd $(SRCDIR)
+ -for %%i in ($(HDRS)) do @copy %%i $(FLEXTPATH) > nul
+!else
+ copy $(TARGET) $(INSTPATH) > nul
+!endif
diff --git a/externals/grill/flext/buildsys/win/max/config-mingw.def b/externals/grill/flext/buildsys/win/max/config-mingw.def
new file mode 100644
index 00000000..5bd543df
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/max/config-mingw.def
@@ -0,0 +1,17 @@
+# where are the Max/MSP SDK header files?
+# you should have the latest version!
+MAXSDKPATH="c:/data/prog/audio/maxmspsdk_win/4.5 headers/c74support"
+
+# where should the external be installed?
+INSTPATH="%CommonProgramFiles%/Cycling '74/externals/flext"
+
+# where do the flext headers and libraries reside?
+FLEXTPATH="%CommonProgramFiles%/Cycling '74/flext"
+
+# where should the external be built?
+# (path for temporary files)
+OUTPATH=max-mingw
+
+# some user-definable flags
+# (check if they match your system!)
+OFLAGS=-O2 -march=pentium4 -msse
diff --git a/externals/grill/flext/buildsys/win/max/config-msvc.def b/externals/grill/flext/buildsys/win/max/config-msvc.def
new file mode 100644
index 00000000..ae313e14
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/max/config-msvc.def
@@ -0,0 +1,17 @@
+# where are the Max/MSP SDK header files?
+# you should have the latest version!
+MAXSDKPATH="c:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support"
+
+# where should the external be installed?
+INSTPATH="%CommonProgramFiles%\Cycling '74\externals\flext"
+
+# where do the flext headers and libraries reside?
+FLEXTPATH="%CommonProgramFiles%\Cycling '74\flext"
+
+# where should the external be built?
+# (path for temporary files)
+OUTPATH=max-msvc
+
+# some user-definable flags
+# (check if they match your system!)
+OFLAGS=/G6 /Ox /arch:SSE
diff --git a/externals/grill/flext/buildsys/win/max/make-mingw.inc b/externals/grill/flext/buildsys/win/max/make-mingw.inc
new file mode 100644
index 00000000..baa5c9d7
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/max/make-mingw.inc
@@ -0,0 +1,10 @@
+DEFS += -DFLEXT_SYS=1
+CFLAGS += -fpack-struct=2
+
+INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/msp-includes
+LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/msp-includes
+
+# these are both in PDPATH
+LIBS += -lmaxapi -lmaxaudio
+
+EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/max/make-msvc.inc b/externals/grill/flext/buildsys/win/max/make-msvc.inc
new file mode 100644
index 00000000..e3bd547e
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/max/make-msvc.inc
@@ -0,0 +1,10 @@
+DEFS=$(DEFS) /DFLEXT_SYS=1
+CFLAGS=$(CFLAGS) /Zp2
+
+INCPATH=$(INCPATH) /I$(MAXSDKPATH)\max-includes /I$(MAXSDKPATH)\msp-includes
+LIBPATH=$(LIBPATH) /LIBPATH:$(MAXSDKPATH)\max-includes /LIBPATH:$(MAXSDKPATH)\msp-includes
+
+# these are both in MAXSDKPATH
+LIBS=$(LIBS) maxapi.lib maxaudio.lib
+
+EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/pd/config-bcc.def b/externals/grill/flext/buildsys/win/pd/config-bcc.def
new file mode 100644
index 00000000..85f78a22
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/config-bcc.def
@@ -0,0 +1,19 @@
+# where is PD?
+PDPATH=c:\programme\audio\pd
+
+# where should the external be installed?
+INSTPATH=$(PDPATH)\extra
+
+# where do the flext headers and libraries reside?
+FLEXTPATH=$(PDPATH)\flext
+
+# where is BorlandC++?
+BCCPATH=C:\Programme\prog\bcc55
+
+# where should the external be built?
+OUTPATH=pd-bcc
+
+# user defined compiler flags
+# (check if they match your system!)
+OFLAGS=-6 -O2 -OS -ff -d
+
diff --git a/externals/grill/flext/buildsys/win/pd/config-cygwin.def b/externals/grill/flext/buildsys/win/pd/config-cygwin.def
new file mode 100644
index 00000000..0a63ea3f
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/config-cygwin.def
@@ -0,0 +1,15 @@
+# where is PD?
+PDPATH=/cygdrive/c/programme/audio/pd
+
+# where should the external be installed?
+INSTPATH=$(PDPATH)/extra
+
+# where do the flext headers and libraries reside?
+FLEXTPATH=$(PDPATH)/flext
+
+# where should the external be built?
+OUTPATH=pd-cygwin
+
+# user defined compiler flags
+# (check if they match your system!)
+OFLAGS=-O2 -march=pentium4 -msse
diff --git a/externals/grill/flext/buildsys/win/pd/config-mingw.def b/externals/grill/flext/buildsys/win/pd/config-mingw.def
new file mode 100644
index 00000000..2082f34b
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/config-mingw.def
@@ -0,0 +1,15 @@
+# where is PD?
+PDPATH=c:/programme/audio/pd
+
+# where should the external be installed?
+INSTPATH=$(PDPATH)/extra
+
+# where do the flext headers and libraries reside?
+FLEXTPATH=$(PDPATH)/flext
+
+# where should the external be built?
+OUTPATH=pd-mingw
+
+# user defined compiler flags
+# (check if they match your system!)
+OFLAGS=-O2 -march=pentium4 -msse
diff --git a/externals/grill/flext/buildsys/win/pd/config-msvc.def b/externals/grill/flext/buildsys/win/pd/config-msvc.def
new file mode 100644
index 00000000..e50837a6
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/config-msvc.def
@@ -0,0 +1,19 @@
+# where is PD?
+PDPATH=c:\programme\audio\pd
+
+# where should the external be installed?
+INSTPATH=$(PDPATH)\extra
+
+# where do the flext headers and libraries reside?
+FLEXTPATH=$(PDPATH)\flext
+
+# where is MS VC++?
+# (not necessary if the build is run with the compiler environment)
+# MSVCPATH=C:\Programme\Microsoft Visual Studio .NET 2003\Vc7
+
+# where should the external be built?
+OUTPATH=pd-msvc
+
+# user defined compiler flags
+# (check if they match your system!)
+OFLAGS=/G6 /Ox /arch:SSE
diff --git a/externals/grill/flext/buildsys/win/pd/make-bcc.inc b/externals/grill/flext/buildsys/win/pd/make-bcc.inc
new file mode 100644
index 00000000..c4a9892c
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/make-bcc.inc
@@ -0,0 +1,8 @@
+DEFS=$(DEFS) /DFLEXT_SYS=2
+
+INCPATH=$(INCPATH) -I$(PDPATH)\src
+
+# these are both in FLEXTPATH
+LIBS=$(LIBS) pd.lib pthreadVC.lib
+
+EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/make-cygwin.inc b/externals/grill/flext/buildsys/win/pd/make-cygwin.inc
new file mode 100644
index 00000000..d1641769
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/make-cygwin.inc
@@ -0,0 +1,11 @@
+DEFS += -DFLEXT_SYS=2
+
+INCPATH += -I$(PDPATH)/src
+
+# trick PD in a way that only the cygwin pthread headers are used
+CFLAGS += -include /usr/include/pthread.h -DPTHREAD_H
+
+LIBS += $(PDPATH)/bin/pd.dll
+#LIBS += $(PDPATH)/bin/pthreadVC.dll
+
+EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/make-mingw.inc b/externals/grill/flext/buildsys/win/pd/make-mingw.inc
new file mode 100644
index 00000000..836ef3b6
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/make-mingw.inc
@@ -0,0 +1,9 @@
+DEFS += -DFLEXT_SYS=2
+
+INCPATH += -I$(PDPATH)/src
+LIBPATH += -L$(PDPATH)/bin
+
+# these are both in PDPATH
+LIBS += -lpd -lpthreadVC
+
+EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/make-msvc.inc b/externals/grill/flext/buildsys/win/pd/make-msvc.inc
new file mode 100644
index 00000000..41a7cd30
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/make-msvc.inc
@@ -0,0 +1,9 @@
+DEFS=$(DEFS) /DFLEXT_SYS=2
+
+INCPATH=$(INCPATH) /I$(PDPATH)\src
+LIBPATH=$(LIBPATH) /LIBPATH:$(PDPATH)\bin
+
+# these are both in PDPATH
+LIBS=$(LIBS) pd.lib pthreadVC.lib
+
+EXT=dll
diff --git a/externals/grill/flext/make-inc.pd-bcc b/externals/grill/flext/make-inc.pd-bcc
index 8c555073..3e491c5e 100644
--- a/externals/grill/flext/make-inc.pd-bcc
+++ b/externals/grill/flext/make-inc.pd-bcc
@@ -1,92 +1,92 @@
-# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001-2004 Thomas Grill (gr@grrrr.org)
-#
-# Makefile for BorlandC++
-#
-# usage: make -f makefile.bcc
-
-!include config-pd-bcc.txt
-
-TARGET=pdwin # appendix to lib name
-
-# includes
-INCPATH=-I$(BCCPATH)\include -I$(PDPATH)\src -I$(SRCDIR)
-
-# compiler definitions and flags
-DEFS=-DFLEXT_SYS=2
-CFLAGS=-tWD
-
-!ifdef DEBUG
-CFLAGS=$(CFLAGS) -v
-DEFS=$(DEFS) -DFLEXT_DEBUG
-!else
-CFLAGS=$(CFLAGS) -6 -O2 -OS -ff
-!endif
-
-!ifdef THREADED
-CFLAGS=$(CFLAGS) -tWM
-DEFS=$(DEFS) -DFLEXT_THREADS
-!endif
-
-
-# the rest can stay untouched
-# ----------------------------------------------
-
-# all the source files from the package
-!include make-files.txt
-
-!ifdef SNDOBJ
-INCPATH=$(INCPATH) -I$(SNDOBJ)
-SRCS=$(SRCS) $(SRCS_SNDOBJ)
-HDRS=$(HDRS) $(HDRS_SNDOBJ)
-!endif
-
-!ifdef STK
-INCPATH=$(INCPATH) -I$(STK)
-SRCS=$(SRCS) $(SRCS_STK)
-HDRS=$(HDRS) $(HDRS_STK)
-!endif
-
-TARGET=$(OUTPATH)\$(NAME)-$(TARGET).lib
-
-#default target
-all: $(OUTPATH) $(TARGET) $(OUTPATH)\pd.lib $(OUTPATH)\pthreadVC.lib
-
-# remove build
-clean:
- -del /s /q $(OUTPATH) > nul
- rmdir $(OUTPATH)
-
-# -----------------------------------------------
-
-OBJS= $(SRCS:.cpp=.obj)
-
-#.PATH.obj=$(OUTPATH)
-
-
-DIR="/"
-
-$(OUTPATH)\pd.lib: $(PDPATH)\bin\pd.dll
- implib -a $< $**
-
-$(OUTPATH)\pthreadVC.lib: $(PDPATH)\bin\pthreadVC.dll
- implib -a $< $**
-
-{$(SRCDIR)}.cpp.obj:
- bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(OUTPATH) $<
-
-$(OUTPATH):
- @-if not exist $< mkdir $<
-
-$(TARGET): $(OBJS)
- @-del "$<"
- cd $(OUTPATH)
- tlib "..\$<" +$(**: = +)
- cd ..
-!if $d(INSTDIR) && "$(INSTDIR)" != ""
- @-if not exist $(INSTDIR) mkdir $(INSTDIR)
- -copy $< $(INSTDIR) >nul
- -copy $(OUTPATH)\pd.lib $(INSTDIR) >nul
- -copy $(OUTPATH)\pthreadVC.lib $(INSTDIR) >nul
- -copy $(SRCDIR)\*.h $(INSTDIR) >nul
-!endif
+# flext - C++ layer for Max/MSP and pd (pure data) externals
+# Copyright (c) 2001-2004 Thomas Grill (gr@grrrr.org)
+#
+# Makefile for BorlandC++
+#
+# usage: make -f makefile.bcc
+
+!include config-pd-bcc.txt
+
+TARGET=pdwin # appendix to lib name
+
+# includes
+INCPATH=-I$(BCCPATH)\include -I$(PDPATH)\src -I$(SRCDIR)
+
+# compiler definitions and flags
+DEFS=-DFLEXT_SYS=2
+CFLAGS=-tWD
+
+!ifdef DEBUG
+CFLAGS=$(CFLAGS) -v
+DEFS=$(DEFS) -DFLEXT_DEBUG
+!else
+CFLAGS=$(CFLAGS) -6 -O2 -OS -ff
+!endif
+
+!ifdef THREADED
+CFLAGS=$(CFLAGS) -tWM
+DEFS=$(DEFS) -DFLEXT_THREADS
+!endif
+
+
+# the rest can stay untouched
+# ----------------------------------------------
+
+# all the source files from the package
+!include make-files.txt
+
+!ifdef SNDOBJ
+INCPATH=$(INCPATH) -I$(SNDOBJ)
+SRCS=$(SRCS) $(SRCS_SNDOBJ)
+HDRS=$(HDRS) $(HDRS_SNDOBJ)
+!endif
+
+!ifdef STK
+INCPATH=$(INCPATH) -I$(STK)
+SRCS=$(SRCS) $(SRCS_STK)
+HDRS=$(HDRS) $(HDRS_STK)
+!endif
+
+TARGET=$(OUTPATH)\$(NAME)-$(TARGET).lib
+
+#default target
+all: $(OUTPATH) $(TARGET) $(OUTPATH)\pd.lib $(OUTPATH)\pthreadVC.lib
+
+# remove build
+clean:
+ -del /s /q $(OUTPATH) > nul
+ rmdir $(OUTPATH)
+
+# -----------------------------------------------
+
+OBJS= $(SRCS:.cpp=.obj)
+
+#.PATH.obj=$(OUTPATH)
+
+
+DIR="/"
+
+$(OUTPATH)\pd.lib: $(PDPATH)\bin\pd.dll
+ implib -a $< $**
+
+$(OUTPATH)\pthreadVC.lib: $(PDPATH)\bin\pthreadVC.dll
+ implib -a $< $**
+
+{$(SRCDIR)}.cpp.obj:
+ bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(OUTPATH) $<
+
+$(OUTPATH):
+ @-if not exist $< mkdir $<
+
+$(TARGET): $(OBJS)
+ @-del "$<"
+ cd $(OUTPATH)
+ tlib "..\$<" +$(**: = +)
+ cd ..
+!if $d(INSTDIR) && "$(INSTDIR)" != ""
+ @-if not exist $(INSTDIR) mkdir $(INSTDIR)
+ -copy $< $(INSTDIR) >nul
+ -copy $(OUTPATH)\pd.lib $(INSTDIR) >nul
+ -copy $(OUTPATH)\pthreadVC.lib $(INSTDIR) >nul
+ -copy $(SRCDIR)\*.h $(INSTDIR) >nul
+!endif
diff --git a/externals/grill/flext/makefile.pd-cygwin b/externals/grill/flext/makefile.pd-cygwin
index 951e7990..8c81f45a 100644
--- a/externals/grill/flext/makefile.pd-cygwin
+++ b/externals/grill/flext/makefile.pd-cygwin
@@ -52,10 +52,10 @@ HDRS+=$(HDRS_STK)
endif
-TARGET=$(TARGDIR)/$(NAME)-pdwin.lib
-TARGET_D=$(TARGDIR)/$(NAME)_d-pdwin.lib
-TARGET_T=$(TARGDIR)/$(NAME)_t-pdwin.lib
-TARGET_TD=$(TARGDIR)/$(NAME)_td-pdwin.lib
+TARGET=$(TARGDIR)/$(NAME)-pdwin.a
+TARGET_D=$(TARGDIR)/$(NAME)_d-pdwin.a
+TARGET_T=$(TARGDIR)/$(NAME)_t-pdwin.a
+TARGET_TD=$(TARGDIR)/$(NAME)_td-pdwin.a
TARGET_S=$(TARGDIR)/$(NAME).dll
TARGET_SD=$(TARGDIR)/$(NAME)_d.dll
diff --git a/externals/grill/flext/makefile.pd-mingw b/externals/grill/flext/makefile.pd-mingw
index 15a02734..06a7e1c7 100644
--- a/externals/grill/flext/makefile.pd-mingw
+++ b/externals/grill/flext/makefile.pd-mingw
@@ -90,11 +90,11 @@ $(TARGDIR)/%.sdo : $(SRCDIR)/%.cpp
$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.ro,$(SRCS))
$(AR) rc $@ $^
- chmod 644 $@
+# chmod 644 $@
$(TARGET_D) : $(patsubst %.cpp,$(TARGDIR)/%.do,$(SRCS))
$(AR) rc $@ $^
- chmod 644 $@
+# chmod 644 $@
$(TARGET_T) : $(patsubst %.cpp,$(TARGDIR)/%.tro,$(SRCS))
$(AR) rc $@ $^
@@ -102,21 +102,21 @@ $(TARGET_T) : $(patsubst %.cpp,$(TARGDIR)/%.tro,$(SRCS))
$(TARGET_TD) : $(patsubst %.cpp,$(TARGDIR)/%.tdo,$(SRCS))
$(AR) rc $@ $^
- chmod 644 $@
+# chmod 644 $@
$(TARGET_S) : $(patsubst %.cpp,$(TARGDIR)/%.sro,$(SRCS))
$(CXX) -shared $(patsubst %,-L%,$(LIBPATH)) -o $@ $^ $(PDLIBS)
strip --strip-unneeded $@
- chmod 755 $@
+# chmod 755 $@
$(TARGET_SD) : $(patsubst %.cpp,$(TARGDIR)/%.sdo,$(SRCS))
$(CXX) -g -shared $(patsubst %,-L%,$(LIBPATH)) -o $@ $^ $(PDLIBS)
- chmod 755 $@
+# chmod 755 $@
.PHONY: clean install
clean:
- rm -f $(TARGDIR)/*.o $(TARGETS)
+ del -f $(TARGDIR)\*.o $(TARGETS)
ifdef INSTDIR
$(INSTDIR):
@@ -126,14 +126,5 @@ install:: $(INSTDIR)
endif
install:: $(TARGETS) $(patsubst %,$(SRCDIR)/%,$(HDRS))
- cp $^ $(INSTDIR)
-
-
-
-
-
-
-
-
-
+ for %%i in ($(subst /,\,$^)) do copy %%i $(subst /,\,$(INSTDIR)) > nul
diff --git a/externals/grill/flext/package.txt b/externals/grill/flext/package.txt
new file mode 100644
index 00000000..386de119
--- /dev/null
+++ b/externals/grill/flext/package.txt
@@ -0,0 +1,26 @@
+NAME=flext
+
+FLEXTBUILD=1
+
+BUILDDIR=build
+SRCDIR=source
+
+SRCS= \
+ flbase.cpp flext.cpp flbuf.cpp fldsp.cpp fllib.cpp \
+ flxlet.cpp flattr.cpp flattr_ed.cpp flsupport.cpp \
+ flutil.cpp flatom.cpp flatom_pr.cpp flthr.cpp fltimer.cpp flsimd.cpp flout.cpp \
+ flatom_app.cpp flatom_part.cpp flitem.cpp flmeth.cpp flmsg.cpp \
+ flproxy.cpp flqueue.cpp flbind.cpp
+HDRS= \
+ flprefix.h flstdc.h flbase.h flclass.h flext.h flsupport.h flmap.h fldsp.h flinternal.h \
+ fldefs.h fldefs_hdr.h fldefs_setup.h \
+ fldefs_methcb.h fldefs_meththr.h fldefs_methadd.h fldefs_methbind.h fldefs_methcall.h \
+ fldefs_attrcb.h fldefs_attrvar.h fldefs_attradd.h
+
+
+SRCS_SNDOBJ=flsndobj.cpp
+HDRS_SNDOBJ=flsndobj.h
+
+SRCS_STK=flstk.cpp
+
+HDRS_STK=flstk.h