Commit 32f9b8e8 authored by Ivica Ico Bukvic's avatar Ivica Ico Bukvic
Browse files

improved .gitignore, added missing files to the full tarball (full build needs testing)

parent 005fc8a6
......@@ -4,12 +4,7 @@
*diff
TAGS
autom4te.cache
Makefile
Makefile.in
GNUmakefile
GNUmakefile.in
aclocal.m4
configure
config.log
config.status
libtool
......@@ -24,11 +19,7 @@ m4/config
*.d_fat
*.d_fat_o
po/*.msg
bin
src/pd
src/pd-watchdog
src/pdreceive
src/pdsend
bin/
ASIOSDK2
pd-0.*
pd.pc
#==============================================================================#
#
# Centralized build system for "abstractions".
#
# see for instructions: http://puredata.org/docs/developer/build
# <hans@at.or.at>
#
#==============================================================================#
CWD := $(shell pwd)
# these are designed to be overridden by the packages/Makefile
cvs_root_dir := $(shell cd $(CWD)/.. && pwd)
DESTDIR = $(CWD)/build/
BUILDLAYOUT_DIR = $(cvs_root_dir)/packages
include $(BUILDLAYOUT_DIR)/Makefile.buildlayout
#==============================================================================#
#
# OVERARCHING BUILD TARGETS
#
#==============================================================================#
# if your library isn't included in LIB_TARGETS, it won't be built with
# Pd-extended.
#
# WARNING! this MUST be all on one line because the automatic package
# building scripts rely on it being that way.
LIB_TARGETS = controctopus jmmmp la-kitchen list-abs memento nsend parazit pixeltango purepd rradical rtc-lib timestretch memento-p sfruit pd-wavelet
# in case anything needs to be compiled or processed somehow before installing
all:
# clean up after everything is installed
final_setup:
chmod -R ugo-w $(pddocdir)
install: all $(objectsdir) $(helpdir) $(manualsdir) $(examplesdir) \
$(patsubst %, %_install,$(LIB_TARGETS))
@echo " "
@echo "abstractions install succeeded!"
#==============================================================================#
#
# PROJECT TARGETS
#
#==============================================================================#
#-------------------------------------------------------------------------------
# controctopus
CONTROCTOPUS_NAME = controctopus
controctopus_install:
install -d $(DESTDIR)$(objectsdir)/$(CONTROCTOPUS_NAME)
install -p $(abstractions_src)/sfruit/controctopus/*.pd \
$(DESTDIR)$(objectsdir)/$(CONTROCTOPUS_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(CONTROCTOPUS_NAME) \
--author "Luke Iannini" \
--license "GNU GPL" \
--description "objects for learning and mapping midi and OSC controllers to pdpatches with scaling and parameter discovery - requires memento-p"
#-------------------------------------------------------------------------------
# ds-abs
ds-abs_NAME = ds-abs
ds-abs_install:
install -d $(DESTDIR)$(objectsdir)/$(ds-abs_NAME)
install -p $(abstractions_src)/sfruit/ds-abs/*.pd $(DESTDIR)$(objectsdir)/$(ds-abs_NAME)
install -p $(abstractions_src)/sfruit/ds-abs/help/*-help.pd \
$(DESTDIR)$(objectsdir)/$(ds-abs_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(ds-abs_NAME) \
--author "Luke Iannini" \
--description "" \
--license "GNU GPL" \
--version "a comprehensive collection of objects for working with data structures"
#------------------------------------------------------------------------------#
# JMMMP
jmmmp:
make -C $(abstractions_src)/jmmmp
jmmmp_install:
make -C $(abstractions_src)/jmmmp DESTDIR="$(DESTDIR)" objectsdir="$(objectsdir)" install
jmmmp_clean:
make -C $(abstractions_src)/jmmmp clean
#------------------------------------------------------------------------------#
# LIST-ABS
list-abs:
make -C $(abstractions_src)/footils/list-abs
list-abs_install:
make -C $(abstractions_src)/footils/list-abs DESTDIR="$(DESTDIR)" objectsdir="$(objectsdir)" install
list-abs_clean:
make -C $(abstractions_src)/footils/list-abs clean
#-------------------------------------------------------------------------------
# la-kitchen
LA-KITCHEN_NAME = la-kitchen
la-kitchen_install:
install -d $(DESTDIR)$(objectsdir)/$(LA-KITCHEN_NAME)
install -p $(abstractions_src)/La-kitchen/*.pd \
$(DESTDIR)$(objectsdir)/$(LA-KITCHEN_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(LA-KITCHEN_NAME) \
--author "Charles Verron" \
--description "a collection of objects working with sensors"
install -p $(abstractions_src)/La-kitchen/*-help.pd \
$(DESTDIR)$(objectsdir)/$(LA-KITCHEN_NAME)
# install -d $(DESTDIR)$(manualsdir)/$(LA-KITCHEN_NAME)
# install -p $(abstractions_src)/La-kitchen/doc/*.* \
# $(DESTDIR)$(manualsdir)/$(LA-KITCHEN_NAME)
install -p $(abstractions_src)/La-kitchen/readme.txt \
$(DESTDIR)$(objectsdir)/$(LA_KITCHEN_NAME)/README.txt
#-------------------------------------------------------------------------------
# memento
MEMENTO_NAME = memento
memento_install:
install -d $(DESTDIR)$(objectsdir)/$(MEMENTO_NAME)
install -p $(abstractions_src)/rradical/memento/*.pd \
$(DESTDIR)$(objectsdir)/$(MEMENTO_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(MEMENTO_NAME) \
--author "Frank Barknecht" \
--license "GNU GPL" \
--description "a collection of objects for managing state saving"
install -d $(DESTDIR)$(manualsdir)/$(MEMENTO_NAME)
install -p $(abstractions_src)/rradical/memento/tutorial/*.* \
$(DESTDIR)$(manualsdir)/$(MEMENTO_NAME)
install -d $(DESTDIR)$(objectsdir)/$(MEMENTO_NAME)/manual
install -p $(abstractions_src)/rradical/memento/tutorial/*.* \
$(DESTDIR)$(objectsdir)/$(MEMENTO_NAME)/manual
install -d $(DESTDIR)$(examplesdir)/$(MEMENTO_NAME)
install -p $(abstractions_src)/rradical/memento/examples/*.* \
$(DESTDIR)$(examplesdir)/$(MEMENTO_NAME)
install -d $(DESTDIR)$(objectsdir)/$(MEMENTO_NAME)/examples
install -p $(abstractions_src)/rradical/memento/examples/*.* \
$(DESTDIR)$(objectsdir)/$(MEMENTO_NAME)/examples
#-------------------------------------------------------------------------------
# memento-p
MEMENTO-P_NAME = memento-p
memento-p_install:
install -d $(DESTDIR)$(objectsdir)/$(MEMENTO-P_NAME)
install -p $(abstractions_src)/sfruit/memento-p/*.pd \
$(DESTDIR)$(objectsdir)/$(MEMENTO-P_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(MEMENTO-P_NAME) \
--author "Luke Iannini" \
--license "GNU GPL" \
--description "an addon for Frank Barknecht's Memento adding local-state saving and support for Controctopus (a controller lib)"
#-------------------------------------------------------------------------------
# nsend
NSEND_NAME = nsend
nsend_install:
install -d $(DESTDIR)$(objectsdir)/$(NSEND_NAME)
install -p $(shell ls -1 $(abstractions_src)/sfruit/nsend/*.pd | \
grep -v '\-help.pd') $(DESTDIR)$(objectsdir)/$(NSEND_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(NSEND_NAME) \
--author "Luke Iannini" \
--license "GNU GPL" \
--description "multiple-inlet/outlet send and receive"
#-------------------------------------------------------------------------------
# parazit
parazit_install:
install -d $(DESTDIR)$(objectsdir)
install -p $(abstractions_src)/parazit/parazit.pd $(DESTDIR)$(objectsdir)
install -p $(abstractions_src)/parazit/parazit-help.pd $(DESTDIR)$(objectsdir)
#-------------------------------------------------------------------------------
# mtl
MTL_NAME = mtl
mtl_install:
install -d $(DESTDIR)$(objectsdir)/$(MTL_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(MTL_NAME) \
--author "Thomas O Fredericks and 11h11" \
--license "If you use and die, it's not our fault" \
--description "(Pure Data) Montreal Abstractions"
install -p $(shell ls -1 $(abstractions_src)/$(MTL_NAME)/*.pd | \
grep -v '\-help.pd') $(DESTDIR)$(objectsdir)/$(MTL_NAME)
install -d $(DESTDIR)$(helpdir)/$(MTL_NAME)
install -p $(abstractions_src)/$(MTL_NAME)/*-help.pd \
$(DESTDIR)$(helpdir)/$(MTL_NAME)
install -p $(abstractions_src)/$(MTL_NAME)/*-help.pd \
$(DESTDIR)$(objectsdir)/$(MTL_NAME)
install -p $(abstractions_src)/$(MTL_NAME)/browser.pd \
$(DESTDIR)$(helpdir)/$(MTL_NAME)
# install -p $(abstractions_src)/$(MTL_NAME)/1.mtlBrowser.pd \
# $(DESTDIR)$(helpdir)/$(MTL_NAME)
install -p $(abstractions_src)/$(MTL_NAME)/*.txt \
$(DESTDIR)$(objectsdir)/$(MTL_NAME)
install -p $(abstractions_src)/$(MTL_NAME)/*.txt \
$(DESTDIR)$(helpdir)/$(MTL_NAME)
install -d $(DESTDIR)$(examplesdir)/$(MTL_NAME)
install -p $(abstractions_src)/$(MTL_NAME)/examples/*.pd \
$(DESTDIR)$(examplesdir)/$(MTL_NAME)
#-------------------------------------------------------------------------------
# pdsvn
PDSVN_NAME = pdsvn
pdsvn_install:
install -d $(DESTDIR)$(objectsdir)/$(PDSVN_NAME)
install -p $(shell ls -1 $(abstractions_src)/sfruit/pdsvn/*.pd | \
grep -v '\-help.pd') $(DESTDIR)$(objectsdir)/$(PDSVN_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(PDSVN_NAME) \
--author "Luke Iannini" \
--license "GNU GPL" \
--description "objects for interacting with Subversion from within Pd patches (experimental, but usable)"
install -d $(DESTDIR)$(helpdir)/$(PDSVN_NAME)
install -p $(abstractions_src)/sfruit/pdsvn/*-help.pd \
$(DESTDIR)$(helpdir)/$(PDSVN_NAME)
#-------------------------------------------------------------------------------
# pixeltango
PIXELTANGO_NAME = pixeltango
pixeltango_install:
install -d $(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)
install -p $(abstractions_src)/pixelTANGO/abstractions/*.pd \
$(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)
install -d $(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/fx
install -p $(abstractions_src)/pixelTANGO/abstractions/fx/*.pd \
$(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/fx
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(PIXELTANGO_NAME) \
--author "Ben Bogart" \
--license "GNU GPL" \
--version "0.3.4" \
--description "objects for creating visuals in a live performance setting"
install -p $(abstractions_src)/pixelTANGO/help/*.* \
$(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)
install -d $(DESTDIR)$(examplesdir)/$(PIXELTANGO_NAME)
install -p $(abstractions_src)/pixelTANGO/Example-Patches/*.* \
$(DESTDIR)$(examplesdir)/$(PIXELTANGO_NAME)
install -d $(DESTDIR)$(manualsdir)/$(PIXELTANGO_NAME)
install -p $(abstractions_src)/pixelTANGO/*.txt \
$(DESTDIR)$(manualsdir)/$(PIXELTANGO_NAME)
install -p $(abstractions_src)/pixelTANGO/dev-notes/*.txt \
$(DESTDIR)$(manualsdir)/$(PIXELTANGO_NAME)
install -d $(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/manual
install -p $(abstractions_src)/pixelTANGO/*.txt \
$(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/manual
install -p $(abstractions_src)/pixelTANGO/dev-notes/*.txt \
$(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/manual
install -d $(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/examples
install -p $(abstractions_src)/pixelTANGO/Example-Patches/*.* \
$(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/examples
pixeltango_clean:
-rm -f -- $(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/fx/*.*
-rmdir -- $(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/fx
-rm -f -- $(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)/*.*
-rmdir -- $(DESTDIR)$(objectsdir)/$(PIXELTANGO_NAME)
-rm -f -- $(DESTDIR)$(examplesdir)/$(PIXELTANGO_NAME)/*.*
-rmdir -- $(DESTDIR)$(examplesdir)/$(PIXELTANGO_NAME)
-rm -f -- $(DESTDIR)$(manualsdir)/$(PIXELTANGO_NAME)/*.*
-rmdir -- $(DESTDIR)$(manualsdir)/$(PIXELTANGO_NAME)
#------------------------------------------------------------------------------#
# PUREPD
purepd:
make -C $(abstractions_src)/purepd
purepd_install:
make -C $(abstractions_src)/purepd DESTDIR="$(DESTDIR)" objectsdir="$(objectsdir)" install
purepd_clean:
make -C $(abstractions_src)/purepd clean
#-------------------------------------------------------------------------------
# RRADical
RRADICAL_NAME = rradical
rradical_install:
install -d $(DESTDIR)$(objectsdir)/$(RRADICAL_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(RRADICAL_NAME) \
--author "Frank Barknecht" \
--license "GNU GPL"
install -d $(DESTDIR)$(objectsdir)/$(RRADICAL_NAME)
install -p $(shell ls -1 $(abstractions_src)/rradical/control/*.* | \
grep -v '\-help.pd') $(DESTDIR)$(objectsdir)/$(RRADICAL_NAME)
install -p $(shell ls -1 $(abstractions_src)/rradical/effects/*.* | \
grep -v '\-help.pd') $(DESTDIR)$(objectsdir)/$(RRADICAL_NAME)
install -p $(shell ls -1 $(abstractions_src)/rradical/instruments/*.* | \
grep -v '\-help.pd') $(DESTDIR)$(objectsdir)/$(RRADICAL_NAME)
install -p $(shell ls -1 $(abstractions_src)/rradical/stuff/*.* | \
grep -v '\-help.pd') $(DESTDIR)$(objectsdir)/$(RRADICAL_NAME)
install -p $(abstractions_src)/rradical/*/*-help.pd \
$(DESTDIR)$(objectsdir)/$(RRADICAL_NAME)
install -d $(DESTDIR)$(examplesdir)/$(RRADICAL_NAME)
install -p $(abstractions_src)/rradical/usecases/*.* \
$(DESTDIR)$(examplesdir)/$(RRADICAL_NAME)
install -d $(DESTDIR)$(examplesdir)/$(RRADICAL_NAME)/showcase
install -p $(abstractions_src)/rradical/usecases/showcase/*.* \
$(DESTDIR)$(examplesdir)/$(RRADICAL_NAME)/showcase
install -d $(DESTDIR)$(examplesdir)/$(RRADICAL_NAME)/showcase/impl
install -p $(abstractions_src)/rradical/usecases/showcase/impl/*.* \
$(DESTDIR)$(examplesdir)/$(RRADICAL_NAME)/showcase/impl
install -d $(DESTDIR)$(examplesdir)/$(RRADICAL_NAME)/showcase/songs
install -p $(abstractions_src)/rradical/usecases/showcase/songs/*.* \
$(DESTDIR)$(examplesdir)/$(RRADICAL_NAME)/showcase/songs
#-------------------------------------------------------------------------------
# rtc-lib
RTC-LIB_NAME = rtc
rtc-lib_install:
install -d $(DESTDIR)$(objectsdir)/$(RTC-LIB_NAME)
install -p $(abstractions_src)/footils/rtc-lib/rtc/*.pd \
$(DESTDIR)$(objectsdir)/$(RTC-LIB_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(RTC-LIB_NAME) \
--author "Karlheinz Essl and Frank Barknecht" \
--license "Pd license" \
--description "Realtime Composition Library for Max ported to Pd"
install -p $(abstractions_src)/footils/rtc-lib/rtc/*-help.pd \
$(abstractions_src)/footils/rtc-lib/rtc/RTC-Overview.pd \
$(DESTDIR)$(objectsdir)/$(RTC-LIB_NAME)
install -d $(DESTDIR)$(objectsdir)/$(RTC-LIB_NAME)/rtc-help
install -p $(abstractions_src)/footils/rtc-lib/rtc/rtc-help/*.pd \
$(DESTDIR)$(objectsdir)/$(RTC-LIB_NAME)/rtc-help
install -d $(DESTDIR)$(objectsdir)/$(RTC-LIB_NAME)/examples
install -p $(abstractions_src)/footils/rtc-lib/rtc/rtc-help/*.pd \
$(DESTDIR)$(objectsdir)/$(RTC-LIB_NAME)/examples
#-------------------------------------------------------------------------------
# sfruit
SFRUIT_NAME = sfruit
sfruit_install:
install -d $(DESTDIR)$(objectsdir)/$(SFRUIT_NAME)
install -p $(abstractions_src)/sfruit/sfruit/*.pd \
$(DESTDIR)$(objectsdir)/$(SFRUIT_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(SFRUIT_NAME) \
--author "Luke Iannini" \
--license "GNU GPL" \
--description "a large collection of assorted handy utilites"
#-------------------------------------------------------------------------------
# TIMESTRETCH
TIMESTRETCH_NAME = timestretch
timestretch_install:
install -d $(DESTDIR)$(objectsdir)/$(TIMESTRETCH_NAME)
install -p $(abstractions_src)/timestretch/*.pd $(DESTDIR)$(objectsdir)/$(TIMESTRETCH_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(TIMESTRETCH_NAME) \
--author "" \
--description "" \
--license "" \
--version ""
# install -d $(DESTDIR)$(manualsdir)/$(TIMESTRETCH_NAME)
# install -p $(abstractions_src)/timestretch/doc/*.txt \
# $(DESTDIR)$(manualsdir)/$(TIMESTRETCH_NAME)
# install -d $(DESTDIR)$(readmesdir)
# install -p $(abstractions_src)/timestretch/README \
# $(DESTDIR)$(readmesdir)/$(TIMESTRETCH_NAME).txt
#-------------------------------------------------------------------------------
# PDWAVELET
PDWAVELET_NAME = pd-wavelet
pd-wavelet_install:
install -d $(DESTDIR)$(objectsdir)/$(PDWAVELET_NAME)
install -p $(abstractions_src)/pd-wavelet/*.pd \
$(DESTDIR)$(objectsdir)/$(PDWAVELET_NAME)
install -p $(abstractions_src)/pd-wavelet/abs/*.pd \
$(DESTDIR)$(objectsdir)/$(PDWAVELET_NAME)
install -p $(abstractions_src)/pd-wavelet/main.pd \
$(DESTDIR)$(objectsdir)/$(PDWAVELET_NAME)
$(scripts_src)/generate-libdir-metafile.sh $(DESTDIR)$(objectsdir) $(PDWAVELET_NAME) \
--author "Raul Diaz Poblete" \
--description "manipulation of audio in the wavelet domain" \
--license "GNU GPL v2" \
--version ""
install -d $(DESTDIR)$(readmesdir)
install -p $(abstractions_src)/pd-wavelet/README.txt \
$(DESTDIR)$(readmesdir)/$(PDWAVELET_NAME).txt
#==============================================================================#
#
# DEVELOPER'S TARGETS
#
#==============================================================================#
# make the symlinks necessary to simulate the installed environment
devsymlinks:
# make symlinks for help patches
test -e $(abstractions_src)/../2.control.examples || \
ln -s $(pd_src)/doc/2.control.examples \
$(abstractions_src)/../2.control.examples
test -e $(abstractions_src)/../3.audio.examples || \
ln -s $(pd_src)/doc/3.audio.examples \
$(abstractions_src)/../3.audio.examples
# pd <= 0.38-4 has 4.fft.examples
test -e $(abstractions_src)/../4.fft.examples || \
ln -s $(pd_src)/doc/4.fft.examples $(abstractions_src)/../4.fft.examples
# pd > 0.38-4 has 4.data.structures
test -e $(abstractions_src)/../4.data.structures || \
ln -s $(pd_src)/doc/4.data.structures \
$(abstractions_src)/../4.data.structures
test -e $(abstractions_src)/../7.stuff || \
ln -s $(pd_src)/doc/7.stuff $(abstractions_src)/../7.stuff
test -e $(abstractions_src)/../sound || \
ln -s $(pd_src)/doc/sound $(abstractions_src)/../sound
#==============================================================================#
#
# CLEAN TARGETS
#
#==============================================================================#
# the destination-specific clean targets are in Makefile.buildlayout
clean: install_clean
distclean: clean cruft_clean
test_locations:
@echo "PD_VERSION: $(PD_VERSION)"
@echo "PACKAGE_VERSION: $(PACKAGE_VERSION)"
@echo "CWD $(CWD)"
@echo "DESTDIR $(DESTDIR)"
@echo "PREFIX $(prefix)"
@echo "BINDIR $(bindir)"
@echo "LIBDIR $(libdir)"
@echo "OBJECTSDIR $(objectsdir)"
@echo "PDDOCDIR $(pddocdir)"
@echo "LIBPDDIR $(libpddir)"
@echo "LIBPDBINDIR $(libpdbindir)"
@echo "HELPDIR $(helpdir)"
@echo "MANUALSDIR $(manualsdir)"
@echo "EXAMPLESDIR $(examplesdir)"
## Pd library template version 1.0.3
# For instructions on how to use this template, see:
# http://puredata.info/docs/developer/MakefileTemplate
LIBRARY_NAME = list-abs
# add your .c source files, one object per file, to the SOURCES
# variable, help files will be included automatically
SOURCES =
# list all pd objects (i.e. myobject.pd) files here, and their helpfiles will
# be included automatically
PDOBJECTS = OSCprepend.pd compare-any.pd last-x.pd list-abs.pd list-accum.pd list-add.pd list-apply.pd list-centroid.pd list-clip.pd list-compare.pd list-delete.pd list-dotprod.pd list-drip.pd list-drip2.pd list-dripslow.pd list-emath.pd list-enumerate.pd list-equalize.pd list-extend.pd list-fifo-delim.pd list-fifo.pd list-filter.pd list-find.pd list-geometric-mean.pd list-group.pd list-harmonic-mean.pd list-idx.pd list-insert.pd list-inter.pd list-inter-many.pd list-iter.pd list-l2s.pd list-lastx.pd list-len.pd list-lifo.pd list-makefilename.pd list-map.pd list-map2.pd list-math.pd list-mean.pd list-minmax.pd list-moses.pd list-mult.pd list-normalize.pd list-nth.pd list-onearg.pd list-pad.pd list-random.pd list-rdrip.pd list-reduce.pd list-replace.pd list-rev.pd list-rot.pd list-round.pd list-sect.pd list-seek.pd list-shellsort.pd list-sieve.pd list-sort.pd list-splat.pd list-sub.pd list-swap.pd list-tabdump.pd list-unique.pd list-unitvec.pd list-wrandom.pd prepent.pd sroute.pd take-two.pd triple-scale.pd
# example patches and related files, in the 'examples' subfolder
EXAMPLES =
# manuals and related files, in the 'manual' subfolder
MANUAL =
# if you want to include any other files in the source and binary tarballs,
# list them here. This can be anything from header files, test patches,
# documentation, etc. README.txt and LICENSE.txt are required and therefore
# automatically included
EXTRA_DIST =
#------------------------------------------------------------------------------#
#
# things you might need to edit if you are using other C libraries
#
#------------------------------------------------------------------------------#
CFLAGS = -DPD -I"$(PD_INCLUDE)" -Wall -W -g
LDFLAGS =
LIBS =
#------------------------------------------------------------------------------#
#
# you shouldn't need to edit anything below here, if we did it right :)
#
#------------------------------------------------------------------------------#
# get library version from meta file
LIBRARY_VERSION = $(shell sed -n 's|^\#X text [0-9][0-9]* [0-9][0-9]* VERSION \(.*\);|\1|p' $(LIBRARY_NAME)-meta.pd)
CFLAGS += -DVERSION='"$(LIBRARY_VERSION)"'
PD_INCLUDE = $(PD_PATH)/include
# where to install the library, overridden below depending on platform
prefix = /usr/local
libdir = $(prefix)/lib
pkglibdir = $(libdir)/pd-externals
objectsdir = $(pkglibdir)
INSTALL = install
INSTALL_PROGRAM = $(INSTALL) -p -m 644
INSTALL_DATA = $(INSTALL) -p -m 644
INSTALL_DIR = $(INSTALL) -p -m 755 -d
ALLSOURCES := $(SOURCES) $(SOURCES_android) $(SOURCES_cygwin) $(SOURCES_macosx) \
$(SOURCES_iphoneos) $(SOURCES_linux) $(SOURCES_windows)
DISTDIR=$(LIBRARY_NAME)-$(LIBRARY_VERSION)
ORIGDIR=pd-$(LIBRARY_NAME)_$(LIBRARY_VERSION)
UNAME := $(shell uname -s)
ifeq ($(UNAME),Darwin)
CPU := $(shell uname -p)
ifeq ($(CPU),arm) # iPhone/iPod Touch
SOURCES += $(SOURCES_iphoneos)
EXTENSION = pd_darwin
OS = iphoneos
PD_PATH = /Applications/Pd-extended.app/Contents/Resources
IPHONE_BASE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
CC=$(IPHONE_BASE)/gcc
CPP=$(IPHONE_BASE)/cpp
CXX=$(IPHONE_BASE)/g++
ISYSROOT = -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk
IPHONE_CFLAGS = -miphoneos-version-min=3.0 $(ISYSROOT) -arch armv6
OPT_CFLAGS = -fast -funroll-loops -fomit-frame-pointer
CFLAGS := $(IPHONE_CFLAGS) $(OPT_CFLAGS) $(CFLAGS)
LDFLAGS += -arch armv6 -bundle -undefined dynamic_lookup $(ISYSROOT)
LIBS += -lc
STRIP = strip -x
DISTBINDIR=$(DISTDIR)-$(OS)
else # Mac OS X
SOURCES += $(SOURCES_macosx)
EXTENSION = pd_darwin
OS = macosx
PD_PATH = /Applications/Pd-extended.app/Contents/Resources
OPT_CFLAGS = -ftree-vectorize -ftree-vectorizer-verbose=2 -fast
# build universal 32-bit on 10.4 and 32/64 on newer
ifeq ($(shell uname -r | sed 's|\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*|\1|'), 8)
FAT_FLAGS = -arch ppc -arch i386 -mmacosx-version-min=10.4
else
FAT_FLAGS = -arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.4
SOURCES += $(SOURCES_iphoneos)
endif
CFLAGS += $(FAT_FLAGS) -fPIC -I/sw/include
LDFLAGS += $(FAT_FLAGS) -bundle -undefined dynamic_lookup -L/sw/lib
# if the 'pd' binary exists, check the linking against it to aid with stripping
LDFLAGS += $(shell test -e $(PD_PATH)/bin/pd && echo -bundle_loader $(PD_PATH)/bin/pd)
LIBS += -lc
STRIP = strip -x
DISTBINDIR=$(DISTDIR)-$(OS)
# install into ~/Library/Pd on Mac OS X since /usr/local isn't used much
pkglibdir=$(HOME)/Library/Pd
endif
endif
ifeq ($(UNAME),Linux)
CPU := $(shell uname -m)
SOURCES += $(SOURCES_linux)
EXTENSION = pd_linux
OS = linux
PD_PATH = /usr
OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
CFLAGS += -fPIC
LDFLAGS += -Wl,--export-dynamic -shared -fPIC
LIBS += -lc
STRIP = strip --strip-unneeded -R .note -R .comment
DISTBINDIR=$(DISTDIR)-$(OS)-$(shell uname -m)
endif
ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME)))
CPU := $(shell uname -m)
SOURCES += $(SOURCES_cygwin)
EXTENSION = dll
OS = cygwin
PD_PATH = $(cygpath $(PROGRAMFILES))/pd
OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
CFLAGS +=
LDFLAGS += -Wl,--export-dynamic -shared -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin"
LIBS += -lc -lpd
STRIP = strip --strip-unneeded -R .note -R .comment
DISTBINDIR=$(DISTDIR)-$(OS)
endif
ifeq (MINGW,$(findstring MINGW,$(UNAME)))
CPU := $(shell uname -m)
SOURCES += $(SOURCES_windows)
EXTENSION = dll
OS = windows
PD_PATH = $(shell cd "$(PROGRAMFILES)"/pd && pwd)
OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer -march=i686 -mtune=pentium4
CFLAGS += -mms-bitfields
LDFLAGS += -s -shared -Wl,--enable-auto-import
LIBS += -L"$(PD_PATH)/src" -L"$(PD_PATH)/bin" -L"$(PD_PATH)/obj" -lpd -lwsock32 -lkernel32 -luser32 -lgdi32
STRIP = strip --strip-unneeded -R .note -R .comment
DISTBINDIR=$(DISTDIR)-$(OS)
endif
# in case somebody manually set the HELPPATCHES above
HELPPATCHES ?= $(SOURCES:.c=-help.pd) $(PDOBJECTS:.pd=-help.pd)
CFLAGS += $(OPT_CFLAGS)
.PHONY = install libdir_install single_install install-doc install-exec install-examples install-manual clean dist etags $(LIBRARY_NAME)