aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/buildsys
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2007-01-20 14:26:02 +0000
committerThomas Grill <xovo@users.sourceforge.net>2007-01-20 14:26:02 +0000
commitfa5a047a01effcc99b3390804f6c408a73b9ecf8 (patch)
treee81c05cb122440561a6e08e01bcdac266badd51f /externals/grill/flext/buildsys
parent9303c7e113a5527d58b814c7bb11db5dbdfba5a4 (diff)
PD: possibility to create DSP objects without main DSP inlet (use FLEXT_DSP0_NEW or similar)
fixing typo support for multiple archs under OSX small fix for ppc arch architecture-specific compiler flags for UB under OSX fixed severe Altivec bug changed eol-style corrections to config build templates added xcode 2.4 project fixed atom sorting (now also respect symbol content) no stripping of local symbols some fixes, mostly OS X updated build system for Max with MinGW better default values fixed bug in AtomList copying svn path=/trunk/; revision=7368
Diffstat (limited to 'externals/grill/flext/buildsys')
-rw-r--r--externals/grill/flext/buildsys/gnumake.inc63
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc2
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc2
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc4
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc2
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc53
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc45
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc-targets.inc70
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc.inc24
-rw-r--r--externals/grill/flext/buildsys/mac/max/config-gcc.def26
-rw-r--r--externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc2
-rw-r--r--externals/grill/flext/buildsys/mac/pd/config-gcc.def26
-rw-r--r--externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc4
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc4
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-mingw.inc4
-rw-r--r--externals/grill/flext/buildsys/win/max/nmake-msvc.inc4
16 files changed, 197 insertions, 138 deletions
diff --git a/externals/grill/flext/buildsys/gnumake.inc b/externals/grill/flext/buildsys/gnumake.inc
index 4d8a9b7f..27052d68 100644
--- a/externals/grill/flext/buildsys/gnumake.inc
+++ b/externals/grill/flext/buildsys/gnumake.inc
@@ -1,28 +1,53 @@
##############################################
+# cross-compilation
+##############################################
+
+ifndef ARCH
+ifeq ("$(shell uname -p)","powerpc")
+ARCH := ppc
+else
+ARCH := $(shell uname -p)
+endif
+endif
+
+##############################################
# some compiler definitions
##############################################
CFLAGS += $(UFLAGS)
+$(foreach arch,$(ARCH),$(eval CFLAGS_$(arch) += $$(UFLAGS_$(arch)) ) )
ifdef DEBUG
-CFLAGS += -D_DEBUG $(DFLAGS)
-else
-ifdef PROFILE
-CFLAGS += -DNDEBUG $(OFLAGS)
-else
-CFLAGS += -DNDEBUG $(OFLAGS)
-endif
+
+DEFS += -D_DEBUG
+CFLAGS += $(DFLAGS)
+
+define ARCH_FLAGS
+CFLAGS_$(1) += $$(DFLAGS_$(1))
+endef
+
+else ## profile and release
+
+DEFS += -DNDEBUG
+CFLAGS += $(OFLAGS)
+
+define ARCH_FLAGS
+CFLAGS_$(1) += $$(OFLAGS_$(1))
+endef
+
endif
+$(foreach arch,$(ARCH),$(eval $(call ARCH_FLAGS,$(arch))))
+
ifdef SHARED
# --- shared ---
-DEFS+=-DFLEXT_SHARED
+DEFS += -DFLEXT_SHARED
else
ifdef THREADED
# --- static multi-threaded ---
-DEFS+=-DFLEXT_THREADS
+DEFS += -DFLEXT_THREADS
else
# --- static single-threaded ---
@@ -35,36 +60,36 @@ endif
##############################################
ifdef SHARED
-TYPEEXT=_
+TYPEEXT := _
else
ifdef THREADED
-TYPEEXT=_t
+TYPEEXT := _t
else
-TYPEEXT=_s
+TYPEEXT := _s
endif
endif
ifdef DEBUG
-MODEEXT=d
+MODEEXT := d
else
ifdef PROFILE
-MODEEXT=p
+MODEEXT := p
else
-MODEEXT=
+MODEEXT :=
ifdef SHARED
-TYPEEXT=
+TYPEEXT :=
endif
endif
endif
-FLEXTNAME=flext-$(RTSYS)$(TYPEEXT)$(MODEEXT)
+FLEXTNAME := flext-$(RTSYS)$(TYPEEXT)$(MODEEXT)
##############################################
# product name and folder
##############################################
ifndef SRCDIR
-SRCDIR=.
+SRCDIR := .
endif
-OUTSUB=$(TARGETMODE)-$(TARGETTYPE)
+OUTSUB := $(TARGETMODE)-$(TARGETTYPE)
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc
index 09d77eb7..a1fef152 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc
@@ -24,9 +24,11 @@ $(TARGETPATH):
mkdir -p $@
$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
+ -mkdir -p $(dir $@)
$(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGETPATH)/%.o : $(SRCDIR)/%.c
+ -mkdir -p $(dir $@)
$(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGET):: $(TARGETPATH)
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
index be34b094..887f093a 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
@@ -21,9 +21,11 @@ $(TARGETPATH):
-mkdir -p $@
$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
+ -mkdir -p $(dir $@)
$(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGETPATH)/%.o : $(SRCDIR)/%.c
+ -mkdir -p $(dir $@)
$(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGET) :: $(TARGETPATH)
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc
index e60789ec..27c781f3 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc
@@ -21,12 +21,14 @@ $(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
touch $@
$(TARGETPATH):
- mkdir -p $@
+ -mkdir -p $@
$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
+ -mkdir -p $(dir $@)
icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGETPATH)/%.o : $(SRCDIR)/%.c
+ -mkdir -p $(dir $@)
icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGET):: $(TARGETPATH)
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
index c133baed..b289d77f 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
@@ -21,9 +21,11 @@ $(TARGETPATH):
-mkdir -p $@
$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
+ -mkdir -p $(dir $@)
icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGETPATH)/%.o : $(SRCDIR)/%.c
+ -mkdir -p $(dir $@)
icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGET) :: $(TARGETPATH)
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc
index 2f277625..bbcdf4ad 100644
--- a/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc
+++ b/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc
@@ -4,49 +4,10 @@ INCPATH += -I$(FLEXTINC)
LIBPATH += -L$(FLEXTLIB)
LIBS += -l$(FLEXTNAME)
-# obviously header precompilation os still buggy with gcc 3.3
+# common compilation stuff
+include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc
-ifdef PRECOMPILE
-#PRECOMSRC=$(SRCDIR)/$(PRECOMPILE)
-else
-#PRECOMSRC=$(FLEXTINC)/flext.h
-endif
-ifdef PRECOMSRC
-PRECOMDST=$(OBJPATH)/$(notdir $(PRECOMSRC)).gch
-PRECOMINC = -include $(OBJPATH)/$(notdir $(PRECOMSRC))
-endif
-
-##############################################
-
-CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
-CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
-COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS)))
-CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS)))
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-# Attention: $@ doesn't work for paths with spaces....
-$(OBJPATH):
- -mkdir -p $(OBJPATH)
-
-# Attention: $@ doesn't work for paths with spaces....
-$(TARGETPATH):
- -mkdir -p $(TARGETPATH)
-
-$(PRECOMDST) : $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS))
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@
-
-$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $< -o $@
-
-$(OBJPATH)/%.o : $(SRCDIR)/%.c
- $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+##### linking ###################
$(TARGET) :: $(OBJPATH) $(TARGETPATH)
@@ -65,13 +26,7 @@ ifdef TARGETPOST
$(TARGET) :: $(TARGETPOST)
endif
-##############################################
-
-_clean_:
- -rm -r $(TARGETPATH)
- -rm -r $(OBJPATH)
-
-##############################################
+###################################
# Attention: $@ doesn't work for paths with spaces....
$(INSTPATH):
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc
index 6ed4990f..916e21cc 100644
--- a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc
+++ b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc
@@ -7,39 +7,10 @@ LDFLAGS += -compatibility_version $(FLEXTMAJOR).$(FLEXTMINOR)
LDFLAGS += -preload -seg1addr 0xd0000000
endif
-##############################################
+# common compilation stuff
+include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc
-CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
-CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
-COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS)))
-CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS)))
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-$(OBJPATH):
- -mkdir -p $@
-
-$(TARGETPATH):
- -mkdir -p $@
-
-ifdef PRECOMPILE
-PRECOMSRC=$(SRCDIR)/$(PRECOMPILE)
-PRECOMDST=$(OBJPATH)/$(notdir $(PRECOMSRC)).gch
-PRECOMINC = -include $(OBJPATH)/$(notdir $(PRECOMSRC))
-endif
-
-$(PRECOMDST): $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS))
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@
-
-$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $< -o $@
-
-$(OBJPATH)/%.o : $(SRCDIR)/%.c
- $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+##### linking ###################
$(TARGET) :: $(OBJPATH) $(TARGETPATH)
@@ -58,13 +29,11 @@ else
libtool -static -o $@ $(COBJS) $(CPPOBJS)
endif
-##############################################
-
-_clean_:
- -rm -r $(TARGETPATH)
- -rm -r $(OBJPATH)
+ifdef TARGETPOST
+$(TARGET) :: $(TARGETPOST)
+endif
-##############################################
+###################################
$(FLEXTINC):
-mkdir -p $@
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-targets.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-targets.inc
new file mode 100644
index 00000000..c8804667
--- /dev/null
+++ b/externals/grill/flext/buildsys/mac/gnumake-gcc-targets.inc
@@ -0,0 +1,70 @@
+##############################################
+
+CSRCS := $(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
+CPPSRCS := $(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
+COBJS := $(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS)))
+CPPOBJS := $(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS)))
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ touch $@
+
+# Attention: $@ doesn't work for paths with spaces....
+$(OBJPATH):
+ -mkdir -p $(OBJPATH)
+
+# Attention: $@ doesn't work for paths with spaces....
+$(TARGETPATH):
+ -mkdir -p $(TARGETPATH)
+
+##### precompiled header file ###################
+
+ifdef PRECOMPILE
+PRECOMSRC := $(SRCDIR)/$(PRECOMPILE)
+else
+PRECOMSRC := $(FLEXTINC)/flext.h
+endif
+
+ifdef PRECOMSRC
+PRECOMDST := $(OBJPATH)/$(notdir $(PRECOMSRC)).gch
+PRECOMINC := -I $(OBJPATH)
+endif
+
+$(PRECOMDST) : $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ -mkdir -p $(dir $@)
+ $(CXX) -c $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@
+
+##### architecture-specific compilation ###################
+
+define ARCH_COMPILE
+$(OBJPATH)/%.opp_$(1) : $(SRCDIR)/%.cpp
+ -mkdir -p $(dir $$@)
+ $(CXX) -c $(CFLAGS) -arch $(1) $$(CFLAGS_$(1)) $(DEFS) $(PRECOMINC) $(INCPATH) $$^ -o $$@
+
+$(OBJPATH)/%.o_$(1) : $(SRCDIR)/%.c
+ -mkdir -p $(dir $$@)
+ $(CC) -c $(CFLAGS) -arch $(1) $$(CFLAGS_$(1)) $(DEFS) $(INCPATH) $$^ -o $$@
+endef
+
+# implement for all archs in ARCH
+$(foreach arch,$(ARCH),$(eval $(call ARCH_COMPILE,$(arch))))
+
+##### make fat object file ###################
+
+$(OBJPATH)/%.opp : $(foreach arch,$(ARCH),$(OBJPATH)/%.opp_$(arch))
+ lipo $^ -create -output $@
+
+$(OBJPATH)/%.o : $(foreach arch,$(ARCH),$(OBJPATH)/%.o_$(arch))
+ lipo $^ -create -output $@
+
+##############################################
+
+_clean_:
+ -rm -r $(TARGETPATH)
+ -rm -r $(OBJPATH)
+
+##############################################
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc.inc
index 67f41b9e..7572e455 100644
--- a/externals/grill/flext/buildsys/mac/gnumake-gcc.inc
+++ b/externals/grill/flext/buildsys/mac/gnumake-gcc.inc
@@ -1,32 +1,32 @@
##############################################
ifneq (,$(findstring Frameworks,$(FLEXTPREFIX)))
-FLEXTFRAMEWORK=$(FLEXTPREFIX)/flext.framework
+FLEXTFRAMEWORK := $(FLEXTPREFIX)/flext.framework
endif
ifdef FLEXTFRAMEWORK
ifndef FLEXTLIB
-FLEXTLIB=$(FLEXTFRAMEWORK)
+FLEXTLIB := $(FLEXTFRAMEWORK)
endif
ifndef FLEXTINC
-FLEXTINC=$(FLEXTFRAMEWORK)/Headers
+FLEXTINC := $(FLEXTFRAMEWORK)/Headers
endif
ifndef FLEXTSYS
-FLEXTSYS=$(FLEXTFRAMEWORK)/Resources
+FLEXTSYS := $(FLEXTFRAMEWORK)/Resources
endif
else
ifndef FLEXTLIB
-FLEXTLIB=$(FLEXTPREFIX)/lib
+FLEXTLIB := $(FLEXTPREFIX)/lib
endif
ifndef FLEXTINC
-FLEXTINC=$(FLEXTPREFIX)/include/flext
+FLEXTINC := $(FLEXTPREFIX)/include/flext
endif
ifndef FLEXTSYS
-FLEXTSYS=$(FLEXTPREFIX)/lib/flext
+FLEXTSYS := $(FLEXTPREFIX)/lib/flext
endif
endif
-FLEXTBIN=$(FLEXTPREFIX)/bin
+FLEXTBIN := $(FLEXTPREFIX)/bin
##############################################
@@ -46,3 +46,11 @@ LDFLAGS += -Wl,-S
endif
endif
+##############################################
+
+LDFLAGS += $(patsubst %,-arch %,$(ARCH))
+
+ifdef OSXSDK
+CFLAGS += -isysroot $(OSXSDK)
+LDFLAGS += -isysroot $(OSXSDK)
+endif
diff --git a/externals/grill/flext/buildsys/mac/max/config-gcc.def b/externals/grill/flext/buildsys/mac/max/config-gcc.def
index 66a8b990..5f9a1904 100644
--- a/externals/grill/flext/buildsys/mac/max/config-gcc.def
+++ b/externals/grill/flext/buildsys/mac/max/config-gcc.def
@@ -1,6 +1,6 @@
# where are the Max/MSP SDK header files?
# you should have the latest version!
-MAXSDKPATH=/Applications/MaxMSP\ 4.5/MaxMSP-SDK/4.5\ headers/c74support
+MAXSDKPATH=/Applications/MaxMSP\ 4.5/MaxMSP-SDK/c74support
###############################################################
@@ -28,12 +28,24 @@ HELPPATH=/Applications/MaxMSP\ 4.5/max-help/flext
###############################################################
# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=-faltivec -ffast-math
+UFLAGS += -ffast-math
# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=-O3
-# optimizations for G4
-OFLAGS+=-mcpu=G4
+OFLAGS += -Os -ftree-vectorize
+
+# user defined debugging flags
+DFLAGS +=
+
+# architecture-specific flags (optional)
+UFLAGS_ppc += -maltivec -faltivec
+OFLAGS_ppc += -mtune=G4
+DFLAGS_ppc +=
+
+UFLAGS_i386 += -mmmx -msse -msse2 -msse3
+OFLAGS_i386 += -mtune=prescott
+DFLAGS_i386 +=
+
+# cross-compilation (optional)
+#ARCH=i386 ppc
+#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk
diff --git a/externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc b/externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc
index cd5740f4..89ddf2d1 100644
--- a/externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc
+++ b/externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc
@@ -1,6 +1,6 @@
DEFS += -DFLEXT_SYS=1
-INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/msp-includes
+INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes
LDFLAGS += -framework MaxAPI -framework MaxAudioAPI
LDFLAGS += -dynamiclib
diff --git a/externals/grill/flext/buildsys/mac/pd/config-gcc.def b/externals/grill/flext/buildsys/mac/pd/config-gcc.def
index 925fdd9a..038fe1c1 100644
--- a/externals/grill/flext/buildsys/mac/pd/config-gcc.def
+++ b/externals/grill/flext/buildsys/mac/pd/config-gcc.def
@@ -24,13 +24,25 @@ INSTPATH=$(PDPATH)/extra
###############################################################
+# user defined compiler flags
+UFLAGS += -ffast-math
+
# user defined optimization flags
-# (check if they match your system!)
-UFLAGS=-faltivec -ffast-math
+OFLAGS += -Os -ftree-vectorize
-# user defined compiler flags
-# (check if they match your system!)
-OFLAGS=-O3
-# optimizations for G4
-OFLAGS+=-mcpu=G4
+# user defined debugging flags
+DFLAGS +=
+
+# architecture-specific flags (optional)
+UFLAGS_ppc += -maltivec -faltivec
+OFLAGS_ppc += -mtune=G4
+DFLAGS_ppc +=
+
+UFLAGS_i386 += -mmmx -msse -msse2 -msse3
+OFLAGS_i386 += -mtune=prescott
+DFLAGS_i386 +=
+
+# cross-compilation (optional)
+#ARCH=i386 ppc
+#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk
diff --git a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc
index 2e4f6995..a1712728 100644
--- a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc
+++ b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc
@@ -1,7 +1,7 @@
EXT=pd_darwin
-#LDFLAGS += -bundle -bundle_loader $(PDBIN)
-LDFLAGS += -dynamiclib -undefined dynamic_lookup
+LDFLAGS += -bundle -bundle_loader $(PDBIN)
+#LDFLAGS += -dynamiclib -undefined dynamic_lookup
TARGET=$(TARGETPATH)/$(TARGETNAME)
INSTTARGET=$(TARGET)
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc b/externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc
index 743d0e79..f0ceced1 100644
--- a/externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc
+++ b/externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc
@@ -3,8 +3,8 @@ DEFS += -DFLEXT_SYS=1
# fpack-struct should align to 2 bytes... can't specify that...
CFLAGS += -DWINVER=0x0501 -D_WIN32_WINNT=0x501
-INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/msp-includes
-LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/msp-includes
+INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes
+LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/jit-includes -L$(MAXSDKPATH)/msp-includes
# these are both in MAXSDKPATH
SYSLIBS += -lMaxAPI -lMaxAudio
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
index 28685d7e..1baa82f9 100644
--- a/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
+++ b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
@@ -5,8 +5,8 @@ CFLAGS += -DWINVER=0x0501 -D_WIN32_WINNT=0x501
# suppress multiple symbol errors
LDFLAGS += -Wl,--allow-multiple-definition
-INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/msp-includes
-LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/msp-includes
+INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes
+LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/jit-includes -L$(MAXSDKPATH)/msp-includes
# these are both in MAXSDKPATH
SYSLIBS += -lMaxAPI -lMaxAudio
diff --git a/externals/grill/flext/buildsys/win/max/nmake-msvc.inc b/externals/grill/flext/buildsys/win/max/nmake-msvc.inc
index c78b74aa..089e5a57 100644
--- a/externals/grill/flext/buildsys/win/max/nmake-msvc.inc
+++ b/externals/grill/flext/buildsys/win/max/nmake-msvc.inc
@@ -1,8 +1,8 @@
DEFS=$(DEFS) /DFLEXT_SYS=1
CFLAGS=$(CFLAGS) /Zp2 /DWINVER=0x0501 /D_WIN32_WINNT=0x501
-INCPATH=$(INCPATH) /I$(MAXSDKPATH)\max-includes /I$(MAXSDKPATH)\msp-includes
-LIBPATH=$(LIBPATH) /LIBPATH:$(MAXSDKPATH)\max-includes /LIBPATH:$(MAXSDKPATH)\msp-includes
+INCPATH=$(INCPATH) /I$(MAXSDKPATH)\max-includes /I$(MAXSDKPATH)\jit-includes /I$(MAXSDKPATH)\msp-includes
+LIBPATH=$(LIBPATH) /LIBPATH:$(MAXSDKPATH)\max-includes /LIBPATH:$(MAXSDKPATH)\jit-includes /LIBPATH:$(MAXSDKPATH)\msp-includes
# these are both in MAXSDKPATH
LIBS=$(LIBS) maxapi.lib maxaudio.lib