From 73181449a739984932136152c842e6f7a4d77d5e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 Dec 2005 19:04:41 +0000 Subject: libdir-ized ext13 and cxc and flushed out template svn path=/trunk/; revision=4118 --- externals/Makefile | 96 +++++++++++++++-- externals/Makefile.buildlayout | 233 ----------------------------------------- externals/build/TODO | 3 +- 3 files changed, 86 insertions(+), 246 deletions(-) delete mode 100644 externals/Makefile.buildlayout 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,8 +240,37 @@ 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 @@ -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 -# -# -#==============================================================================# -# 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 -# -# - -#==============================================================================# -# -## 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: -- cgit v1.2.1