+++ /dev/null
-#!/bin/bash
-
-#####################################################################
-# #
-# Compiles Faust programs to jack-qt #
-# (c) Grame, 2009 #
-# #
-#####################################################################
-
-OSCINC=""
-QTDEFS=""
-OSCLIB=""
-
-
-#-------------------------------------------------------------------
-# Analyze command arguments :
-# faust options -> OPTIONS
-# if -omp : -openmp or -fopenmp -> OPENMP
-# existing *.dsp files -> FILES
-#
-
-# PHASE 1 : Look for -icc option to force use of intel icc (actually icpc)
-# without having to configure CXX and CXXFLAGS
-for p in $@; do
- if [ "$p" = -icc ]; then
- CXX=icpc
- CXXFLAGS='-O3 -xHost -ftz -fno-alias -fp-model fast=2'
- fi
-done
-
-#PHASE 2 : dispatch command arguments
-for p in $@; do
- if [ "$p" = -omp ]; then
- if [[ $CXX == "icpc" ]]; then
- OMP="-openmp"
- else
- OMP="-fopenmp"
- fi
- fi
-
- if [ "$p" = -icc ]; then
- ignore=" "
- elif [ $p = "-osc" ]; then
- OSCINC="INCLUDEPATH+=/usr/local/lib/faust/osclib"
- QTDEFS="DEFINES += OSCCTRL"
- OSCLIB="-L/usr/local/lib/faust/osclib -lOSCFaust -loscpack"
- elif [ ${p:0:1} = "-" ]; then
- OPTIONS="$OPTIONS $p"
- elif [[ -e "$p" ]]; then
- FILES="$FILES $p"
- else
- OPTIONS="$OPTIONS $p"
- fi
-done
-
-
-
-#-------------------------------------------------------------------
-# Check darwin specifics
-#
-if [[ $(uname) == Darwin ]]; then
- SPEC="-spec macx-g++"
- EXT=".app"
-fi
-
-#-------------------------------------------------------------------
-# compile the *.dsp files
-#
-for p in $FILES; do
-
- CUR=$(pwd)
- f=$(basename "$p")
- SRCDIR=$(dirname "$p")
-
- # creates a temporary dir
- TDR=$(mktemp -d faust.XXX)
- TMP="$TDR/${f%.dsp}"
- mkdir "$TMP"
-
- # compile faust to c++
- faust -a alsa-qt.cpp $OPTIONS "$SRCDIR/$f" -o "$TMP/${f%.dsp}.cpp"
-
- # compile c++ to binary
- (
- cd "$TMP"
- qmake -project "INCLUDEPATH+=$CUR" "INCLUDEPATH+=/usr/local/lib/faust/" "$OSCINC" "LIBS+=-lasound $OSCLIB" "HEADERS+=/usr/local/lib/faust/gui/faustqt.h" "$QTDEFS"
- qmake $SPEC
- make
- ) > /dev/null
-
- rm -rf "$SRCDIR/${f%.dsp}$EXT"
- cp -r "$TMP/${f%.dsp}$EXT" "$SRCDIR/${f%.dsp}$EXT"
- rm -rf "$TDR"
-
- # collect binary file name for FaustGIDE
- BINARIES="$BINARIES$SRCDIR/${f%.dsp}$EXT;"
-done
-
-echo $BINARIES
-
-