From 95e729753b0e5100e997145bddf2016ee6ff1ffa Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Fri, 26 Nov 2004 05:02:33 +0000 Subject: makefiles for linux svn path=/trunk/; revision=2316 --- externals/grill/dyn/build-pd-linux.sh | 11 +++++ externals/grill/dyn/config-pd-linux.txt | 21 ++++++++++ externals/grill/dyn/dyn_conn.cpp | 3 +- externals/grill/dyn/dyn_pd.h | 3 +- externals/grill/dyn/makefile.pd-linux | 72 +++++++++++++++++++++++++++++++++ 5 files changed, 108 insertions(+), 2 deletions(-) create mode 100644 externals/grill/dyn/build-pd-linux.sh create mode 100644 externals/grill/dyn/config-pd-linux.txt create mode 100644 externals/grill/dyn/makefile.pd-linux (limited to 'externals/grill/dyn') diff --git a/externals/grill/dyn/build-pd-linux.sh b/externals/grill/dyn/build-pd-linux.sh new file mode 100644 index 00000000..9694fe16 --- /dev/null +++ b/externals/grill/dyn/build-pd-linux.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +. config-pd-linux.txt + +make -f makefile.pd-linux && +{ + if [ $INSTDIR != "" ]; then + echo Now install as root + su -c "make -f makefile.pd-linux install" + fi +} diff --git a/externals/grill/dyn/config-pd-linux.txt b/externals/grill/dyn/config-pd-linux.txt new file mode 100644 index 00000000..36b17774 --- /dev/null +++ b/externals/grill/dyn/config-pd-linux.txt @@ -0,0 +1,21 @@ + +# your c++ compiler (define only if it's different than g++) +# CXX=g++-3.3 + +# prefix to install the dyn library and header files +# (leave blank to omit installation) +INSTDIR=/usr/local + +# where are the PD header files? (m_pd.h, m_imp.h, g_canvas.h) +PDPATH=/usr/src/pd/src + +# where should flext libraries be built? +TARGDIR=./pd-linux + +# where should the dyn library and header be installed? +# (leave blank to omit installation) +PREFIX=/usr/local + +# additional compiler flags +# (check if they fit for your system!) +# UFLAGS=-march=pentium4 diff --git a/externals/grill/dyn/dyn_conn.cpp b/externals/grill/dyn/dyn_conn.cpp index 4300062c..b55d10cb 100644 --- a/externals/grill/dyn/dyn_conn.cpp +++ b/externals/grill/dyn/dyn_conn.cpp @@ -37,4 +37,5 @@ void dyn_conn::Invalidate() ident->Callback(DYN_SIGNAL_DISCONN); } } -*/ \ No newline at end of file +*/ + diff --git a/externals/grill/dyn/dyn_pd.h b/externals/grill/dyn/dyn_pd.h index 1b0ea161..3832fe04 100644 --- a/externals/grill/dyn/dyn_pd.h +++ b/externals/grill/dyn/dyn_pd.h @@ -27,4 +27,5 @@ extern "C" { #define ASSERT assert #endif -#endif \ No newline at end of file +#endif + diff --git a/externals/grill/dyn/makefile.pd-linux b/externals/grill/dyn/makefile.pd-linux new file mode 100644 index 00000000..1a8e582d --- /dev/null +++ b/externals/grill/dyn/makefile.pd-linux @@ -0,0 +1,72 @@ +# Makefile for gcc @ linux +# +# usage: +# to build run "make -f makefile.pd-linux" +# to install (as root), do "make -f makefile.pd-linux install" +# + +CONFIG=config-pd-linux.txt + +include ${CONFIG} + +# compiler+linker stuff +INCLUDES=${PDPATH} +FLAGS=${UFLAGS} + +# compiler flags for optimized build +CFLAGS=-O2 + +# compiler flags for debug build +CFLAGS_D=-g + +# flags for shared linking +LSHFLAGS= -shared + +# ---------------------------------------------- +# the rest can stay untouched +# ---------------------------------------------- + +# all the source files from the package +include make-files.txt + +MAKEFILE=makefile.pd-linux + +TARGET=$(TARGDIR)/lib$(NAME).so +TARGET_D=$(TARGDIR)/lib$(NAME)_d.so +HDRS=$(PHDRS) $(IHDRS) + + +all: $(TARGDIR) $(TARGET) $(TARGET_D) + +$(TARGDIR): + mkdir $(TARGDIR) + +$(patsubst %,$(SRCDIR)/%,$(SRCS)): $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(patsubst %,$(SRCDIR)/%,$(IHDRS)) $(MAKEFILE) $(CONFIG) + touch $@ + +$(TARGDIR)/%.o : $(SRCDIR)/%.cpp + $(CXX) -c -shared $(CFLAGS) $(CFLAGS_T) $(CFLAGS_S) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ + +$(TARGDIR)/%.do : $(SRCDIR)/%.cpp + $(CXX) -c -shared $(CFLAGS_D) $(CFLAGS_T) $(CFLAGS_S) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@ + +$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) + $(CXX) $(LSHFLAGS) -o $@ $^ + +$(TARGET_D) : $(patsubst %.cpp,$(TARGDIR)/%.do,$(SRCS)) + $(CXX) $(LSHFLAGS) -o $@ $^ + +.PHONY: clean install + +clean: + rm -f $(TARGDIR)/*.{o,do} $(TARGET) $(TARGET_D) + +ifdef PREFIX + +install:: $(PREFIX) +endif + +install:: $(TARGET) $(TARGET_D) +# cp $(patsubst %,$(SRCDIR)/%,$(PHDRS)) $(PREFIX)/include + cp $(TARGDIR)/lib*.dylib $(PREFIX)/lib + -- cgit v1.2.1