From 6c271c12023d3aff3e5043a456b156b68042738d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sat, 26 Nov 2005 01:52:47 +0000 Subject: added in Jamie's dlopn patch so I can use his binaries; fixed a number of bugs reported on the list; added platform-specific noncvs handling svn path=/trunk/; revision=4035 --- externals/Makefile | 927 +++++++++++++++++++++-------------------- externals/Makefile.buildlayout | 8 +- externals/build/TODO | 5 + 3 files changed, 480 insertions(+), 460 deletions(-) (limited to 'externals') diff --git a/externals/Makefile b/externals/Makefile index ee9ce75d..1679d981 100644 --- a/externals/Makefile +++ b/externals/Makefile @@ -1,456 +1,471 @@ -#==============================================================================# -# -# Centralized build system for "externals". -# -# see README for instructions -# -#==============================================================================# - -# TODO: maybe this should be moved to the root like all the others - -CWD := $(shell pwd) - -# these are setup to be overridden by the packages/Makefile -SRC_ROOT_DIR = $(CWD)/.. -INSTALL_PREFIX = $(CWD)/build -BUILDLAYOUT_DIR = $(CWD) - -# default target -default: all - -.SUFFIXES: .$(EXTENSION) - - -include $(BUILDLAYOUT_DIR)/Makefile.buildlayout - - -# these are sent to all of the various Makefiles so that they all copy their -# output to the same directory tree -DEST_PATHS = BUILDLAYOUT_DIR=$(BUILDLAYOUT_DIR) \ - SRC_ROOT_DIR=$(SRC_ROOT_DIR) \ - INSTALL_PREFIX=$(INSTALL_PREFIX) - -#==============================================================================# -# -# COMPILE TARGETS -# -#==============================================================================# - -#------------------------------------------------------------------------------# -# BUILD -all: pre_all_$(OS_NAME) creb cyclone iemabs iemlib iemmatrix pddp pdp pmpd \ - toxy vbap zexy - @echo "Compiling objects for $(OS_NAME) aka $(UNAME)" -# try it this way so that it'll recognize files that have already been built - cd $(EXTERNALS_SRC)/build/$(OS_NAME) && make -k - -# these targets are for platform-specific needs that run before objects: -pre_all_darwin: - -pre_all_linux: - -pre_all_win: - -pre_all_unknown: -# this target is for "everything else" - - -#------------------------------------------------------------------------------# -# INSTALL -install: $(OBJECTS_DEST) help_install objects_install unfiltered_install \ - creb_install cyclone_install iemabs_install iemabs_install iemmatrix_install \ - pddp_install pdp_install pmpd_install toxy_install vbap_install zexy_install - @echo " " - @echo "externals install succeeded!" - -objects_install: - cd $(EXTERNALS_SRC)/build/$(OS_NAME)/ && \ - install -p *.$(EXTENSION) $(OBJECTS_DEST) - - -#==============================================================================# -# -# INSTALL TARGETS -# -#==============================================================================# - - -help_install: $(HELP_DEST) -#------------------------------------------------------------------------------# -# all standard objs' help files -# it had to be broken up because the list is soo long - install -p \ - $(EXTERNALS_SRC)/OSCx/doc/*.pd \ - $(EXTERNALS_SRC)/aenv~/*.pd \ - $(EXTERNALS_SRC)/arraysize/*.pd \ - $(EXTERNALS_SRC)/beatpipe/*.pd \ - $(EXTERNALS_SRC)/control/*/*.pd \ - $(EXTERNALS_SRC)/bbogart/chaos/tools/*.pd \ - $(EXTERNALS_SRC)/bbogart/*/*.pd \ - $(EXTERNALS_SRC)/creb/doc/*.pd \ - $(HELP_DEST) - install -p \ - $(EXTERNALS_SRC)/creb/doc/examples/*.pd \ - $(EXTERNALS_SRC)/cxc/reference/*.pd \ - $(EXTERNALS_SRC)/dfx/*/*.pd \ - $(EXTERNALS_SRC)/ext13/doc/*.pd \ - $(EXTERNALS_SRC)/ggee/*/*-help.pd \ - $(EXTERNALS_SRC)/gem2pdp/*.pd \ - $(EXTERNALS_SRC)/ff/*.pd \ - $(EXTERNALS_SRC)/freeverb~/*.pd \ - $(EXTERNALS_SRC)/hcs/*-help.pd \ - $(HELP_DEST) - install -p \ - $(EXTERNALS_SRC)/hcs/*/doc/*.pd \ - $(EXTERNALS_SRC)/hcs/hid/examples/*.pd \ - $(EXTERNALS_SRC)/hcs/pan/*-help.pd \ - $(EXTERNALS_SRC)/iem/*/*/*-help.pd \ - $(EXTERNALS_SRC)/markex/*.pd \ - $(EXTERNALS_SRC)/motex/*.pd \ - $(EXTERNALS_SRC)/nusmuk/line3/*.pd\ - $(HELP_DEST) - install -p \ - $(EXTERNALS_SRC)/pdogg/*/*.pd \ - $(EXTERNALS_SRC)/plugin~/*.pd \ - $(EXTERNALS_SRC)/rhythm_estimator/*.p? \ - $(EXTERNALS_SRC)/signal/*/*.pd \ - $(EXTERNALS_SRC)/sprinkler/sprinkler-help.pd \ - $(EXTERNALS_SRC)/susloop~/*.pd \ - $(EXTERNALS_SRC)/svf~/*.pd \ - $(EXTERNALS_SRC)/vbap/*.pd \ - $(EXTERNALS_SRC)/vst/*.pd \ - $(EXTERNALS_SRC)/zhzxh~/*.pd \ - $(HELP_DEST) -#------------------------------------------------------------------------------# -# mjlib [prob] conflicts with cyclone's [prob] so filter it - install -p $(shell ls -1 $(EXTERNALS_SRC)/mjlib/doc/*.* | \ - grep -v 'prob') $(HELP_DEST) -#------------------------------------------------------------------------------# -# maxlib [split] conflicts with cyclone so filter it - install -p $(shell ls -1 $(EXTERNALS_SRC)/maxlib/help/*.* | \ - grep -v 'split') $(HELP_DEST) - - - -#==============================================================================# -# -# PROJECT TARGETS -# -#==============================================================================# - - -#------------------------------------------------------------------------------# -# TEMPLATE -TEMPLATE_NAME=template -template: - - -template_install: template - install -d $(OBJECTS_DEST)/$(TEMPLATE_NAME) - install -d $(HELP_DEST)/$(TEMPLATE_NAME) - install -d $(MANUALS_DEST)/$(TEMPLATE_NAME) - install -d $(APPLICATIONS_DEST)/$(TEMPLATE_NAME) - - -#------------------------------------------------------------------------------# -# CREB -CREB_NAME=creb -creb: - - -creb_install: creb - install -d $(OBJECTS_DEST)/$(CREB_NAME) - install -p $(EXTERNALS_SRC)/creb/abs/*.pd $(OBJECTS_DEST)/$(CREB_NAME) - install -d $(HELP_DEST)/$(CREB_NAME) - install -p -m0644 $(EXTERNALS_SRC)/creb/doc/examples/*.* \ - $(HELP_DEST)/$(CREB_NAME) -# install -d $(MANUALS_DEST)/$(CREB_NAME) -# install -d $(APPLICATIONS_DEST)/$(CREB_NAME) - - - -#------------------------------------------------------------------------------# -# CYCLONE -CYCLONE_NAME=cyclone -# cyclone is compiled straight into $(OUT_DIR) -CYCLONE_OUT_DIR=$(OBJECTS_DEST)/$(CYCLONE_NAME) -cyclone: - - -cyclone_install: cyclone - install -d $(OBJECTS_DEST)/$(CYCLONE_NAME) - $(SCRIPTS_SRC)/generate-libdir-metafile.sh $(OBJECTS_DEST) $(CYCLONE_NAME) \ - --author "Kzrysztof Czaja" \ - --license "BSD" \ - --description "a library for porting and running Max/MSP patches in Pd" - cd $(EXTERNALS_SRC)/miXed/cyclone && $(MAKE) OUT_DIR=$(CYCLONE_OUT_DIR) -# install "cyclist" command line app with pd - install -d $(BIN_DEST) -# this doesn't build in the right place yet -# install -p -m0755 $(CYCLONE_OUT_DIR)/cyclist $(BIN_DEST) && \ -# rm $(CYCLONE_OUT_DIR)/cyclist -# rename cyclone lib since it will pre-empt libdir functionality - mv $(CYCLONE_OUT_DIR)/cyclone.$(EXTENSION) \ - $(CYCLONE_OUT_DIR)/cyclonelib.$(EXTENSION) - install -d $(HELP_DEST)/$(CYCLONE_NAME) - install -p $(EXTERNALS_SRC)/miXed/doc/help/cyclone/*.* \ - $(HELP_DEST)/$(CYCLONE_NAME) -# install -d $(MANUALS_DEST)/$(CYCLONE_NAME) - install -d $(APPLICATIONS_DEST)/$(CYCLONE_NAME) - install -p $(EXTERNALS_SRC)/miXed/test/cyclone/*.* \ - $(APPLICATIONS_DEST)/$(CYCLONE_NAME) - - - - - -#------------------------------------------------------------------------------# -# IEMABS -IEMABS_NAME=iemabs -iemabs: - - -iemabs_install: iemabs -# iemabs still has the help patches in the old help-*.pd style - install -d $(OBJECTS_DEST)/$(IEMABS_NAME) - install -p $(shell ls -1 $(EXTERNALS_SRC)/iemlib/iemabs/*.pd | \ - grep -v 'help') $(OBJECTS_DEST)/$(IEMABS_NAME) - install -d $(HELP_DEST)/$(IEMABS_NAME) - install -p $(EXTERNALS_SRC)/iemlib/iemabs/*help*.pd \ - $(HELP_DEST)/$(IEMABS_NAME) - install -p $(EXTERNALS_SRC)/iemlib/iemabs/*.mp3 $(HELP_DEST)/$(IEMABS_NAME) - install -p $(EXTERNALS_SRC)/iemlib/iemabs/*.wav $(HELP_DEST)/$(IEMABS_NAME) - install -d $(MANUALS_DEST)/$(IEMABS_NAME) - install -p $(EXTERNALS_SRC)/iemlib/iemabs/*.txt \ - $(MANUALS_DEST)/$(IEMABS_NAME) - - - -#------------------------------------------------------------------------------# -# IEMLIB -IEMLIB_NAME=iemlib -iemlib: - - -iemlib_install: iemlib -# install -d $(OBJECTS_DEST)/$(IEMLIB_NAME) -# install -d $(HELP_DEST)/$(IEMLIB_NAME) - install -d $(HELP_DEST)/iemhelp - install -p $(EXTERNALS_SRC)/iemlib/iemhelp/*.* $(HELP_DEST)/iemhelp -# install -d $(MANUALS_DEST)/$(IEMLIB_NAME) - install -d $(APPLICATIONS_DEST)/$(IEMLIB_NAME) - install -p $(EXTERNALS_SRC)/iemlib/examples/*.* \ - $(APPLICATIONS_DEST)/$(IEMLIB_NAME) - - - -#------------------------------------------------------------------------------# -# IEMMATRIX -IEMMATRIX_NAME=iemmatrix -iemmatrix: - - -iemmatrix_install: iemmatrix - install -d $(OBJECTS_DEST)/$(IEMMATRIX_NAME) - install -p $(shell ls -1 $(EXTERNALS_SRC)/iem/iemmatrix/abs/*.* | \ - grep -v '\-help.pd') $(OBJECTS_DEST)/$(IEMMATRIX_NAME) - install -d $(HELP_DEST)/$(IEMMATRIX_NAME) - install -p $(EXTERNALS_SRC)/iem/iemmatrix/doc/*.pd \ - $(HELP_DEST)/$(IEMMATRIX_NAME) - - - -#------------------------------------------------------------------------------# -# PDDP -PDDP_NAME=pddp -# pddp is compiled straight into $(OUT_DIR) -PDDP_OUT_DIR=$(OBJECTS_DEST)/$(PDDP_NAME) -pddp: - - -pddp_install: pddp - install -d $(OBJECTS_DEST)/$(PDDP_NAME) - $(SCRIPTS_SRC)/generate-libdir-metafile.sh $(OBJECTS_DEST) $(PDDP_NAME) \ - --author "PDDP" \ - --license "BSD" \ - --description "objects for working with Tcl and Pd's Tk GUI" - cd $(EXTERNALS_SRC)/miXed/pddp && $(MAKE) OUT_DIR=$(PDDP_OUT_DIR) -# install -d $(HELP_DEST)/$(PDDP_NAME) -# install -d $(MANUALS_DEST)/$(PDDP_NAME) - install -d $(APPLICATIONS_DEST)/$(PDDP_NAME) - install -p $(EXTERNALS_SRC)/miXed/test/pddp/*.* \ - $(APPLICATIONS_DEST)/$(PDDP_NAME) - - - -#------------------------------------------------------------------------------# -# PDP -PDP_NAME=pdp -pdp: -# cd $(EXTERNALS_SRC)/pdp && ./configure && $(MAKE) -#TODO: compile pidip here -#TODO: compile gem2pdp here - -pdp_install: pdp -# install -d $(OBJECTS_DEST)/$(PDP_NAME) -# install -p $(EXTERNALS_SRC)/pdp/*.$(EXTENSION) $(OBJECTS_DEST) -# install -p $(EXTERNALS_SRC)/pidip/*.$(EXTENSION) $(OBJECTS_DEST) -# install -p $(EXTERNALS_SRC)/gem2pdp/*.$(EXTENSION) $(OBJECTS_DEST) - install -p $(EXTERNALS_SRC)/pdp/abstractions/*.pd $(OBJECTS_DEST) -# install -d $(HELP_DEST)/$(PDP_NAME) - install -p $(EXTERNALS_SRC)/pdp/doc/objects/*.* $(HELP_DEST) - install -d $(MANUALS_DEST)/$(PDP_NAME) - install -p $(EXTERNALS_SRC)/pdp/doc/reference.txt $(MANUALS_DEST)/$(PDP_NAME) - install -p $(EXTERNALS_SRC)/pdp/doc/introduction/*.* \ - $(MANUALS_DEST)/$(PDP_NAME) - install -d $(APPLICATIONS_DEST)/$(PDP_NAME) - install -p $(EXTERNALS_SRC)/pdp/doc/examples/*.* \ - $(APPLICATIONS_DEST)/$(PDP_NAME) - - - -#------------------------------------------------------------------------------# -# PMPD -PMPD_NAME=pmpd -pmpd: - - -pmpd_install: pmpd - install -d $(OBJECTS_DEST)/$(PMPD_NAME) - install -d $(HELP_DEST)/$(PMPD_NAME) - install -p $(EXTERNALS_SRC)/pmpd/help/*.pd \ - $(HELP_DEST)/$(PMPD_NAME) - install -d $(MANUALS_DEST)/$(PMPD_NAME) - install -d $(MANUALS_DEST)/$(PMPD_NAME) - install -p $(EXTERNALS_SRC)/pmpd/doc/pmpd.pdf/pmpd.pdf \ - $(MANUALS_DEST)/$(PMPD_NAME) - install -d $(APPLICATIONS_DEST)/$(PMPD_NAME) - install -p $(EXTERNALS_SRC)/pmpd/exemples/*.pd \ - $(APPLICATIONS_DEST)/$(PMPD_NAME) - - - -#------------------------------------------------------------------------------# -# TOXY -TOXY_NAME=toxy -# toxy is compiled straight into $(OUT_DIR) -TOXY_OUT_DIR=$(OBJECTS_DEST)/$(TOXY_NAME) -toxy: - - -toxy_install: toxy - install -d $(OBJECTS_DEST)/$(TOXY_NAME) - $(SCRIPTS_SRC)/generate-libdir-metafile.sh $(OBJECTS_DEST) $(TOXY_NAME) \ - --author "Kzrysztof Czaja" \ - --license "BSD" \ - --description "objects for working with Tcl and Pd's Tk GUI" - cd $(EXTERNALS_SRC)/miXed/toxy && $(MAKE) OUT_DIR=$(TOXY_OUT_DIR) - install -d $(HELP_DEST)/$(TOXY_NAME) - install -p $(EXTERNALS_SRC)/miXed/doc/help/toxy/*.* \ - $(HELP_DEST)/$(TOXY_NAME) -# install -d $(MANUALS_DEST)/$(TOXY_NAME) - install -d $(APPLICATIONS_DEST)/$(TOXY_NAME) - install -p $(EXTERNALS_SRC)/miXed/test/toxy/*.* \ - $(APPLICATIONS_DEST)/$(TOXY_NAME) - - - -#------------------------------------------------------------------------------# -# VBAP -VBAP_NAME=vbap -vbap: - - -vbap_install: vbap - install -d $(OBJECTS_DEST)/$(VBAP_NAME) -# install -d $(HELP_DEST)/$(VBAP_NAME) -# install -d $(MANUALS_DEST)/$(VBAP_NAME) -# install -d $(APPLICATIONS_DEST)/$(VBAP_NAME) - install -p $(EXTERNALS_SRC)/vbap/graph-to-aziele.pd \ - $(OBJECTS_DEST)/$(VBAP_NAME) - - - -#------------------------------------------------------------------------------# -# Zexy -ZEXY_NAME = zexy -zexy: -# zexy's new build system doesn't work with CVS layout, and most of zexy is -# included in the extrnals build system now anyway. But the abstractions -# should still be included -# cd $(EXTERNALS_SRC)/zexy/src && autoconf && ./configure && $(MAKE) - - -zexy_install: zexy - install -d $(OBJECTS_DEST)/$(ZEXY_NAME) -# install -p $(EXTERNALS_SRC)/zexy/src/*.$(EXTENSION) $(OBJECTS_DEST)/$(ZEXY_NAME) - install -p $(shell ls -1 $(EXTERNALS_SRC)/zexy/abs/*.pd | \ - grep -v '-help.pd' | sed 's/\([&<>|~]\)/\\\1/g') \ - $(OBJECTS_DEST)/$(ZEXY_NAME) - install -d $(HELP_DEST)/$(ZEXY_NAME) - install -p $(EXTERNALS_SRC)/zexy/abs/*-help.pd $(HELP_DEST)/$(ZEXY_NAME) - install -p $(EXTERNALS_SRC)/zexy/zexy.pd $(HELP_DEST) - install -p $(EXTERNALS_SRC)/zexy/examples/*.* $(HELP_DEST)/$(ZEXY_NAME) - - - -#==============================================================================# -# -# UNFILTERED PROJECT TARGETS -# -#==============================================================================# -# this is not yet organized into libdirs, but just leftover - -unfiltered_install: -#---------------------------------------------------------------------------- -# hcs - install -p $(shell ls -1 $(EXTERNALS_SRC)/hcs/*.pd | \ - grep -v '\-help.pd') $(OBJECTS_DEST) -# hid -# these don't work on Windows yet - cd $(EXTERNALS_SRC)/hcs/hid && $(MAKE) - install -p $(EXTERNALS_SRC)/hcs/hid/hid.$(EXTENSION) $(OBJECTS_DEST) - install -p $(shell ls -1 $(EXTERNALS_SRC)/hcs/hid/*.pd | \ - grep -v '\-help.pd'| grep -v '\-list.pd') $(OBJECTS_DEST) -# general - install -p $(EXTERNALS_SRC)/hcs/general/*.pd $(OBJECTS_DEST) -# pan - install -p $(shell ls -1 $(EXTERNALS_SRC)/hcs/pan/*.pd | \ - grep -v '\-help.pd') $(OBJECTS_DEST) -#---------------------------------------------------------------------------- -# OSC -# these don't work on Windows yet - cd $(EXTERNALS_SRC)/OSCx && ./configure && $(MAKE) CC=gcc - install -p $(EXTERNALS_SRC)/OSCx/doc/*.* $(HELP_DEST) - install -p $(EXTERNALS_SRC)/OSCx/src/*.$(EXTENSION) $(OBJECTS_DEST) -#---------------------------------------------------------------------------- -# unauthorized -# these don't work on Windows yet - cd $(EXTERNALS_SRC)/unauthorized && $(MAKE) - install -p $(EXTERNALS_SRC)/unauthorized/*/*.$(EXTENSION) $(OBJECTS_DEST) - install -p $(EXTERNALS_SRC)/unauthorized/*/*.pd $(HELP_DEST) - install -p $(EXTERNALS_SRC)/unauthorized/*/*.txt $(HELP_DEST) - install -p $(EXTERNALS_SRC)/unauthorized/*/*.pls $(HELP_DEST) - cp -Rfp $(EXTERNALS_SRC)/unauthorized/blinkenlights/blm $(HELP_DEST) - - -#==============================================================================# -# -# DEVELOPER'S TARGETS -# -#==============================================================================# - -# make the symlinks necessary to simulate the installed environment -devsymlinks: - - -#==============================================================================# -# -# CLEAN TARGETS -# -#==============================================================================# - -# the destination-specific clean targets are in Makefile.buildlayout -clean: install_clean - -distclean: clean cruft_clean +#==============================================================================# +# +# Centralized build system for "externals". +# +# see README for instructions +# +#==============================================================================# + +# TODO: maybe this should be moved to the root like all the others + +CWD := $(shell pwd) + +# these are setup to be overridden by the packages/Makefile +SRC_ROOT_DIR = $(CWD)/.. +INSTALL_PREFIX = $(CWD)/build +BUILDLAYOUT_DIR = $(CWD) + +# default target +default: all + +.SUFFIXES: .$(EXTENSION) + + +include $(BUILDLAYOUT_DIR)/Makefile.buildlayout + + +# these are sent to all of the various Makefiles so that they all copy their +# output to the same directory tree +DEST_PATHS = BUILDLAYOUT_DIR=$(BUILDLAYOUT_DIR) \ + SRC_ROOT_DIR=$(SRC_ROOT_DIR) \ + INSTALL_PREFIX=$(INSTALL_PREFIX) + +#==============================================================================# +# +# COMPILE TARGETS +# +#==============================================================================# + +#------------------------------------------------------------------------------# +# BUILD +all: pre_all_$(OS_NAME) creb cyclone iemabs iemlib iemmatrix pddp pdp pmpd \ + toxy vbap zexy + @echo "Compiling objects for $(OS_NAME) aka $(UNAME)" +# try it this way so that it'll recognize files that have already been built + cd $(EXTERNALS_SRC)/build/$(OS_NAME) && make -k + +# these targets are for platform-specific needs that run before objects: +pre_all_darwin: + +pre_all_linux: + +pre_all_win: + +pre_all_unknown: +# this target is for "everything else" + + +#------------------------------------------------------------------------------# +# INSTALL +install: all $(OBJECTS_DEST) help_install objects_install unfiltered_install \ + creb_install cyclone_install iemabs_install iemabs_install iemmatrix_install \ + pddp_install pdp_install pmpd_install toxy_install vbap_install zexy_install + @echo " " + @echo "externals install succeeded!" + +objects_install: + cd $(EXTERNALS_SRC)/build/$(OS_NAME)/ && \ + install -p *.$(EXTENSION) $(OBJECTS_DEST) + + +#==============================================================================# +# +# INSTALL TARGETS +# +#==============================================================================# + + +help_install: $(HELP_DEST) +#------------------------------------------------------------------------------# +# all standard objs' help files +# it had to be broken up because the list is soo long + install -p \ + $(EXTERNALS_SRC)/OSCx/doc/*.pd \ + $(EXTERNALS_SRC)/aenv~/*.pd \ + $(EXTERNALS_SRC)/arraysize/*.pd \ + $(EXTERNALS_SRC)/beatpipe/*.pd \ + $(EXTERNALS_SRC)/control/*/*.pd \ + $(EXTERNALS_SRC)/bbogart/chaos/tools/*.pd \ + $(EXTERNALS_SRC)/bbogart/*/*.pd \ + $(EXTERNALS_SRC)/creb/doc/*.pd \ + $(HELP_DEST) + install -p \ + $(EXTERNALS_SRC)/creb/doc/examples/*.pd \ + $(EXTERNALS_SRC)/cxc/reference/*.pd \ + $(EXTERNALS_SRC)/dfx/*/*.pd \ + $(EXTERNALS_SRC)/ext13/doc/*.pd \ + $(EXTERNALS_SRC)/ggee/*/*-help.pd \ + $(EXTERNALS_SRC)/gem2pdp/*.pd \ + $(EXTERNALS_SRC)/ff/*.pd \ + $(EXTERNALS_SRC)/freeverb~/*.pd \ + $(EXTERNALS_SRC)/hcs/*-help.pd \ + $(HELP_DEST) + install -p \ + $(EXTERNALS_SRC)/hcs/*/doc/*.pd \ + $(EXTERNALS_SRC)/hcs/hid/examples/*.pd \ + $(EXTERNALS_SRC)/hcs/pan/*-help.pd \ + $(EXTERNALS_SRC)/iem/comport/*/*-help.pd \ + $(EXTERNALS_SRC)/markex/*.pd \ + $(EXTERNALS_SRC)/motex/*.pd \ + $(EXTERNALS_SRC)/nusmuk/line3/*.pd\ + $(HELP_DEST) + install -p \ + $(EXTERNALS_SRC)/pdogg/*/*.pd \ + $(EXTERNALS_SRC)/plugin~/*.pd \ + $(EXTERNALS_SRC)/rhythm_estimator/*.p? \ + $(EXTERNALS_SRC)/signal/*/*.pd \ + $(EXTERNALS_SRC)/sprinkler/sprinkler-help.pd \ + $(EXTERNALS_SRC)/susloop~/*.pd \ + $(EXTERNALS_SRC)/svf~/*.pd \ + $(EXTERNALS_SRC)/vbap/*.pd \ + $(EXTERNALS_SRC)/vst/*.pd \ + $(EXTERNALS_SRC)/zhzxh~/*.pd \ + $(HELP_DEST) +#------------------------------------------------------------------------------# +# mjlib [prob] conflicts with cyclone's [prob] so filter it + install -p $(shell ls -1 $(EXTERNALS_SRC)/mjlib/doc/*.* | \ + grep -v 'prob') $(HELP_DEST) +#------------------------------------------------------------------------------# +# maxlib [split] conflicts with cyclone so filter it + install -p $(shell ls -1 $(EXTERNALS_SRC)/maxlib/help/*.* | \ + grep -v 'split') $(HELP_DEST) + + + +#==============================================================================# +# +# PROJECT TARGETS +# +#==============================================================================# + + +#------------------------------------------------------------------------------# +# TEMPLATE +TEMPLATE_NAME=template +template: + + +template_install: template + install -d $(OBJECTS_DEST)/$(TEMPLATE_NAME) + install -d $(HELP_DEST)/$(TEMPLATE_NAME) + install -d $(MANUALS_DEST)/$(TEMPLATE_NAME) + install -d $(APPLICATIONS_DEST)/$(TEMPLATE_NAME) + + +#------------------------------------------------------------------------------# +# CREB +CREB_NAME=creb +creb: + + +creb_install: creb + install -d $(OBJECTS_DEST)/$(CREB_NAME) + install -p $(EXTERNALS_SRC)/creb/abs/*.pd $(OBJECTS_DEST)/$(CREB_NAME) + install -d $(HELP_DEST)/$(CREB_NAME) + install -p -m0644 $(EXTERNALS_SRC)/creb/doc/examples/*.* \ + $(HELP_DEST)/$(CREB_NAME) +# install -d $(MANUALS_DEST)/$(CREB_NAME) +# install -d $(APPLICATIONS_DEST)/$(CREB_NAME) + + + +#------------------------------------------------------------------------------# +# CYCLONE +CYCLONE_NAME=cyclone +# cyclone is compiled straight into $(OUT_DIR) +CYCLONE_OUT_DIR=$(OBJECTS_DEST)/$(CYCLONE_NAME) +cyclone: + + +cyclone_install: cyclone + install -d $(OBJECTS_DEST)/$(CYCLONE_NAME) + $(SCRIPTS_SRC)/generate-libdir-metafile.sh $(OBJECTS_DEST) $(CYCLONE_NAME) \ + --author "Kzrysztof Czaja" \ + --license "BSD" \ + --description "a library for porting and running Max/MSP patches in Pd" + cd $(EXTERNALS_SRC)/miXed/cyclone && $(MAKE) OUT_DIR=$(CYCLONE_OUT_DIR) +# install "cyclist" command line app with pd + install -d $(BIN_DEST) +# this doesn't build in the right place yet +# install -p -m0755 $(CYCLONE_OUT_DIR)/cyclist $(BIN_DEST) && \ +# rm $(CYCLONE_OUT_DIR)/cyclist +# rename cyclone lib since it will pre-empt libdir functionality + mv $(CYCLONE_OUT_DIR)/cyclone.$(EXTENSION) \ + $(CYCLONE_OUT_DIR)/cyclonelib.$(EXTENSION) + install -d $(HELP_DEST)/$(CYCLONE_NAME) + install -p $(EXTERNALS_SRC)/miXed/doc/help/cyclone/*.* \ + $(HELP_DEST)/$(CYCLONE_NAME) +# install -d $(MANUALS_DEST)/$(CYCLONE_NAME) + install -d $(APPLICATIONS_DEST)/$(CYCLONE_NAME) + install -p $(EXTERNALS_SRC)/miXed/test/cyclone/*.* \ + $(APPLICATIONS_DEST)/$(CYCLONE_NAME) + + + + + +#------------------------------------------------------------------------------# +# IEMABS +IEMABS_NAME=iemabs +iemabs: + + +iemabs_install: iemabs +# iemabs still has the help patches in the old help-*.pd style + install -d $(OBJECTS_DEST)/$(IEMABS_NAME) + $(SCRIPTS_SRC)/generate-libdir-metafile.sh $(OBJECTS_DEST) $(IEMABS_NAME) \ + --description "a collection of objects written at IEM/KUG" + install -p $(shell ls -1 $(EXTERNALS_SRC)/iemlib/iemabs/*.pd | \ + grep -v 'help') $(OBJECTS_DEST)/$(IEMABS_NAME) + install -d $(HELP_DEST)/$(IEMABS_NAME) + install -p $(EXTERNALS_SRC)/iemlib/iemabs/*help*.pd \ + $(HELP_DEST)/$(IEMABS_NAME) + install -p $(EXTERNALS_SRC)/iemlib/iemabs/*.mp3 $(HELP_DEST)/$(IEMABS_NAME) + install -p $(EXTERNALS_SRC)/iemlib/iemabs/*.wav $(HELP_DEST)/$(IEMABS_NAME) + install -d $(MANUALS_DEST)/$(IEMABS_NAME) + install -p $(EXTERNALS_SRC)/iemlib/iemabs/*.txt \ + $(MANUALS_DEST)/$(IEMABS_NAME) + + + +#------------------------------------------------------------------------------# +# IEMLIB +IEMLIB_NAME=iemlib +iemlib: + + +iemlib_install: iemlib +# install -d $(OBJECTS_DEST)/$(IEMLIB_NAME) +# install -d $(HELP_DEST)/$(IEMLIB_NAME) + install -d $(HELP_DEST)/iemhelp + install -p $(EXTERNALS_SRC)/iemlib/iemhelp/*.* $(HELP_DEST)/iemhelp +# install -d $(MANUALS_DEST)/$(IEMLIB_NAME) + install -d $(APPLICATIONS_DEST)/$(IEMLIB_NAME) + install -p $(EXTERNALS_SRC)/iemlib/examples/*.* \ + $(APPLICATIONS_DEST)/$(IEMLIB_NAME) + + + +#------------------------------------------------------------------------------# +# IEMMATRIX +IEMMATRIX_NAME=iemmatrix +iemmatrix: + + +iemmatrix_install: iemmatrix + install -d $(OBJECTS_DEST)/$(IEMMATRIX_NAME) + $(SCRIPTS_SRC)/generate-libdir-metafile.sh $(OBJECTS_DEST) $(IEMMATRIX_NAME) \ + --description "objects for matrix operations and math" + mv $(OBJECTS_DEST)/mtx*.$(EXTENSION) $(OBJECTS_DEST)/$(IEMMATRIX_NAME) + install -p $(shell ls -1 $(EXTERNALS_SRC)/iem/iemmatrix/abs/*.* | \ + grep -v '\-help.pd') $(OBJECTS_DEST)/$(IEMMATRIX_NAME) + install -d $(HELP_DEST)/$(IEMMATRIX_NAME) + install -p $(EXTERNALS_SRC)/iem/iemmatrix/doc/*.pd \ + $(HELP_DEST)/$(IEMMATRIX_NAME) + + + +#------------------------------------------------------------------------------# +# PDDP +PDDP_NAME=pddp +# pddp is compiled straight into $(OUT_DIR) +PDDP_OUT_DIR=$(OBJECTS_DEST)/$(PDDP_NAME) +pddp: + + +pddp_install: pddp + install -d $(OBJECTS_DEST)/$(PDDP_NAME) + $(SCRIPTS_SRC)/generate-libdir-metafile.sh $(OBJECTS_DEST) $(PDDP_NAME) \ + --author "PDDP" \ + --license "BSD" \ + --description "objects for working with Tcl and Pd's Tk GUI" + cd $(EXTERNALS_SRC)/miXed/pddp && $(MAKE) OUT_DIR=$(PDDP_OUT_DIR) +# install -d $(HELP_DEST)/$(PDDP_NAME) +# install -d $(MANUALS_DEST)/$(PDDP_NAME) + install -d $(APPLICATIONS_DEST)/$(PDDP_NAME) + install -p $(EXTERNALS_SRC)/miXed/test/pddp/*.* \ + $(APPLICATIONS_DEST)/$(PDDP_NAME) + + + +#------------------------------------------------------------------------------# +# PDP +PDP_NAME=pdp +pdp: +# cd $(EXTERNALS_SRC)/pdp && ./configure && $(MAKE) +#TODO: compile pidip here +#TODO: compile gem2pdp here + +pdp_install: pdp +# install -d $(OBJECTS_DEST)/$(PDP_NAME) +# install -p $(EXTERNALS_SRC)/pdp/*.$(EXTENSION) $(OBJECTS_DEST) +# install -p $(EXTERNALS_SRC)/pidip/*.$(EXTENSION) $(OBJECTS_DEST) +# install -p $(EXTERNALS_SRC)/gem2pdp/*.$(EXTENSION) $(OBJECTS_DEST) + install -p $(EXTERNALS_SRC)/pdp/abstractions/*.pd $(OBJECTS_DEST) +# install -d $(HELP_DEST)/$(PDP_NAME) + install -p $(EXTERNALS_SRC)/pdp/doc/objects/*.* $(HELP_DEST) + install -d $(MANUALS_DEST)/$(PDP_NAME) + install -p $(EXTERNALS_SRC)/pdp/doc/reference.txt $(MANUALS_DEST)/$(PDP_NAME) + install -p $(EXTERNALS_SRC)/pdp/doc/introduction/*.* \ + $(MANUALS_DEST)/$(PDP_NAME) + install -d $(APPLICATIONS_DEST)/$(PDP_NAME) + install -p $(EXTERNALS_SRC)/pdp/doc/examples/*.* \ + $(APPLICATIONS_DEST)/$(PDP_NAME) + + + +#------------------------------------------------------------------------------# +# PMPD +PMPD_NAME=pmpd +pmpd: + + +pmpd_install: pmpd +# install -d $(OBJECTS_DEST)/$(PMPD_NAME) + install -d $(HELP_DEST)/$(PMPD_NAME) + install -p $(EXTERNALS_SRC)/pmpd/help/*.pd \ + $(HELP_DEST)/$(PMPD_NAME) + install -d $(MANUALS_DEST)/$(PMPD_NAME) + install -d $(MANUALS_DEST)/$(PMPD_NAME) + install -p $(EXTERNALS_SRC)/pmpd/doc/pmpd.pdf/pmpd.pdf \ + $(MANUALS_DEST)/$(PMPD_NAME) + install -d $(APPLICATIONS_DEST)/$(PMPD_NAME) + install -p $(EXTERNALS_SRC)/pmpd/exemples/*.pd \ + $(APPLICATIONS_DEST)/$(PMPD_NAME) + + + +#------------------------------------------------------------------------------# +# TOXY +TOXY_NAME=toxy +# toxy is compiled straight into $(OUT_DIR) +TOXY_OUT_DIR=$(OBJECTS_DEST)/$(TOXY_NAME) +toxy: + + +toxy_install: toxy + install -d $(OBJECTS_DEST)/$(TOXY_NAME) + $(SCRIPTS_SRC)/generate-libdir-metafile.sh $(OBJECTS_DEST) $(TOXY_NAME) \ + --author "Kzrysztof Czaja" \ + --license "BSD" \ + --description "objects for working with Tcl and Pd's Tk GUI" + cd $(EXTERNALS_SRC)/miXed/toxy && $(MAKE) OUT_DIR=$(TOXY_OUT_DIR) + install -d $(HELP_DEST)/$(TOXY_NAME) + install -p $(EXTERNALS_SRC)/miXed/doc/help/toxy/*.* \ + $(HELP_DEST)/$(TOXY_NAME) +# install -d $(MANUALS_DEST)/$(TOXY_NAME) + install -d $(APPLICATIONS_DEST)/$(TOXY_NAME) + install -p $(EXTERNALS_SRC)/miXed/test/toxy/*.* \ + $(APPLICATIONS_DEST)/$(TOXY_NAME) + + + +#------------------------------------------------------------------------------# +# VBAP +VBAP_NAME=vbap +vbap: + + +vbap_install: vbap + install -d $(OBJECTS_DEST)/$(VBAP_NAME) +# install -d $(HELP_DEST)/$(VBAP_NAME) +# install -d $(MANUALS_DEST)/$(VBAP_NAME) +# install -d $(APPLICATIONS_DEST)/$(VBAP_NAME) + install -p $(EXTERNALS_SRC)/vbap/graph-to-aziele.pd \ + $(OBJECTS_DEST)/$(VBAP_NAME) + + + +#------------------------------------------------------------------------------# +# Zexy +ZEXY_NAME = zexy +zexy: +# zexy's new build system doesn't work with CVS layout, and most of zexy is +# included in the extrnals build system now anyway. But the abstractions +# should still be included +# cd $(EXTERNALS_SRC)/zexy/src && autoconf && ./configure && $(MAKE) + + +zexy_install: zexy + install -d $(OBJECTS_DEST)/$(ZEXY_NAME) +# install -p $(EXTERNALS_SRC)/zexy/src/*.$(EXTENSION) $(OBJECTS_DEST)/$(ZEXY_NAME) + install -p $(shell ls -1 $(EXTERNALS_SRC)/zexy/abs/*.pd | \ + grep -v '-help.pd' | sed 's/\([&<>|~]\)/\\\1/g') \ + $(OBJECTS_DEST)/$(ZEXY_NAME) + install -d $(HELP_DEST)/$(ZEXY_NAME) + install -p $(EXTERNALS_SRC)/zexy/abs/*-help.pd $(HELP_DEST)/$(ZEXY_NAME) + install -p $(EXTERNALS_SRC)/zexy/zexy.pd $(HELP_DEST) + install -p $(EXTERNALS_SRC)/zexy/examples/*.* $(HELP_DEST)/$(ZEXY_NAME) + + + +#==============================================================================# +# +# UNFILTERED PROJECT TARGETS +# +#==============================================================================# +# this is not yet organized into libdirs, but just leftover + +unfiltered_install: +#---------------------------------------------------------------------------- +# hcs + install -p $(shell ls -1 $(EXTERNALS_SRC)/hcs/*.pd | \ + grep -v '\-help.pd') $(OBJECTS_DEST) +# hid +# these don't work on Windows yet + cd $(EXTERNALS_SRC)/hcs/hid && $(MAKE) + install -p $(EXTERNALS_SRC)/hcs/hid/hid.$(EXTENSION) $(OBJECTS_DEST) + install -p $(shell ls -1 $(EXTERNALS_SRC)/hcs/hid/*.pd | \ + grep -v '\-help.pd'| grep -v '\-list.pd') $(OBJECTS_DEST) +# general + install -p $(EXTERNALS_SRC)/hcs/general/*.pd $(OBJECTS_DEST) +# pan + install -p $(shell ls -1 $(EXTERNALS_SRC)/hcs/pan/*.pd | \ + grep -v '\-help.pd') $(OBJECTS_DEST) +#---------------------------------------------------------------------------- +# OSC + test -e cd $(EXTERNALS_SRC)/OSCx/Makefile || \ + (cd $(EXTERNALS_SRC)/OSCx && ./configure) +# these don't work on Windows yet + cd $(EXTERNALS_SRC)/OSCx && $(MAKE) CC=gcc + install -p $(EXTERNALS_SRC)/OSCx/doc/*.* $(HELP_DEST) + install -p $(EXTERNALS_SRC)/OSCx/src/*.$(EXTENSION) $(OBJECTS_DEST) +#---------------------------------------------------------------------------- +# unauthorized +# these don't work on Windows yet + cd $(EXTERNALS_SRC)/unauthorized && $(MAKE) + install -p $(EXTERNALS_SRC)/unauthorized/*/*.$(EXTENSION) $(OBJECTS_DEST) + install -p $(EXTERNALS_SRC)/unauthorized/*/*.pd $(HELP_DEST) + install -p $(EXTERNALS_SRC)/unauthorized/*/*.txt $(HELP_DEST) + install -p $(EXTERNALS_SRC)/unauthorized/*/*.pls $(HELP_DEST) + cp -Rfp $(EXTERNALS_SRC)/unauthorized/blinkenlights/blm $(HELP_DEST) + + +#==============================================================================# +# +# DEVELOPER'S TARGETS +# +#==============================================================================# + +# make the symlinks necessary to simulate the installed environment +devsymlinks: + + +#==============================================================================# +# +# CLEAN TARGETS +# +#==============================================================================# + +# the destination-specific clean targets are in Makefile.buildlayout +clean: install_clean + cd $(EXTERNALS_SRC)/build/$(OS_NAME) && make $(DEST_PATHS) clean + cd $(EXTERNALS_SRC)/hcs/hid && make $(DEST_PATHS) clean + cd $(EXTERNALS_SRC)/OSCx && make $(DEST_PATHS) clean + cd $(EXTERNALS_SRC)/mixed/cyclone && make $(DEST_PATHS) clean + cd $(EXTERNALS_SRC)/mixed/pddp && make $(DEST_PATHS) clean + cd $(EXTERNALS_SRC)/mixed/toxy && make $(DEST_PATHS) clean + cd $(EXTERNALS_SRC)/unauthorized && make $(DEST_PATHS) clean + +distclean: clean cruft_clean + rm $(EXTERNALS_SRC)/OSCx Makefile diff --git a/externals/Makefile.buildlayout b/externals/Makefile.buildlayout index 921a7959..12df9df5 100644 --- a/externals/Makefile.buildlayout +++ b/externals/Makefile.buildlayout @@ -19,12 +19,12 @@ # # This file is currently located in these places: # abstractions -# externals/build +# extensions +# externals # packages # doc # # it will be going here too: -# extensions # gem # pd # @@ -65,10 +65,10 @@ endif # sources ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions DOC_SRC = $(SRC_ROOT_DIR)/doc +EXTENSIONS_SRC = $(SRC_ROOT_DIR)/extensions EXTERNALS_SRC = $(SRC_ROOT_DIR)/externals FLEXT_SRC = $(SRC_ROOT_DIR)/externals/grill/flext GEM_SRC = $(SRC_ROOT_DIR)/Gem -GEMLIBS_SRC = $(SRC_ROOT_DIR)/GemLibs PACKAGES_SRC = $(SRC_ROOT_DIR)/packages PD_SRC = $(SRC_ROOT_DIR)/pd SCRIPTS_SRC = $(SRC_ROOT_DIR)/scripts @@ -130,7 +130,7 @@ PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION) # release version for this distro -PACKAGE_VERSION = extended-RC4 +PACKAGE_VERSION = extended-RC5 PACKAGE_NAME = Pd-$(PD_VERSION)-$(PACKAGE_VERSION) diff --git a/externals/build/TODO b/externals/build/TODO index da3aa827..7f6e5de6 100644 --- a/externals/build/TODO +++ b/externals/build/TODO @@ -1,4 +1,7 @@ +- incorporate %.c building into cross-platform Makefile, and have it work with + subdirectories so that libdirs can be compiled here. + - simplify Makefile, making just "all" and "install" with subsections for each subdir. @@ -32,3 +35,5 @@ PDContainer ann grh + iemstream + iemxmlrpc -- cgit v1.2.1