aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-01-13 04:59:11 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-01-13 04:59:11 +0000
commit12dd4dd914b26ef48f6d6b7f49077d62b63be217 (patch)
tree40455f88c69fa072c1120dbd4f644510cb6fba56
parente39ca045a8ef5c6f2e6f1fbd3aba8bd2641296b2 (diff)
various fixes to build system
fixes for build system better templates, some minor changes build system: added profiler mode, more fixes added ICC/linux support small optimizations svn path=/trunk/; revision=2498
-rw-r--r--externals/grill/flext/build.txt373
-rw-r--r--externals/grill/flext/build/gnumake-lnx-gcc.inc34
-rw-r--r--externals/grill/flext/build/gnumake-lnx-icc.inc17
-rw-r--r--externals/grill/flext/buildsys/build-icc.sh5
-rw-r--r--externals/grill/flext/buildsys/gnumake.mak21
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc4
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc4
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc.inc5
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc46
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc56
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc.inc31
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/config-gcc.def3
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/config-icc.def34
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-icc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-icc-flext.inc6
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-icc.inc4
-rw-r--r--externals/grill/flext/buildsys/mac/pd/config-gcc.def1
-rw-r--r--externals/grill/flext/buildsys/win/bmake-bcc.inc8
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-cygwin.inc4
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc22
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc29
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw.inc4
-rw-r--r--externals/grill/flext/buildsys/win/max/config-mingw.def2
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-bcc.def3
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-cygwin.def7
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-mingw.def5
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-msvc.def3
27 files changed, 491 insertions, 241 deletions
diff --git a/externals/grill/flext/build.txt b/externals/grill/flext/build.txt
index e1c2b1a4..56762948 100644
--- a/externals/grill/flext/build.txt
+++ b/externals/grill/flext/build.txt
@@ -1,174 +1,199 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-----------------------------------------------------------------------------
-
-This document consists of the following parts:
-
-1) Using the flext build system
-1.1) Building flext
-1.2) Building externals
-
-2) Using autoconf
-
-3) Other ways to compile flext and flext-based externals
-
-----------------------------------------------------------------------------
-
-1) Using the flext build system
-===============================
-
-flext provides a universal build system which supports
-
-- various operating systems
- Windows (win)
- Linux (lnx)
- MacOSX (mac)
-- various real-time systems
- Pure Data (pd)
- Max/MSP (max)
-- various make programs
- GNU make (gnumake)
- Microsoft nmake (nmake)
- Borland make (bmake)
-- various compilers
- Microsoft Visual C/C++ 6.0 or .NET 2002/2003 (msvc)
- GNU gcc 2.95 and above (gcc,cygwin,mingw)
- Borland bcc32 (bcc)
-
-Useful combinations of the above are
-
-win pd msvc, using nmake
-win pd cygwin, using gnumake
-win pd mingw, using gnumake
-win max msvc, using nmake
-win pd bcc, using bmake
-mac pd gcc, using gnumake
-mac max gcc, using gnumake - Mach-O externals only (Max 4.5 upwards)
-
-
-There are two central scripts in the flext folder which invoke the building process:
-- build.sh for bash shells (Linux, MacOSX, cygwin)
-- build.bat for the Windows command prompt
-
-A project needs to provide some information in order to be built properly.
-By default, this resides in a file called package.txt
-
-
-Please note, that the build system is shell-oriented, which means, that you'll have
-to launch a command prompt (cmd.exe under Windows) and probably also set some
-environment variables for your development system (e.g. run vcvars32.bat for Microsoft Visual Studio)
-
-By invoking one of the build scripts (e.g. with "bash build.sh" under unix,
-or just "build" unter Windows) you'll get some lines of help.
-Operating System, real-time system and compiler need to be provided as arguments.
-
-
-See buildsys/readme.txt for developer-centered information.
-
-
-1.1) Building flext
-===================
-
-Flext can build itself using the build system.
-From the flext main directory, run the build script
-
-e.g. under Windows
- build win pd msvc
-or under unix with
- bash build.sh lnx pd gcc
-
-When you run it for the first time, one or more configuration files will be created
-from templates - you will get a message on the console.
-You should edit the files to adapt it to your system.
-
-Then install flext with (under Windows)
- build win pd msvc install
-or (under unix)
- bash build.sh lnx pd gcc install
-
-
-1.2) Building externals
-=======================
-
-The flext build system can be used to compile flext-based externals or also
-native PD and Max/MSP externals, provided there is a package.txt file in the project folder.
-
-In the shell, change to the project folder.
-Then, simply run the flext build script,
-
-e.g. under Windows
- ..\flext\build win pd msvc
-Then install your newly built external with
- ..\flext\build win pd msvc install
-
-or under unix with
- bash ../flext/build.sh lnx pd gcc
-Then install your external with
- bash ../flext/build.sh lnx pd gcc install
-
-
-----------------------------------------------------------------------------
-
-2) Using autoconf
-=================
-
-Thanks to Tim Blechmann, flext can also be built using autoconf.
-This only works under unix shells.
-
-When starting from a fresh cvs-based copy of flext first run
-./bootstrap.sh
-
-then you can run
-./configure --help
-to get a page of options.
-
-You need to pass the path to the PD source files to the ./configure script, e.g. with
-./configure --with-sysdir=/usr/local/src/pd/src
-
-Then build flext with
-make
-and install it with
-su -c "make install"
-
-----------------------------------------------------------------------------
-
-3) Other ways to compile flext and flext-based externals
-========================================================
-
-- Windows - Microsoft Visual Studio projects (.vcproj files)
-
- Please have a look at the projects delivered with flext and flext-based externals.
-
-- MacOSX - Apple Xcode projects (.xcode bundles)
-
- Please have a look at the projects delivered with flext and flext-based externals.
-
- Xcode projects often use some Source Trees (definable in the Xcode Preferences).
- - Flext - the flext main folder
- - PD - the PD installation
- - Max SDK - the Max SDK (path ending with "c74support")
- - Max Common - Max common files (normally /Library/Application\ Support/Cycling\ \'74 )
-
-- MacOSX - Metrowerks Codewarrior (.mcp files)
-
- You should have the following "Source Trees" (CW preferences, not project specific!) defined:
- "OS X Volume" - Pointing to your OSX boot drive
- "flext" - Pointing to the flext main directory
- "Cycling74 OSX" - Pointing to the SDK for Max/MSP - the path should end with /c74support
-
- With your project using flext use the prefix file "flcwmax-x.h" or,
- alternatively "flcwmax-x-thr.h" for threading support.
-
-- MacOS9 - Metrowerks Codewarrior (.mcp files)
-
- You should have the following "Source Trees" (CW preferences, not project specific!) defined:
- "flext" - Pointing to the flext main directory
- "Cycling74" - Pointing to the Cycling 74 SDK
- "MP SDK" - Pointing to the Multiprocessing SDK (for threading support)
-
- With your project using flext use the prefix file "flcwmax.h" or,
- alternatively "flcwmax-thr.h" for threading support.
+flext - C++ layer for Max/MSP and pd (pure data) externals
+
+Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "license.txt," in this distribution.
+
+----------------------------------------------------------------------------
+
+This document consists of the following parts:
+
+1) Using the flext build system
+1.1) Building flext
+1.2) Building externals
+1.3) Tested configurations
+
+2) Using autoconf
+
+3) Other ways to compile flext and flext-based externals
+
+----------------------------------------------------------------------------
+
+1) Using the flext build system
+===============================
+
+flext provides a universal build system which supports
+
+- various operating systems
+ Windows (win)
+ Linux (lnx)
+ MacOSX (mac)
+- various real-time systems
+ Pure Data (pd)
+ Max/MSP (max)
+- various make programs
+ GNU make (gnumake)
+ Microsoft nmake (nmake)
+ Borland make (bmake)
+- various compilers
+ Microsoft Visual C/C++ 6.0 or .NET 2002/2003 (msvc)
+ GNU gcc 2.95 and above (gcc,cygwin,mingw)
+ Borland bcc32 (bcc)
+
+Useful combinations of the above are
+
+win pd msvc, using nmake
+win pd cygwin, using gnumake
+win pd mingw, using gnumake
+win max msvc, using nmake
+win pd bcc, using bmake
+mac pd gcc, using gnumake
+mac max gcc, using gnumake - Mach-O externals only (Max 4.5 upwards)
+
+
+There are two central scripts in the flext folder which invoke the building process:
+- build.sh for bash shells (Linux, MacOSX, cygwin)
+- build.bat for the Windows command prompt
+
+A project needs to provide some information in order to be built properly.
+By default, this resides in a file called package.txt
+
+
+Please note, that the build system is shell-oriented, which means, that you'll have
+to launch a command prompt (cmd.exe under Windows) and probably also set some
+environment variables for your development system (e.g. run vcvars32.bat for Microsoft Visual Studio)
+
+By invoking one of the build scripts (e.g. with "bash build.sh" under unix,
+or just "build" unter Windows) you'll get some lines of help.
+Operating System, real-time system and compiler need to be provided as arguments.
+
+
+See buildsys/readme.txt for developer-centered information.
+
+
+
+1.1) Building flext
+===================
+
+Flext can build itself using the build system.
+From the flext main directory, run the build script
+
+e.g. under Windows
+ build win pd msvc
+or under unix with
+ bash build.sh lnx pd gcc
+
+When you run it for the first time, one or more configuration files will be created
+from templates - you will get a message on the console.
+You should edit the files to adapt it to your system.
+
+Then install flext with (under Windows)
+ build win pd msvc install
+or (under unix)
+ bash build.sh lnx pd gcc install
+
+
+1.2) Building externals
+=======================
+
+The flext build system can be used to compile flext-based externals or also
+native PD and Max/MSP externals, provided there is a package.txt file in the project folder.
+
+In the shell, change to the project folder.
+Then, simply run the flext build script,
+
+e.g. under Windows
+ ..\flext\build win pd msvc
+Then install your newly built external with
+ ..\flext\build win pd msvc install
+You can clean up the intermediate build folders with
+ ..\flext\build win pd msvc clean
+
+or under unix with
+ bash ../flext/build.sh lnx pd gcc
+Then install your external with
+ bash ../flext/build.sh lnx pd gcc install
+You can clean up the intermediate build folders with
+ bash ../flext/build.sh lnx pd gcc clean
+
+
+1.3) Building externals
+=======================
+
+Both flext and flext-based externals have been successfully built with the
+following combination of platform-system-compiler, build type.
+A missing combination does not necessarily mean that it won't work.
+
+win-pd-msvc, single/multi/shared
+win-pd-bcc, single/multi/shared
+win-pd-mingw, single/multi/shared
+win-pd-cygwin,
+win-max-msvc, single/multi/shared
+
+
+mac-pd-gcc, single/multi/shared
+mac-max-gcc, single/multi/shared
+
+lnx-pd-gcc, single/multi/shared
+
+----------------------------------------------------------------------------
+
+2) Using autoconf
+=================
+
+Thanks to Tim Blechmann, flext can also be built using autoconf.
+This only works under unix shells.
+
+When starting from a fresh cvs-based copy of flext first run
+./bootstrap.sh
+
+then you can run
+./configure --help
+to get a page of options.
+
+You need to pass the path to the PD source files to the ./configure script, e.g. with
+./configure --with-sysdir=/usr/local/src/pd/src
+
+Then build flext with
+make
+and install it with
+su -c "make install"
+
+----------------------------------------------------------------------------
+
+3) Other ways to compile flext and flext-based externals
+========================================================
+
+- Windows - Microsoft Visual Studio projects (.vcproj files)
+
+ Please have a look at the projects delivered with flext and flext-based externals.
+
+- MacOSX - Apple Xcode projects (.xcode bundles)
+
+ Please have a look at the projects delivered with flext and flext-based externals.
+
+ Xcode projects often use some Source Trees (definable in the Xcode Preferences).
+ - Flext - the flext main folder
+ - PD - the PD installation
+ - Max SDK - the Max SDK (path ending with "c74support")
+ - Max Common - Max common files (normally /Library/Application\ Support/Cycling\ \'74 )
+
+- MacOSX - Metrowerks Codewarrior (.mcp files)
+
+ You should have the following "Source Trees" (CW preferences, not project specific!) defined:
+ "OS X Volume" - Pointing to your OSX boot drive
+ "flext" - Pointing to the flext main directory
+ "Cycling74 OSX" - Pointing to the SDK for Max/MSP - the path should end with /c74support
+
+ With your project using flext use the prefix file "flcwmax-x.h" or,
+ alternatively "flcwmax-x-thr.h" for threading support.
+
+- MacOS9 - Metrowerks Codewarrior (.mcp files)
+
+ You should have the following "Source Trees" (CW preferences, not project specific!) defined:
+ "flext" - Pointing to the flext main directory
+ "Cycling74" - Pointing to the Cycling 74 SDK
+ "MP SDK" - Pointing to the Multiprocessing SDK (for threading support)
+
+ With your project using flext use the prefix file "flcwmax.h" or,
+ alternatively "flcwmax-thr.h" for threading support.
diff --git a/externals/grill/flext/build/gnumake-lnx-gcc.inc b/externals/grill/flext/build/gnumake-lnx-gcc.inc
index 9cd5ac8f..1eb1ce77 100644
--- a/externals/grill/flext/build/gnumake-lnx-gcc.inc
+++ b/externals/grill/flext/build/gnumake-lnx-gcc.inc
@@ -1,17 +1,17 @@
-ifdef SIMD
-DEFS += -DFLEXT_USE_SIMD
-endif
-
-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
+ifdef SIMD
+DEFS += -DFLEXT_USE_SIMD
+endif
+
+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/gnumake-lnx-icc.inc b/externals/grill/flext/build/gnumake-lnx-icc.inc
new file mode 100644
index 00000000..1eb1ce77
--- /dev/null
+++ b/externals/grill/flext/build/gnumake-lnx-icc.inc
@@ -0,0 +1,17 @@
+ifdef SIMD
+DEFS += -DFLEXT_USE_SIMD
+endif
+
+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/buildsys/build-icc.sh b/externals/grill/flext/buildsys/build-icc.sh
new file mode 100644
index 00000000..d110da66
--- /dev/null
+++ b/externals/grill/flext/buildsys/build-icc.sh
@@ -0,0 +1,5 @@
+#! /bin/bash
+
+build=${0%/*}/
+
+make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=icc BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9
diff --git a/externals/grill/flext/buildsys/gnumake.mak b/externals/grill/flext/buildsys/gnumake.mak
index 4f9ca055..85559e13 100644
--- a/externals/grill/flext/buildsys/gnumake.mak
+++ b/externals/grill/flext/buildsys/gnumake.mak
@@ -84,22 +84,38 @@ include $(BUILDPATH)targets-$(BUILDCLASS).inc
.PRECIOUS: $(SYSCONFIG) $(USRCONFIG)
$(SYSCONFIG): $(SYSDEFAULT)
+ifeq ($(COMPILER),mingw)
+ @copy $(subst /,\,$<) $(subst /,\,$@)
+else
@cp $< $@
+endif
@echo -------------------------------------------------------------------------
@echo A default system configuration file has been created.
@echo Please edit $(SYSCONFIG)
@echo to match your platform, then start again.
@echo -------------------------------------------------------------------------
+ifeq ($(COMPILER),mingw)
+ @exit 1
+else
@false
+endif
ifdef BUILDDIR
$(USRCONFIG): $(USRDEFAULT)
+ifeq ($(COMPILER),mingw)
+ @copy $(subst /,\,$<) $(subst /,\,$@)
+else
@cp $< $@
+endif
@echo -------------------------------------------------------------------------
@echo A default package configuration file has been created.
@echo Please edit $(USRCONFIG), then start again.
@echo -------------------------------------------------------------------------
+ifeq ($(COMPILER),mingw)
+ @exit 1
+else
@false
+endif
$(USRDEFAULT) $(USRMAKE):
@echo -------------------------------------------------------------------------
@@ -109,5 +125,10 @@ $(USRDEFAULT) $(USRMAKE):
@echo and
@echo $(USRMAKE)
@echo -------------------------------------------------------------------------
+ifeq ($(COMPILER),mingw)
+ @exit 1
+else
@false
endif
+
+endif
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc
index 1e2d61d3..22314356 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc
@@ -26,7 +26,11 @@ $(TARGET):: $(TARGETPATH)
$(TARGET):: $(COBJS) $(CPPOBJS)
$(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
chmod 755 $@
+ifndef DEBUG
+ifndef PROFILE
strip --strip-unneeded $@
+endif
+endif
##############################################
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
index ae9b4a48..9f587cfc 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
@@ -23,7 +23,11 @@ $(TARGET) :: $(COBJS) $(CPPOBJS)
ifdef SHARED
$(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
chmod 755 $@
+ifndef DEBUG
+ifndef PROFILE
strip --strip-unneeded $@
+endif
+endif
else
$(AR) rc $@ $(COBJS) $(CPPOBJS)
endif
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc.inc
index 9927fb1a..4be5953d 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-gcc.inc
@@ -7,16 +7,17 @@ TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT)
##############################################
CFLAGS += -pthread
-LDFLAGS += -pthread -shared -Wl,-x
+LDFLAGS += -pthread -shared -Wl,-x
##############################################
ifdef DEBUG
CFLAGS += -g
+LDFLAGS += -g
else
ifdef PROFILE
CFLAGS += -g -pg
-LDFLAGS += -pg
+LDFLAGS += -g -pg
else
LDFLAGS += -Wl,-S
endif
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc
new file mode 100644
index 00000000..4ce1c1da
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc
@@ -0,0 +1,46 @@
+# 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
+ icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGETPATH)/%.o : $(SRCDIR)/%.c
+ icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGET):: $(TARGETPATH)
+
+$(TARGET):: $(COBJS) $(CPPOBJS)
+ icc $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+ chmod 755 $@
+ifndef DEBUG
+ifndef PROFILE
+ strip --strip-unneeded $@
+endif
+endif
+
+##############################################
+
+_clean_:
+ -rm -r $(TARGETPATH)
+
+##############################################
+
+$(INSTPATH):
+ -mkdir -p $@
+
+_install_: $(INSTPATH)
+ install $(TARGET) $(INSTPATH)
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
new file mode 100644
index 00000000..ed06f9cf
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
@@ -0,0 +1,56 @@
+# build class specific settings
+
+##############################################
+
+# default target
+_build_: $(TARGET)
+
+$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ touch $@
+
+$(TARGETPATH):
+ -mkdir -p $@
+
+$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
+ icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGETPATH)/%.o : $(SRCDIR)/%.c
+ icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+
+$(TARGET) :: $(TARGETPATH)
+
+$(TARGET) :: $(COBJS) $(CPPOBJS)
+ifdef SHARED
+ icc $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+ chmod 755 $@
+ifndef DEBUG
+ifndef PROFILE
+ strip --strip-unneeded $@
+endif
+endif
+else
+ $(AR) rc $@ $(COBJS) $(CPPOBJS)
+endif
+
+##############################################
+
+_clean_:
+ -rm -r $(TARGETPATH)
+
+##############################################
+
+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/lnx/gnumake-icc.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc.inc
new file mode 100644
index 00000000..2797e882
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/gnumake-icc.inc
@@ -0,0 +1,31 @@
+##############################################
+
+OBJPATH=$(OUTPATH)/$(OUTSUB)
+TARGETPATH=$(OBJPATH)
+TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT)
+
+##############################################
+
+CFLAGS +=
+LDFLAGS += -shared -Wl,-x
+
+##############################################
+
+ifdef DEBUG
+CFLAGS += -g
+LDFLAGS += -g
+else
+ifdef PROFILE
+CFLAGS += -g -qp
+LDFLAGS += -g -qp
+else
+LDFLAGS += -Wl,-S
+endif
+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)))
diff --git a/externals/grill/flext/buildsys/lnx/pd/config-gcc.def b/externals/grill/flext/buildsys/lnx/pd/config-gcc.def
index bf0ff666..aaff3340 100644
--- a/externals/grill/flext/buildsys/lnx/pd/config-gcc.def
+++ b/externals/grill/flext/buildsys/lnx/pd/config-gcc.def
@@ -1,4 +1,5 @@
# where is the PD source package?
+# (this should point to the main folder, which has a "src" subfolder)
PDPATH=/usr/local/src/pd
###############################################################
@@ -24,7 +25,7 @@ INSTPATH=/usr/local/lib/pd/extra
# user defined compiler flags
# (check if they match your system!)
-UFLAGS=-msse
+UFLAGS=-msse -mfpmath=sse -ffast-math
# user defined optimization flags
# (check if they match your system!)
diff --git a/externals/grill/flext/buildsys/lnx/pd/config-icc.def b/externals/grill/flext/buildsys/lnx/pd/config-icc.def
new file mode 100644
index 00000000..b6d6169e
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/pd/config-icc.def
@@ -0,0 +1,34 @@
+# where is the PD source package?
+# (this should point to the main folder, which has a "src" subfolder)
+PDPATH=/usr/local/src/pd
+
+###############################################################
+
+# where do/should the flext headers reside/be built?
+FLEXTINC=/usr/local/include/flext
+
+# where do/should the flext static libraries reside/be built?
+FLEXTLIB=/usr/local/lib
+
+# where do/should the flext shared libraries reside/be built?
+FLEXTSHLIB=$(FLEXTLIB)
+
+###############################################################
+
+# where should the external be built?
+OUTPATH=pd-linux
+
+# where should the external be installed?
+INSTPATH=/usr/local/lib/pd/extra
+
+###############################################################
+
+# user defined compiler flags
+# (check if they match your system!)
+UFLAGS=
+
+# user defined optimization flags
+# (check if they match your system!)
+OFLAGS=-O3 -Ob2 -ip
+# optimizations for Pentium 4
+OFLAGS+=-mcpu=pentium4 -march=pentium4 -xMKW
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-ext.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-ext.inc
new file mode 100644
index 00000000..88feb249
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-ext.inc
@@ -0,0 +1 @@
+EXT=pd_linux
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-flext.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-flext.inc
new file mode 100644
index 00000000..cecaa37a
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-flext.inc
@@ -0,0 +1,6 @@
+ifdef SHARED
+EXT=so
+else
+EXT=a
+endif
+
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc.inc
new file mode 100644
index 00000000..2b27b02f
--- /dev/null
+++ b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc.inc
@@ -0,0 +1,4 @@
+DEFS += -DFLEXT_SYS=2
+
+INCPATH += -I$(PDPATH)/src
+LIBPATH += -L$(PDPATH)/bin
diff --git a/externals/grill/flext/buildsys/mac/pd/config-gcc.def b/externals/grill/flext/buildsys/mac/pd/config-gcc.def
index 58f903ed..c9ff54dc 100644
--- a/externals/grill/flext/buildsys/mac/pd/config-gcc.def
+++ b/externals/grill/flext/buildsys/mac/pd/config-gcc.def
@@ -1,4 +1,5 @@
# where is the PD installation including source code?
+# (this should point to the main folder, which has a "src" subfolder)
PDPATH=/Applications/Pd-0.38-0.app/Contents/Resources
# where is the PD executable?
diff --git a/externals/grill/flext/buildsys/win/bmake-bcc.inc b/externals/grill/flext/buildsys/win/bmake-bcc.inc
index 6e9e142b..67ce16f0 100644
--- a/externals/grill/flext/buildsys/win/bmake-bcc.inc
+++ b/externals/grill/flext/buildsys/win/bmake-bcc.inc
@@ -12,13 +12,9 @@ TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
##############################################
# use precompiled headers
-!ifndef PRECOMPILE
-CFLAGS=$(CFLAGS) -Hh=flext.h
-!else
-CFLAGS=$(CFLAGS) -Hh=$(PRECOMPILE)
+!ifdef PRECOMPILE
+CFLAGS=$(CFLAGS) -Hh=$(PRECOMPILE) -H=$(OBJPATH)\precompiled.pch
!endif
-# location of precompiled file
-CFLAGS=$(CFLAGS) -H=$(OBJPATH)\precompiled.pch
##############################################
diff --git a/externals/grill/flext/buildsys/win/gnumake-cygwin.inc b/externals/grill/flext/buildsys/win/gnumake-cygwin.inc
index 51866686..e98de396 100644
--- a/externals/grill/flext/buildsys/win/gnumake-cygwin.inc
+++ b/externals/grill/flext/buildsys/win/gnumake-cygwin.inc
@@ -6,8 +6,8 @@ TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT)
##############################################
-CFLAGS += -pthread
-LDFLAGS += -pthread -shared
+CFLAGS +=
+LDFLAGS += -shared
##############################################
diff --git a/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc b/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc
index f8eea4ac..8044d19b 100644
--- a/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc
+++ b/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc
@@ -18,33 +18,31 @@ _build_: $(TARGET)
# touch $@
$(OUTPATH):
- -cmd /c "mkdir $(subst /,\,$@)"
+ -mkdir $(subst /,\,$@)
$(TARGETPATH): $(OUTPATH)
- -cmd /c "mkdir $(subst /,\,$@)"
+ -mkdir $(subst /,\,$@)
$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+ $(CXX) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@)
$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+ $(CC) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@)
$(TARGET) :: $(TARGETPATH)
$(TARGET) :: $(COBJS) $(CPPOBJS)
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+ $(CXX) $(LDFLAGS) $(subst \,/,$(LIBPATH)) -o $(subst /,\,$@) $(subst /,\,$(COBJS) $(CPPOBJS) $(LIBS))
-strip --strip-unneeded $@
##############################################
_clean_:
- -cmd /c "del /q $(subst /,\,$(TARGETPATH)/*.*)" > nul
- -cmd /c "rmdir /q $(subst /,\,$(TARGETPATH))" > nul
+ -del /q $(subst /,\,$(TARGETPATH)/*.*) > nul
+ -rmdir /q $(subst /,\,$(TARGETPATH)) > nul
##############################################
-$(INSTPATH):
- -cmd /c "mkdir $(subst /,\,$@)"
-
-_install_: $(INSTPATH)
- cmd /c "copy $(subst /,\,$(TARGET) $(INSTPATH))"
+_install_:
+ @if not exist $(subst /,\,$(INSTPATH)) -mkdir $(subst /,\,$(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
index 69b8afac..8cd51720 100644
--- a/externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc
+++ b/externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc
@@ -9,22 +9,22 @@ _build_: $(TARGET)
# touch $@
$(OUTPATH):
- -cmd /c "mkdir $(subst /,\,$@)"
+ -mkdir $(subst /,\,$@)
$(TARGETPATH): $(OUTPATH)
- -cmd /c "mkdir $(subst /,\,$@)"
+ -mkdir $(subst /,\,$@)
$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+ $(CXX) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@)
$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+ $(CC) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@)
$(TARGET) :: $(TARGETPATH)
$(TARGET) :: $(COBJS) $(CPPOBJS)
ifdef SHARED
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
+ $(CXX) $(LDFLAGS) $(LIBPATH) -o $(subst /,\,$@) $(subst /,\,$(COBJS) $(CPPOBJS) $(LIBS))
-strip --strip-unneeded $@
else
$(AR) rc $@ $(COBJS) $(CPPOBJS)
@@ -33,8 +33,8 @@ endif
##############################################
_clean_:
- -cmd /c "del /q $(subst /,\,$(TARGETPATH)/*.*)" > nul
- -cmd /c "rmdir /q $(subst /,\,$(TARGETPATH))" > nul
+ -del /q $(subst /,\,$(TARGETPATH)/*.*) > nul
+ -rmdir /q $(subst /,\,$(TARGETPATH)) > nul
##############################################
@@ -44,14 +44,9 @@ else
FLEXTLIBINST=$(FLEXTLIB)
endif
-$(FLEXTINC):
- -cmd /c "mkdir $(subst /,\,$@)"
-
-$(FLEXTLIBINST):
- -cmd /c "mkdir $(subst /,\,$@)"
-
-_install_:: $(FLEXTINC) $(FLEXTLIBINST)
-
_install_::
- cmd /c "copy $(subst /,\,$(TARGET) $(FLEXTLIBINST))"
- -cmd /c "for %i in ($(HDRS)) do @cmd /c copy $(SRCDIR)\%i $(subst /,\,$(FLEXTPATH))" > nul
+ @if not exist $(subst /,\,$(FLEXTINC)) -mkdir $(subst /,\,$(FLEXTINC))
+ @if not exist $(subst /,\,$(FLEXTLIBINST)) -mkdir $(subst /,\,$(FLEXTLIBINST))
+
+ copy $(subst /,\,$(TARGET) $(FLEXTLIBINST))
+ -for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(subst /,\,$(FLEXTINC)) > nul
diff --git a/externals/grill/flext/buildsys/win/gnumake-mingw.inc b/externals/grill/flext/buildsys/win/gnumake-mingw.inc
index 35ffc3a4..43884e15 100644
--- a/externals/grill/flext/buildsys/win/gnumake-mingw.inc
+++ b/externals/grill/flext/buildsys/win/gnumake-mingw.inc
@@ -6,8 +6,8 @@ TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
##############################################
-CFLAGS += -pthread
-LDFLAGS += -pthread -shared
+CFLAGS +=
+LDFLAGS += -shared
##############################################
diff --git a/externals/grill/flext/buildsys/win/max/config-mingw.def b/externals/grill/flext/buildsys/win/max/config-mingw.def
index d3deb574..9c9e3d4a 100644
--- a/externals/grill/flext/buildsys/win/max/config-mingw.def
+++ b/externals/grill/flext/buildsys/win/max/config-mingw.def
@@ -33,7 +33,7 @@ HELPPATH="%ProgramFiles%/MaxMSP 4.5/max-help/flext"
# user defined compiler flags
# (check if they match your system!)
-UFLAGS=-msse
+UFLAGS=-msse -ffast-math
# user defined optimization flags
# (check if they match your system!)
diff --git a/externals/grill/flext/buildsys/win/pd/config-bcc.def b/externals/grill/flext/buildsys/win/pd/config-bcc.def
index 97553013..e9d97eb8 100644
--- a/externals/grill/flext/buildsys/win/pd/config-bcc.def
+++ b/externals/grill/flext/buildsys/win/pd/config-bcc.def
@@ -1,4 +1,5 @@
-# where is PD?
+# where is the PD installation?
+# (this should point to the main folder, which has a "src" subfolder)
PDPATH="c:\program files\pd"
# where is BorlandC++?
diff --git a/externals/grill/flext/buildsys/win/pd/config-cygwin.def b/externals/grill/flext/buildsys/win/pd/config-cygwin.def
index 3a7098ee..d7c319e0 100644
--- a/externals/grill/flext/buildsys/win/pd/config-cygwin.def
+++ b/externals/grill/flext/buildsys/win/pd/config-cygwin.def
@@ -1,4 +1,5 @@
-# where is PD?
+# where is the PD installation?
+# (this should point to the main folder, which has a "src" subfolder)
PDPATH=/cygdrive/c/programme/pd
###############################################################
@@ -24,10 +25,10 @@ INSTPATH=$(PDPATH)/extra
# user defined compiler flags
# (check if they match your system!)
-UFLAGS=-msse
+UFLAGS=-msse -mfpmath=sse -ffast-math
# user defined optimization flags
# (check if they match your system!)
OFLAGS=-O3
# optimizations for Pentium 4
-OFLAGS+=-march=pentium4
+OFLAGS+=-march=pentium4
diff --git a/externals/grill/flext/buildsys/win/pd/config-mingw.def b/externals/grill/flext/buildsys/win/pd/config-mingw.def
index 6bd5b718..a4ae2f2a 100644
--- a/externals/grill/flext/buildsys/win/pd/config-mingw.def
+++ b/externals/grill/flext/buildsys/win/pd/config-mingw.def
@@ -1,4 +1,5 @@
-# where is PD?
+# where is the PD installation?
+# (this should point to the main folder, which has a "src" subfolder)
PDPATH="%ProgramFiles%\pd"
###############################################################
@@ -24,7 +25,7 @@ INSTPATH=$(PDPATH)\extra
# user defined compiler flags
# (check if they match your system!)
-UFLAGS=-msse
+UFLAGS=-msse -mfpmath=sse -ffast-math
# user defined optimization flags
# (check if they match your system!)
diff --git a/externals/grill/flext/buildsys/win/pd/config-msvc.def b/externals/grill/flext/buildsys/win/pd/config-msvc.def
index 830eead3..9db081e4 100644
--- a/externals/grill/flext/buildsys/win/pd/config-msvc.def
+++ b/externals/grill/flext/buildsys/win/pd/config-msvc.def
@@ -1,4 +1,5 @@
-# where is PD?
+# where is the PD installation?
+# (this should point to the main folder, which has a "src" subfolder)
PDPATH="%ProgramFiles%\pd"
# where is MS VC++?