aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/buildsys/win
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext/buildsys/win')
-rw-r--r--externals/grill/flext/buildsys/win/bmake-bcc-ext.inc54
-rw-r--r--externals/grill/flext/buildsys/win/bmake-bcc-flext.inc84
-rw-r--r--externals/grill/flext/buildsys/win/bmake-bcc.inc41
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-cygwin-ext.inc41
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-cygwin-flext.inc51
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-cygwin.inc24
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc43
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc55
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw.inc24
-rw-r--r--externals/grill/flext/buildsys/win/make-bcc.inc128
-rw-r--r--externals/grill/flext/buildsys/win/make-cygwin.inc91
-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.def24
-rw-r--r--externals/grill/flext/buildsys/win/max/config-msvc.def28
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-mingw-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-mingw-flext.inc6
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-mingw.inc (renamed from externals/grill/flext/buildsys/win/max/make-mingw.inc)4
-rw-r--r--externals/grill/flext/buildsys/win/max/nmake-msvc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/max/nmake-msvc-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/max/nmake-msvc.inc (renamed from externals/grill/flext/buildsys/win/max/make-msvc.inc)2
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc-ext.inc45
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc-flext.inc66
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc.inc64
-rw-r--r--externals/grill/flext/buildsys/win/pd/bmake-bcc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/bmake-bcc-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/pd/bmake-bcc.inc (renamed from externals/grill/flext/buildsys/win/pd/make-bcc.inc)2
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-bcc.def24
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-cygwin.def20
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-mingw.def20
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-msvc.def31
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-cygwin-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-cygwin-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-cygwin.inc (renamed from externals/grill/flext/buildsys/win/pd/make-cygwin.inc)2
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-mingw-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-mingw-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-mingw.inc (renamed from externals/grill/flext/buildsys/win/pd/make-mingw.inc)2
-rw-r--r--externals/grill/flext/buildsys/win/pd/nmake-msvc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/nmake-msvc-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/pd/nmake-msvc.inc (renamed from externals/grill/flext/buildsys/win/pd/make-msvc.inc)2
40 files changed, 748 insertions, 457 deletions
diff --git a/externals/grill/flext/buildsys/win/bmake-bcc-ext.inc b/externals/grill/flext/buildsys/win/bmake-bcc-ext.inc
new file mode 100644
index 00000000..3a61d1be
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/bmake-bcc-ext.inc
@@ -0,0 +1,54 @@
+# build class specific settings
+
+INCPATH=$(INCPATH) -I$(FLEXTINC)
+LIBPATH=$(LIBPATH) -L$(FLEXTLIB)
+LIBS=$(LIBS) $(FLEXTNAME).lib
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+$(OUTPATH):
+ if not exist $@ mkdir $@ > nul
+
+$(TARGETPATH): $(OUTPATH)
+ if not exist $@ mkdir $@ > nul
+
+SETUPFUNCTION=$(NAME)_setup
+
+$(TARGETPATH)\$(NAME).def: $(TARGETPATH)
+ @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
+
+{$(SRCDIR)}.cpp{}.obj:
+ bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
+
+{$(SRCDIR)}.c{}.obj:
+ bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
+
+$(TARGET) :: $(TARGETPATH)
+
+$(TARGET) :: $(OBJS)
+ @cd $(TARGETPATH)
+ ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS),$(NAME).def
+ @cd ..\..
+
+##############################################
+# remove build
+
+_clean_:
+ -del /q $(TARGET) > nul
+ -cd $(TARGETPATH)
+ -del /q $(OBJS) > nul
+
+##############################################
+
+$(INSTPATH):
+ if not exist $@ mkdir $@ > nul
+
+_install_: $(INSTPATH)
+ copy $(TARGET) $(INSTPATH) > nul
diff --git a/externals/grill/flext/buildsys/win/bmake-bcc-flext.inc b/externals/grill/flext/buildsys/win/bmake-bcc-flext.inc
new file mode 100644
index 00000000..a0486cf6
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/bmake-bcc-flext.inc
@@ -0,0 +1,84 @@
+# build class specific settings
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+$(OUTPATH):
+ if not exist $@ mkdir $@ > nul
+
+$(TARGETPATH): $(OUTPATH)
+ if not exist $@ mkdir $@ > nul
+
+{$(SRCDIR)}.cpp{}.obj:
+ bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
+
+{$(SRCDIR)}.c{}.obj:
+ bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
+
+
+$(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
+
+
+$(TARGET) :: $(TARGETPATH) $(PDTARGETS)
+
+$(TARGET) :: $(OBJS)
+ @cd $(TARGETPATH)
+!ifdef SHARED
+ ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS)
+ implib -a $(<B).lib $(<F)
+!else
+ -del $(<F)
+ tlib "$(<F)" +$(OBJS: = +)
+!endif
+ @cd ..\..
+
+##############################################
+
+_clean_:
+ -del /q $(TARGET) > nul
+ -cd $(TARGETPATH)
+ -del /q $(OBJS) > nul
+
+##############################################
+
+!ifdef SHARED
+FLEXTLIBINST=$(FLEXTSHLIB)
+!else
+FLEXTLIBINST=$(FLEXTLIB)
+!endif
+
+$(FLEXTINC):
+ if not exist $@ mkdir $@ > nul
+
+!if "$(FLEXTINC)" != "$(FLEXTLIB)"
+$(FLEXTLIB):
+ if not exist $@ mkdir $@ > nul
+
+_install_:: $(FLEXTLIB)
+!endif
+
+!if "$(FLEXTLIBINST)" != "$(FLEXTLIB)" && "$(FLEXTLIBINST)" != "$(FLEXTINC)"
+$(FLEXTLIBINST):
+ if not exist $@ mkdir $@ > nul
+
+_install_:: $(FLEXTLIBINST)
+!endif
+
+_install_:: $(FLEXTINC)
+ copy $(TARGET) $(FLEXTLIBINST) > nul
+!ifdef SHARED
+# copy import library
+ copy $(TARGET:.dll=.lib) $(FLEXTLIB) > nul
+!endif
+# copy headers
+ for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(FLEXTINC) > nul
+# copy import libraries
+ for %%i in ($(PDTARGETS)) do @copy %%i $(FLEXTLIBINST) > nul
diff --git a/externals/grill/flext/buildsys/win/bmake-bcc.inc b/externals/grill/flext/buildsys/win/bmake-bcc.inc
new file mode 100644
index 00000000..dc9d6ae1
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/bmake-bcc.inc
@@ -0,0 +1,41 @@
+!ifdef BCCPATH
+INCPATH=$(INCPATH) -I$(BCCPATH)\include
+LIBPATH=$(LIBPATH) -L$(BCCPATH)\lib
+!endif
+
+##############################################
+
+TARGETPATH=$(OUTPATH)\$(OUTSUB)
+TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
+
+##############################################
+# use precompiled headers
+
+!ifndef PRECOMPILE
+CFLAGS=$(CFLAGS) -Hh=flext.h
+!else
+CFLAGS=$(CFLAGS) -Hh=$(PRECOMPILE)
+!endif
+# location of precompiled file
+CFLAGS=$(CFLAGS) -H=$(TARGETPATH)\precompiled.pch
+
+##############################################
+
+LIBS=$(LIBS) cw32.lib import32.lib C0D32.OBJ
+CFLAGS=$(CFLAGS) -tWD -tWM -w-8004 -w-8027 -w-8057
+LDFLAGS=$(LDFLAGS) /C /Tpd
+
+##############################################
+
+!ifdef DEBUG
+CFLAGS=$(CFLAGS) -v -D_DEBUG
+LDFLAGS=$(LDFLAGS) /v
+!else
+CFLAGS=$(CFLAGS) $(OFLAGS) -DNDEBUG
+!endif
+
+##############################################
+# convert both *.c and *.cpp
+
+OBJSTMP= $(SRCS:.c=.obj)
+OBJS= $(OBJSTMP:.objpp=.obj)
diff --git a/externals/grill/flext/buildsys/win/gnumake-cygwin-ext.inc b/externals/grill/flext/buildsys/win/gnumake-cygwin-ext.inc
new file mode 100644
index 00000000..95b3125d
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/gnumake-cygwin-ext.inc
@@ -0,0 +1,41 @@
+# build class specific settings
+
+INCPATH += -I$(FLEXTINC)
+LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB)
+LIBS += -l$(FLEXTNAME)
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ touch $@
+
+$(TARGETPATH):
+ -mkdir -p $@
+
+$(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)
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+ chmod 755 $@
+
+##############################################
+
+_clean_:
+ rm $(COBJS) $(CPPOBJS) $(TARGET)
+
+##############################################
+
+$(INSTPATH):
+ -mkdir -p $@
+
+_install_: $(INSTPATH)
+ install $(TARGET) $(INSTPATH)
diff --git a/externals/grill/flext/buildsys/win/gnumake-cygwin-flext.inc b/externals/grill/flext/buildsys/win/gnumake-cygwin-flext.inc
new file mode 100644
index 00000000..9b22d67c
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/gnumake-cygwin-flext.inc
@@ -0,0 +1,51 @@
+# build class specific settings
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ touch $@
+
+$(TARGETPATH):
+ -mkdir -p $@
+
+$(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 SHARED
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+ chmod 755 $@
+else
+ $(AR) rc $@ $(COBJS) $(CPPOBJS)
+endif
+
+##############################################
+
+_clean_:
+ rm $(COBJS) $(CPPOBJS) $(TARGET)
+
+##############################################
+
+ifdef SHARED
+FLEXTLIBINST=$(FLEXTSHLIB)
+else
+FLEXTLIBINST=$(FLEXTLIB)
+endif
+
+$(FLEXTINC):
+ -mkdir -p $@
+
+$(FLEXTLIBINST):
+ -mkdir -p $@
+
+_install_: $(FLEXTINC) $(FLEXTLIBINST)
+ install $(TARGET) $(FLEXTLIBINST)
+ install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
diff --git a/externals/grill/flext/buildsys/win/gnumake-cygwin.inc b/externals/grill/flext/buildsys/win/gnumake-cygwin.inc
new file mode 100644
index 00000000..73425e5d
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/gnumake-cygwin.inc
@@ -0,0 +1,24 @@
+##############################################
+
+TARGETPATH=$(OUTPATH)/$(OUTSUB)
+TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT)
+
+##############################################
+
+LDFLAGS += -shared -Wl,-x
+
+##############################################
+
+ifdef DEBUG
+CFLAGS += -g -D_DEBUG
+else
+CFLAGS += $(OFLAGS) -DNDEBUG
+LDFLAGS += -Wl,-S
+endif
+
+##############################################
+
+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)))
diff --git a/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc b/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc
new file mode 100644
index 00000000..6932ae5c
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc
@@ -0,0 +1,43 @@
+# build class specific settings
+
+INCPATH += -I$(FLEXTINC)
+LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB)
+LIBS += -l$(FLEXTNAME)
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+# touch $@
+
+$(OUTPATH):
+ -mkdir $(subst /,\,$@)
+
+$(TARGETPATH): $(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)
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+
+##############################################
+
+_clean_:
+ -del $(subst /,\,$(COBJS) $(CPPOBJS) $(TARGET))
+
+##############################################
+
+$(INSTPATH):
+ -mkdir $(subst /,\,$@)
+
+_install_: $(INSTPATH)
+ copy $(subst /,\,$(TARGET) $(INSTPATH))
diff --git a/externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc b/externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc
new file mode 100644
index 00000000..22a6bdfc
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc
@@ -0,0 +1,55 @@
+# build class specific settings
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+# touch $@
+
+$(OUTPATH):
+ -mkdir $(subst /,\,$@)
+
+$(TARGETPATH): $(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 SHARED
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+else
+ $(AR) rc $@ $(COBJS) $(CPPOBJS)
+endif
+
+##############################################
+
+_clean_:
+ -del $(subst /,\,$(COBJS) $(CPPOBJS) $(TARGET))
+
+##############################################
+
+ifdef SHARED
+FLEXTLIBINST=$(FLEXTSHLIB)
+else
+FLEXTLIBINST=$(FLEXTLIB)
+endif
+
+$(FLEXTINC):
+ -mkdir $(subst /,\,$@)
+
+$(FLEXTLIBINST):
+ -mkdir $(subst /,\,$@)
+
+_install_:: $(FLEXTINC) $(FLEXTLIBINST)
+
+_install_::
+ copy $(subst /,\,$(TARGET) $(FLEXTLIBINST))
+ -for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(subst /,\,$(FLEXTPATH)) > nul
diff --git a/externals/grill/flext/buildsys/win/gnumake-mingw.inc b/externals/grill/flext/buildsys/win/gnumake-mingw.inc
new file mode 100644
index 00000000..7a8aab9c
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/gnumake-mingw.inc
@@ -0,0 +1,24 @@
+##############################################
+
+TARGETPATH=$(OUTPATH)\$(OUTSUB)
+TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
+
+##############################################
+
+LDFLAGS += -shared -Wl,-x
+
+##############################################
+
+ifdef DEBUG
+CFLAGS += -g -D_DEBUG
+else
+CFLAGS += $(OFLAGS) -DNDEBUG
+LDFLAGS += -Wl,-S
+endif
+
+##############################################
+
+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)))
diff --git a/externals/grill/flext/buildsys/win/make-bcc.inc b/externals/grill/flext/buildsys/win/make-bcc.inc
deleted file mode 100644
index dbe6b08c..00000000
--- a/externals/grill/flext/buildsys/win/make-bcc.inc
+++ /dev/null
@@ -1,128 +0,0 @@
-!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
deleted file mode 100644
index 6841cf7e..00000000
--- a/externals/grill/flext/buildsys/win/make-cygwin.inc
+++ /dev/null
@@ -1,91 +0,0 @@
-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 -p $@
-
-$(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 -p $@
-
-$(FLEXTPATH):
- -mkdir -p $@
-
-_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
deleted file mode 100644
index 693f2947..00000000
--- a/externals/grill/flext/buildsys/win/make-mingw.inc
+++ /dev/null
@@ -1,93 +0,0 @@
-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
deleted file mode 100644
index eb9e87bf..00000000
--- a/externals/grill/flext/buildsys/win/make-msvc.inc
+++ /dev/null
@@ -1,103 +0,0 @@
-!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
index 5bd543df..d0ce64fa 100644
--- a/externals/grill/flext/buildsys/win/max/config-mingw.def
+++ b/externals/grill/flext/buildsys/win/max/config-mingw.def
@@ -2,16 +2,32 @@
# 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 is MS VC++?
+# (not necessary if the build is run with the compiler environment)
+# MSVCPATH=C:/Programme/Microsoft Visual Studio .NET 2003/Vc7
+
+###############################################################
+
+# where do/should the flext headers reside/be built?
+FLEXTINC="%CommonProgramFiles%/Cycling '74/flext"
+
+# where do/should the flext static libraries reside/be built?
+FLEXTLIB=$(FLEXTINC)
-# where do the flext headers and libraries reside?
-FLEXTPATH="%CommonProgramFiles%/Cycling '74/flext"
+# where do/should the flext shared libraries reside/be built?
+FLEXTSHLIB=$(FLEXTINC)
+
+###############################################################
# where should the external be built?
# (path for temporary files)
OUTPATH=max-mingw
+# where should the external be installed?
+INSTPATH="%CommonProgramFiles%/Cycling '74/externals/flext"
+
+###############################################################
+
# 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
index ae313e14..1c849d32 100644
--- a/externals/grill/flext/buildsys/win/max/config-msvc.def
+++ b/externals/grill/flext/buildsys/win/max/config-msvc.def
@@ -2,16 +2,36 @@
# 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 is MS VC++?
+# (not necessary if the build is run with the compiler environment)
+# MSVCPATH=C:\Programme\Microsoft Visual Studio .NET 2003\Vc7
+
+###############################################################
+
+# where do/should the flext headers reside/be built?
+FLEXTINC="%CommonProgramFiles%\Cycling '74\flext"
+
+# where do/should the flext static libraries reside/be built?
+FLEXTLIB=$(FLEXTINC)
+
+# where do/should the flext shared libraries reside/be built?
+FLEXTSHLIB=$(FLEXTINC)
-# 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
+# where should the external be installed?
+INSTPATH="%CommonProgramFiles%\Cycling '74\externals\flext"
+
+###############################################################
+
# some user-definable flags
# (check if they match your system!)
OFLAGS=/G6 /Ox /arch:SSE
+
+# uncomment to link against dynamic C runtime libraries
+# (don't use this if you want to distribute the built product)
+#DYNAMIC=1
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-mingw-ext.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw-ext.inc
new file mode 100644
index 00000000..5df7e2f2
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/max/gnumake-mingw-ext.inc
@@ -0,0 +1 @@
+EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-mingw-flext.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw-flext.inc
new file mode 100644
index 00000000..da986e52
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/max/gnumake-mingw-flext.inc
@@ -0,0 +1,6 @@
+ifdef SHARED
+EXT=dll
+else
+EXT=LIB
+endif
+
diff --git a/externals/grill/flext/buildsys/win/max/make-mingw.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
index baa5c9d7..cf5dc17a 100644
--- a/externals/grill/flext/buildsys/win/max/make-mingw.inc
+++ b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
@@ -4,7 +4,5 @@ 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
+# these are both in MAXSDKPATH
LIBS += -lmaxapi -lmaxaudio
-
-EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/max/nmake-msvc-ext.inc b/externals/grill/flext/buildsys/win/max/nmake-msvc-ext.inc
new file mode 100644
index 00000000..5df7e2f2
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/max/nmake-msvc-ext.inc
@@ -0,0 +1 @@
+EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/max/nmake-msvc-flext.inc b/externals/grill/flext/buildsys/win/max/nmake-msvc-flext.inc
new file mode 100644
index 00000000..a080ae72
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/max/nmake-msvc-flext.inc
@@ -0,0 +1,5 @@
+!ifdef SHARED
+EXT=dll
+!else
+EXT=lib
+!endif
diff --git a/externals/grill/flext/buildsys/win/max/make-msvc.inc b/externals/grill/flext/buildsys/win/max/nmake-msvc.inc
index e3bd547e..02cf3cf5 100644
--- a/externals/grill/flext/buildsys/win/max/make-msvc.inc
+++ b/externals/grill/flext/buildsys/win/max/nmake-msvc.inc
@@ -6,5 +6,3 @@ LIBPATH=$(LIBPATH) /LIBPATH:$(MAXSDKPATH)\max-includes /LIBPATH:$(MAXSDKPATH)\ms
# these are both in MAXSDKPATH
LIBS=$(LIBS) maxapi.lib maxaudio.lib
-
-EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/nmake-msvc-ext.inc b/externals/grill/flext/buildsys/win/nmake-msvc-ext.inc
new file mode 100644
index 00000000..252d5d2f
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/nmake-msvc-ext.inc
@@ -0,0 +1,45 @@
+# build class specific settings
+
+INCPATH=$(INCPATH) /I$(FLEXTINC)
+LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTLIB)
+LIBS=$(LIBS) $(FLEXTNAME).lib
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+$(OUTPATH):
+ if not exist $@ mkdir $@ > nul
+
+$(TARGETPATH): $(OUTPATH)
+ if not exist $@ mkdir $@ > nul
+
+{$(SRCDIR)}.cpp{}.obj:
+ cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
+
+{$(SRCDIR)}.c{}.obj:
+ cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
+
+$(TARGET):: $(TARGETPATH)
+
+$(TARGET):: $(OBJS)
+ @cd $(TARGETPATH)
+ link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F)
+ @cd ..\..
+
+##############################################
+# remove build
+
+_clean_:
+ -del /q $(TARGET) > nul
+ -cd $(TARGETPATH)
+ -del /q $(OBJS) > nul
+
+##############################################
+
+$(INSTPATH):
+ if not exist $@ mkdir $@ > nul
+
+_install_: $(INSTPATH)
+ copy $(TARGET) $(INSTPATH) > nul
diff --git a/externals/grill/flext/buildsys/win/nmake-msvc-flext.inc b/externals/grill/flext/buildsys/win/nmake-msvc-flext.inc
new file mode 100644
index 00000000..6c64d682
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/nmake-msvc-flext.inc
@@ -0,0 +1,66 @@
+# build class specific settings
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+$(OUTPATH):
+ if not exist $@ mkdir $@ > nul
+
+$(TARGETPATH): $(OUTPATH)
+ 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 SHARED
+ link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F)
+!else
+ lib /OUT:$(@F) $(OBJS)
+!endif
+ @cd ..\..
+
+##############################################
+
+# remove build
+_clean_:
+ -del /q $(TARGET) > nul
+ -cd $(TARGETPATH)
+ -del /q $(OBJS) > nul
+
+##############################################
+
+!ifdef SHARED
+FLEXTLIBINST=$(FLEXTSHLIB)
+!else
+FLEXTLIBINST=$(FLEXTLIB)
+!endif
+
+$(FLEXTINC):
+ if not exist $@ mkdir $@ > nul
+
+$(FLEXTLIB):
+ if not exist $@ mkdir $@ > nul
+
+$(FLEXTLIBINST):
+ if not exist $@ mkdir $@ > nul
+
+_install_:: $(FLEXTINC) $(FLEXTLIB) $(FLEXTLIBINST)
+
+_install_::
+ copy $(TARGET) $(FLEXTLIBINST) > nul
+!ifdef SHARED
+# copy import library
+ copy $(TARGET:.dll=.lib) $(FLEXTLIB) > nul
+!endif
+# copy headers
+ for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(FLEXTINC) > nul
diff --git a/externals/grill/flext/buildsys/win/nmake-msvc.inc b/externals/grill/flext/buildsys/win/nmake-msvc.inc
new file mode 100644
index 00000000..fb74a7bf
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/nmake-msvc.inc
@@ -0,0 +1,64 @@
+!ifdef MSVCPATH
+INCPATH=$(INCPATH) /I$(MSVCPATH)\include
+LIBPATH=$(LIBPATH) /LIBPATH:$(MSVCPATH)\lib
+!endif
+
+##############################################
+
+TARGETPATH=$(OUTPATH)\$(OUTSUB)
+TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
+
+##############################################
+# use precompiled headers (automatic mode)
+
+!ifndef PRECOMPILE
+CFLAGS=$(CFLAGS) /YXflext.h
+!else
+CFLAGS=$(CFLAGS) /YX$(PRECOMPILE)
+!endif
+# location of precompiled file
+CFLAGS=$(CFLAGS) /Fp$(TARGETPATH)\precompiled.pch
+
+##############################################
+
+# create code for DLL
+CFLAGS=$(CFLAGS) /LD /GD
+
+# enable exception handling
+CFLAGS=$(CFLAGS) /GX
+
+# no banner
+CFLAGS=$(CFLAGS) /nologo
+LDFLAGS=$(LDFLAGS) /nologo
+
+##############################################
+
+!ifdef DEBUG
+
+CFLAGS=$(CFLAGS) /D_DEBUG
+!ifdef DYNAMIC
+CFLAGS=$(CFLAGS) /MDd
+!else
+CFLAGS=$(CFLAGS) /MTd
+!endif
+
+LDFLAGS=$(LDFLAGS) /DEBUG
+
+!else
+
+CFLAGS=$(CFLAGS) $(OFLAGS) /DNDEBUG
+!ifdef DYNAMIC
+CFLAGS=$(CFLAGS) /MD
+!else
+CFLAGS=$(CFLAGS) /MT
+!endif
+
+LDFLAGS=$(LDFLAGS) /INCREMENTAL:NO
+
+!endif
+
+##############################################
+# convert both *.c and *.cpp
+
+OBJSTMP= $(SRCS:.c=.obj)
+OBJS= $(OBJSTMP:.objpp=.obj)
diff --git a/externals/grill/flext/buildsys/win/pd/bmake-bcc-ext.inc b/externals/grill/flext/buildsys/win/pd/bmake-bcc-ext.inc
new file mode 100644
index 00000000..b2234c5b
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/bmake-bcc-ext.inc
@@ -0,0 +1 @@
+EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/bmake-bcc-flext.inc b/externals/grill/flext/buildsys/win/pd/bmake-bcc-flext.inc
new file mode 100644
index 00000000..a080ae72
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/bmake-bcc-flext.inc
@@ -0,0 +1,5 @@
+!ifdef SHARED
+EXT=dll
+!else
+EXT=lib
+!endif
diff --git a/externals/grill/flext/buildsys/win/pd/make-bcc.inc b/externals/grill/flext/buildsys/win/pd/bmake-bcc.inc
index c4a9892c..3b257b0d 100644
--- a/externals/grill/flext/buildsys/win/pd/make-bcc.inc
+++ b/externals/grill/flext/buildsys/win/pd/bmake-bcc.inc
@@ -4,5 +4,3 @@ 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/config-bcc.def b/externals/grill/flext/buildsys/win/pd/config-bcc.def
index 85f78a22..285e5b02 100644
--- a/externals/grill/flext/buildsys/win/pd/config-bcc.def
+++ b/externals/grill/flext/buildsys/win/pd/config-bcc.def
@@ -1,18 +1,30 @@
# 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 do/should the flext headers reside/be built?
+FLEXTINC=$(PDPATH)\flext
+
+# where do/should the flext static libraries reside/be built?
+FLEXTLIB=$(FLEXTINC)
+
+# where do/should the flext shared libraries reside/be built?
+FLEXTSHLIB=$(FLEXTINC)
+
+###############################################################
+
# where should the external be built?
OUTPATH=pd-bcc
+# where should the external be installed?
+INSTPATH=$(PDPATH)\extra
+
+###############################################################
+
# 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
index 0a63ea3f..11bca921 100644
--- a/externals/grill/flext/buildsys/win/pd/config-cygwin.def
+++ b/externals/grill/flext/buildsys/win/pd/config-cygwin.def
@@ -1,15 +1,27 @@
# where is PD?
PDPATH=/cygdrive/c/programme/audio/pd
-# where should the external be installed?
-INSTPATH=$(PDPATH)/extra
+###############################################################
+
+# where do/should the flext headers reside/be built?
+FLEXTINC=$(PDPATH)/flext
+
+# where do/should the flext static libraries reside/be built?
+FLEXTLIB=$(FLEXTINC)
+
+# where do/should the flext shared libraries reside/be built?
+FLEXTSHLIB=$(FLEXTINC)
-# where do the flext headers and libraries reside?
-FLEXTPATH=$(PDPATH)/flext
+###############################################################
# where should the external be built?
OUTPATH=pd-cygwin
+# where should the external be installed?
+INSTPATH=$(PDPATH)/extra
+
+###############################################################
+
# 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
index 2082f34b..7b720f58 100644
--- a/externals/grill/flext/buildsys/win/pd/config-mingw.def
+++ b/externals/grill/flext/buildsys/win/pd/config-mingw.def
@@ -1,15 +1,27 @@
# where is PD?
PDPATH=c:/programme/audio/pd
-# where should the external be installed?
-INSTPATH=$(PDPATH)/extra
+###############################################################
+
+# where do/should the flext headers reside/be built?
+FLEXTINC=$(PDPATH)/flext
+
+# where do/should the flext static libraries reside/be built?
+FLEXTLIB=$(FLEXTINC)
+
+# where do/should the flext shared libraries reside/be built?
+FLEXTSHLIB=$(FLEXTINC)
-# where do the flext headers and libraries reside?
-FLEXTPATH=$(PDPATH)/flext
+###############################################################
# where should the external be built?
OUTPATH=pd-mingw
+# where should the external be installed?
+INSTPATH=$(PDPATH)/extra
+
+###############################################################
+
# 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
index e50837a6..a7171ff2 100644
--- a/externals/grill/flext/buildsys/win/pd/config-msvc.def
+++ b/externals/grill/flext/buildsys/win/pd/config-msvc.def
@@ -1,19 +1,36 @@
# 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
+PDPATH=c:\programme\audio\pd
# 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 do/should the flext headers reside/be built?
+FLEXTINC=$(PDPATH)\flext
+
+# where do/should the flext static libraries reside/be built?
+FLEXTLIB=$(FLEXTINC)
+
+# where do/should the flext shared libraries reside/be built?
+FLEXTSHLIB=$(FLEXTINC)
+
+###############################################################
+
# where should the external be built?
+# (relative one-level subpath to project folder)
OUTPATH=pd-msvc
+# where should externals be installed?
+INSTPATH=$(PDPATH)\extra
+
+###############################################################
+
# user defined compiler flags
# (check if they match your system!)
OFLAGS=/G6 /Ox /arch:SSE
+
+# uncomment to link against dynamic C runtime libraries
+# (don't use this if you want to distribute the built product)
+#DYNAMIC=1
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-ext.inc b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-ext.inc
new file mode 100644
index 00000000..b2234c5b
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-ext.inc
@@ -0,0 +1 @@
+EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-flext.inc b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-flext.inc
new file mode 100644
index 00000000..5c8a7a83
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-flext.inc
@@ -0,0 +1,5 @@
+ifdef SHARED
+EXT=dll
+else
+EXT=a
+endif
diff --git a/externals/grill/flext/buildsys/win/pd/make-cygwin.inc b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin.inc
index d1641769..054526c0 100644
--- a/externals/grill/flext/buildsys/win/pd/make-cygwin.inc
+++ b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin.inc
@@ -7,5 +7,3 @@ 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/gnumake-mingw-ext.inc b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-ext.inc
new file mode 100644
index 00000000..b2234c5b
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-ext.inc
@@ -0,0 +1 @@
+EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-mingw-flext.inc b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-flext.inc
new file mode 100644
index 00000000..5c8a7a83
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-flext.inc
@@ -0,0 +1,5 @@
+ifdef SHARED
+EXT=dll
+else
+EXT=a
+endif
diff --git a/externals/grill/flext/buildsys/win/pd/make-mingw.inc b/externals/grill/flext/buildsys/win/pd/gnumake-mingw.inc
index 836ef3b6..1002a914 100644
--- a/externals/grill/flext/buildsys/win/pd/make-mingw.inc
+++ b/externals/grill/flext/buildsys/win/pd/gnumake-mingw.inc
@@ -5,5 +5,3 @@ LIBPATH += -L$(PDPATH)/bin
# these are both in PDPATH
LIBS += -lpd -lpthreadVC
-
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/nmake-msvc-ext.inc b/externals/grill/flext/buildsys/win/pd/nmake-msvc-ext.inc
new file mode 100644
index 00000000..b2234c5b
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/nmake-msvc-ext.inc
@@ -0,0 +1 @@
+EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/nmake-msvc-flext.inc b/externals/grill/flext/buildsys/win/pd/nmake-msvc-flext.inc
new file mode 100644
index 00000000..a080ae72
--- /dev/null
+++ b/externals/grill/flext/buildsys/win/pd/nmake-msvc-flext.inc
@@ -0,0 +1,5 @@
+!ifdef SHARED
+EXT=dll
+!else
+EXT=lib
+!endif
diff --git a/externals/grill/flext/buildsys/win/pd/make-msvc.inc b/externals/grill/flext/buildsys/win/pd/nmake-msvc.inc
index 41a7cd30..75a99d4b 100644
--- a/externals/grill/flext/buildsys/win/pd/make-msvc.inc
+++ b/externals/grill/flext/buildsys/win/pd/nmake-msvc.inc
@@ -5,5 +5,3 @@ LIBPATH=$(LIBPATH) /LIBPATH:$(PDPATH)\bin
# these are both in PDPATH
LIBS=$(LIBS) pd.lib pthreadVC.lib
-
-EXT=dll