aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--externals/Makefile96
-rw-r--r--externals/Makefile.buildlayout233
-rw-r--r--externals/build/TODO3
3 files changed, 86 insertions, 246 deletions
diff --git a/externals/Makefile b/externals/Makefile
index 2cfa5623..26a97cb7 100644
--- a/externals/Makefile
+++ b/externals/Makefile
@@ -96,8 +96,8 @@ WIN_DEFINES = \
#------------------------------------------------------------------------------#
# ALL
-all: pre_all_$(OS_NAME) creb cyclone iemabs iemlib iemmatrix pddp pdp pmpd \
- smlib toxy vbap zexy
+all: pre_all_$(OS_NAME) creb cxc cyclone ext13 iemabs iemlib iemmatrix pddp \
+pdp pmpd smlib 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
@@ -116,9 +116,9 @@ pre_all_unknown:
#------------------------------------------------------------------------------#
# INSTALL
install: all $(objectsdir) help_install objects_install unfiltered_install \
- creb_install cyclone_install iemabs_install iemabs_install iemmatrix_install \
- pddp_install pdp_install pmpd_install toxy_install unauthorized_install \
- vbap_install zexy_install
+creb_install cxc_install cyclone_install ext13_install iemabs_install \
+iemabs_install iemmatrix_install pddp_install pdp_install pmpd_install \
+toxy_install unauthorized_install vbap_install zexy_install
@echo " "
@echo "externals install succeeded!"
@@ -150,9 +150,7 @@ help_install: $(helpdir)
$(helpdir)
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)/ggee/*/*.gif \
$(externals_src)/gem2pdp/*.pd \
@@ -202,14 +200,29 @@ help_install: $(helpdir)
#------------------------------------------------------------------------------#
# TEMPLATE
TEMPLATE_NAME=template
-template:
-
+TEMPLATE_OBJECTS = $(wildcard $(externals_src)/template/*.c)
+template: $(TEMPLATE_OBJECTS:.c=.$(EXTENSION))
template_install: template
install -d $(objectsdir)/$(TEMPLATE_NAME)
+ $(scripts_src)/generate-libdir-metafile.sh $(objectsdir) $(TEMPLATE_NAME) \
+ --author "" \
+ --description "" \
+ --license "" \
+ --version ""
+ install -p $(TEMPLATE_OBJECTS:.c=.$(EXTENSION)) $(objectsdir)/$(TEMPLATE_NAME)
install -d $(helpdir)/$(TEMPLATE_NAME)
+ install -p $(wildcard $(externals_src)/template/help/*.pd) \
+ $(examplesdir)/$(TEMPLATE_NAME)
install -d $(manualsdir)/$(TEMPLATE_NAME)
+ install -p $(externals_src)/template/README.txt $(manualsdir)/$(TEMPLATE_NAME)
install -d $(examplesdir)/$(TEMPLATE_NAME)
+ install -p $(wildcard $(externals_src)/template/examples/*.pd) \
+ $(examplesdir)/$(TEMPLATE_NAME)
+
+template_clean:
+ -rm -f -- $(externals_src)/template/*.$(EXTENSION)
+ -rm -f -- $(externals_src)/template/*.bak
#------------------------------------------------------------------------------#
@@ -227,9 +240,38 @@ creb_install: creb
# install -d $(manualsdir)/$(CREB_NAME)
# install -d $(examplesdir)/$(CREB_NAME)
+creb_clean:
+ -rm -f -- $(externals_src)/creb/*.$(EXTENSION)
+ -rm -f -- $(externals_src)/creb/*.bak
#------------------------------------------------------------------------------#
+# CXC
+CXC_NAME=cxc
+CXC_OBJECTS = $(wildcard $(externals_src)/cxc/???*.c)
+cxc: $(CXC_OBJECTS:.c=.$(EXTENSION))
+
+cxc_install: cxc
+ install -d $(objectsdir)/$(CXC_NAME)
+ $(scripts_src)/generate-libdir-metafile.sh $(objectsdir) $(CXC_NAME) \
+ --author "jdl@xdv.org" \
+ --description "" \
+ --license "" \
+ --version ""
+ install -p $(CXC_OBJECTS:.c=.$(EXTENSION)) $(objectsdir)/$(CXC_NAME)
+ install -d $(helpdir)/$(CXC_NAME)
+ install -p $(wildcard $(externals_src)/cxc/reference/*.pd) \
+ $(helpdir)/$(CXC_NAME)
+ install -d $(manualsdir)/$(CXC_NAME)
+ install -p $(externals_src)/cxc/README \
+ $(manualsdir)/$(CXC_NAME)/README.txt
+
+cxc_clean:
+ -rm -f -- $(SMLIB_OBJECTS:.c=.$(EXTENSION))
+ -rm -f -- $(externals_src)/cxc/*.$(EXTENSION)
+ -rm -f -- $(externals_src)/cxc/*.bak
+
+#------------------------------------------------------------------------------#
# CYCLONE
CYCLONE_NAME=cyclone
# cyclone is compiled straight into $(OUT_DIR)
@@ -262,6 +304,36 @@ cyclone_install: cyclone
+#------------------------------------------------------------------------------#
+# EXT13
+EXT13_NAME=ext13
+# sfread.c doesn't compile, so exclude it
+EXT13_OBJECTS = $(wildcard $(externals_src)/ext13/???????*.c) \
+ $(externals_src)/ext13/ftos.c $(externals_src)/ext13/send13.c
+ext13: $(EXT13_OBJECTS:.c=.$(EXTENSION))
+
+ext13_test:
+ @echo "objects: $(EXT13_OBJECTS)"
+
+
+ext13_install: ext13
+ install -d $(objectsdir)/$(EXT13_NAME)
+ $(scripts_src)/generate-libdir-metafile.sh $(objectsdir) $(EXT13_NAME) \
+ --author "d13@klingt.org" \
+ --version "0.17"
+ install -p $(EXT13_OBJECTS:.c=.$(EXTENSION)) $(objectsdir)/$(EXT13_NAME)
+ install -d $(helpdir)/$(EXT13_NAME)
+ install -p $(wildcard $(externals_src)/ext13/doc/*.pd) \
+ $(helpdir)/$(EXT13_NAME)
+ install -d $(manualsdir)/$(EXT13_NAME)
+ install -p $(externals_src)/ext13/README \
+ $(manualsdir)/$(EXT13_NAME)/README.txt
+
+ext13_clean:
+ -rm -f -- $(externals_src)/ext13/*.$(EXTENSION)
+ -rm -f -- $(externals_src)/ext13/*.bak
+ -rm -f -- $(externals_src)/ext13/*~
+
#------------------------------------------------------------------------------#
@@ -444,7 +516,9 @@ smlib_install: smlib
$(examplesdir)/$(SMLIB_NAME)
smlib_clean:
- rm $(SMLIB_OBJECTS:.c=.$(EXTENSION))
+ -rm -f -- $(SMLIB_OBJECTS:.c=.$(EXTENSION))
+ -rm -f -- $(externals_src)/smlib/*.bak
+ -rm -f -- $(externals_src)/smlib/*~
#------------------------------------------------------------------------------#
@@ -592,7 +666,7 @@ devsymlinks:
#==============================================================================#
# the destination-specific clean targets are in Makefile.buildlayout
-clean: smlib_clean install_clean
+clean: creb_clean cxc_clean ext13_clean smlib_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
diff --git a/externals/Makefile.buildlayout b/externals/Makefile.buildlayout
deleted file mode 100644
index 6a2dab6d..00000000
--- a/externals/Makefile.buildlayout
+++ /dev/null
@@ -1,233 +0,0 @@
-#==============================================================================#
-#
-# Centralized cross-platform build system Makefile.buildsystem
-#
-# this file contains all the common locations and targets
-# <hans@at.or.at>
-#
-#==============================================================================#
-# This file should be exactly the same in each section of the CVS. A copy is
-# kept in each section of the CVS so that each section will be self-contained.
-# To use it, you need to include it in your Makefile (i.e. "include
-# Makefile.buildlayout") and then define $(prefix) and $(cvs_root_dir).
-#
-# $(cvs_root_dir) is the base directory of src tree, equivalent to the root
-# level of the pure-data CVS.
-#
-# $(prefix) is the base directory to where all of the resulting files
-# will be copied.
-#
-# This file is currently located in these places:
-# abstractions
-# extensions
-# externals
-# packages
-# doc
-#
-# it will be going here too:
-# gem
-# pd
-#
-# <hans@at.or.at>
-
-#==============================================================================#
-#
-## PLATFORM-SPECIFIC SETTINGS
-#
-#==============================================================================#
-# which OS to compile for
-UNAME := $(shell uname -s)
-ifeq ($(UNAME),Linux)
- OS_NAME = linux
- EXTENSION = pd_linux
-else
- ifeq ($(UNAME),Darwin)
- OS_NAME = darwin
- EXTENSION = pd_darwin
- else
- ifeq (MINGW,$(findstring MINGW,$(UNAME)))
- OS_NAME = win
- EXTENSION = dll
- else
- OS_NAME = unknown
- EXTENSION = so
- $(warning WARNING: unknown environment "$(UNAME)".)
- endif
- endif
-endif
-
-#==============================================================================#
-#
-# DIRECTORY STRUCTURE
-#
-#==============================================================================#
-
-# sources
-abstractions_src = $(cvs_root_dir)/abstractions
-doc_src = $(cvs_root_dir)/doc
-extensions_src = $(cvs_root_dir)/extensions
-externals_src = $(cvs_root_dir)/externals
-flext_src = $(cvs_root_dir)/externals/grill/flext
-gem_src = $(cvs_root_dir)/Gem
-packages_src = $(cvs_root_dir)/packages
-pd_src = $(cvs_root_dir)/pd
-scripts_src = $(cvs_root_dir)/scripts
-
-
-# destinations
-bindir = $(DESTDIR)$(prefix)/bin
-includedir = $(DESTDIR)$(prefix)/include
-libdir = $(DESTDIR)$(prefix)/lib
-mandir = $(DESTDIR)$(prefix)/man
-
-ifeq ($(OS_NAME),darwin)
- objectsdir = $(DESTDIR)$(prefix)/extra
- pddocdir = $(DESTDIR)$(prefix)/doc
- else
- ifeq ($(OS_NAME),win)
- objectsdir = $(DESTDIR)$(prefix)/extra
- pddocdir = $(DESTDIR)$(prefix)/doc
- else
- objectsdir = $(libdir)/pd/extra
- pddocdir = $(libdir)/pd/doc
- endif
-endif
-
-examplesdir = $(pddocdir)/examples
-helpdir = $(pddocdir)/5.reference
-manualsdir = $(pddocdir)/manuals
-
-
-#==============================================================================#
-#
-# DIRECTORY STRUCTURE TARGETS
-#
-#==============================================================================#
-
-# first make sure that the directory structure is setup
-$(DESTDIR):
- install -d $(DESTDIR)
-
-$(bindir): $(DESTDIR)
- install -d $(bindir)
-
-$(examplesdir): $(DESTDIR)
- install -d $(examplesdir)
-
-$(includedir): $(DESTDIR)
- install -d $(includedir)
-
-$(pddocdir): $(DESTDIR)
- install -d $(pddocdir)
-
-$(helpdir): $(DESTDIR)
- install -d $(helpdir)
-
-$(manualsdir): $(DESTDIR)
- install -d $(manualsdir)
-
-$(objectsdir): $(DESTDIR)
- install -d $(objectsdir)
-
-installdirs: $(DESTDIR) $(bindir) $(examplesdir) $(pddocdir) $(includedir) $(helpdir) $(manualsdir) $(objectsdir)
-
-#==============================================================================#
-#
-# PD VERSION AND PACKAGE NAMING
-#
-#==============================================================================#
-
-
-PD_MAJOR_VERSION := $(shell grep 'Pd version' $(pd_src)/src/s_main.c | \
- sed 's/char pd_version\[\] = "Pd version \([0-9]\)\.[0-9]*[. TES-]*[0-9]*[0-9extndRC.-]*.n";/\1/')
-PD_MINOR_VERSION := $(shell grep 'Pd version' $(pd_src)/src/s_main.c | \
- sed 's/char pd_version\[\] = "Pd version [0-9]\.\([0-9]*\)[. TES-]*\([0-9]*\)[0-9extndRC.-]*.n";/\1/')
-PD_BUGFIX_VERSION := $(shell grep 'Pd version' $(pd_src)/src/s_main.c | \
- sed 's/char pd_version\[\] = "Pd version [0-9]\.[0-9]*[. TES-]*\([0-9]*\)[0-9extndRC.-]*.n";/\1/')
-# the separators [.-] need to be the same as in s_main.c or the regexps break
-PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION)
-
-
-# release version for this distro
-PACKAGE_VERSION = extended-RC6
-PACKAGE_NAME = Pd-$(PD_VERSION)-$(PACKAGE_VERSION)
-
-
-
-#==============================================================================#
-#
-# CLEAN TARGETS
-#
-#==============================================================================#
-
-applications_clean:
- -rm -f -- $(examplesdir)/*/*/*/*/*.*
- -rm -f -- $(examplesdir)/*/*/*/*.*
- -rm -f -- $(examplesdir)/*/*/*.*
- -rm -f -- $(examplesdir)/*/*.*
- -rmdir $(examplesdir)/*/*/*/*
- -rmdir $(examplesdir)/*/*/*
- -rmdir $(examplesdir)/*/*
- -rmdir $(examplesdir)/*
- -rmdir $(examplesdir)
-
-
-help_clean:
- -rm -f -- $(helpdir)/*/*/*.*
- -rm -f -- $(helpdir)/*/*.*
- -rm -f -- $(helpdir)/*.*
- -rmdir $(helpdir)/*/*
- -rmdir $(helpdir)/*
- -rmdir $(helpdir)
-
-
-manuals_clean:
- -rm -f -- $(manualsdir)/*/*/*.*
- -rm -f -- $(manualsdir)/*/*.*
- -rmdir $(manualsdir)/*/*
- -rmdir $(manualsdir)/*
- -rmdir $(manualsdir)
-
-
-objects_clean:
- -rm $(objectsdir)/*/*/*.pd
- -rm $(objectsdir)/*/*.pd
- -rm $(objectsdir)/*.pd
- -rm $(objectsdir)/*/*/*.$(EXTENSION)
- -rm $(objectsdir)/*/*.$(EXTENSION)
- -rm $(objectsdir)/*.$(EXTENSION)
- -rmdir $(objectsdir)/*/*
- -rmdir $(objectsdir)/*
- -rmdir $(objectsdir)
-
-
-install_clean: applications_clean help_clean manuals_clean objects_clean
- -rmdir $(pddocdir)
- -rmdir $(DESTDIR)$(prefix)
- -rmdir $(DESTDIR)
- @echo " "
- @echo "Build destination cleaned: $(DESTDIR)"
-
-
-cruft_clean:
-# emacs litter
- -rm -f -- */*/*/*/*.*~
- -rm -f -- */*/*/*.*~
- -rm -f -- */*/*.*~
- -rm -f -- */*.*~
- -rm -f -- *.*~
- -rm -f -- Makefile~ Makefile.buildlayout~
-# sed replace litter
- -rm -f -- */*/*/*/*.*.bak
- -rm -f -- */*/*/*.*.bak
- -rm -f -- */*/*.*.bak
- -rm -f -- */*.*.bak
- -rm -f -- *.*.bak
-# autoconf cache
- -rm -rf -- */*/*/*/autom4te.cache
- -rm -rf -- */*/*/autom4te.cache
- -rm -rf -- */*/autom4te.cache
- -rm -rf -- */autom4te.cache
- -rm -rf -- autom4te.cache
-
-
diff --git a/externals/build/TODO b/externals/build/TODO
index b8492818..934f50e5 100644
--- a/externals/build/TODO
+++ b/externals/build/TODO
@@ -1,5 +1,5 @@
-- document smlib building
+- document externals building following the smlib example
- add "test lib" functionality to binary building in externals/Makefile
@@ -25,7 +25,6 @@
maxlib/scale
Gem/scale
iem/prepend
- cxc/prepend
flext/prepend
- add these to the build system: