aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Jurish <mukau@users.sourceforge.net>2007-08-03 11:06:05 +0000
committerBryan Jurish <mukau@users.sourceforge.net>2007-08-03 11:06:05 +0000
commitffb7b436756e9cd077392d1733daf13218874530 (patch)
tree80795bb8c08df8c652c4a43535869abdc26d5807
parent909958783d239b9b61a67e43b12320e3462a0588 (diff)
+ expect CFLAGS and pd_src from parent Makefile
+ clobber DESTDIR from parent Makefile for children - since automake/autoconf respect DESTDIR: bummer + always autogen && configure on 'make build.stamp' + attempt to build even libraries with dependencies (flite,gfsm) svn path=/trunk/externals/moocow/; revision=8377
-rw-r--r--extended/Makefile60
-rw-r--r--extended/README.pod24
-rw-r--r--extended/README.txt22
3 files changed, 76 insertions, 30 deletions
diff --git a/extended/Makefile b/extended/Makefile
index 7c53b3b..1f6a31d 100644
--- a/extended/Makefile
+++ b/extended/Makefile
@@ -9,24 +9,30 @@
## Variables
SUBDIRS = \
+ ../flite \
+ ../gfsm \
../deque \
../pdstring \
../readdir \
- ../weightmap \
- ../../sprinkler
+ ../../sprinkler \
+ ../weightmap
-# ../flite ../gfsm
-
-#CFLAGS ?= -march=k8
-
-MOOCOW_DIR ?=$(shell pwd)
-MOOCOW_BUILD ?=$(MOOCOW_DIR)/build
+##-- local variables
+MOOCOW_DIR ?=$(shell pwd)
+MOOCOW_BUILD ?=$(MOOCOW_DIR)/build.moo
+MOOCOW_MFLAGS ?=DESTDIR=""
CONFIGURE_ARGS=\
CFLAGS="$(CFLAGS)" \
- --with-pd-include="$(pd_src)" \
- --with-pd-dir="$(MOOCOW_BUILD)" \
- --with-pd-extdir="$(MOOCOW_BUILD)/externs"
+ --with-pd-include="$(pd_src)/src" \
+ --with-pd-dir="$(MOOCOW_BUILD)"
+
+# --with-pd-extdir="$(MOOCOW_BUILD)/externs"
+
+##-- defaults
+CFLAGS ?= -g -O2
+pd_src ?= $(CURDIR)/../../../pd
+
##======================================================================
## Rules: default
@@ -43,15 +49,18 @@ README.txt: README.pod
pod2text README.pod $@
clean:
- for d in $(SUBDIRS); do $(MAKE) -C $$d clean || true; rm -f $$d/build.stamp; done;
+ for d in $(SUBDIRS); do $(MAKE) $(MOOCOW_MFLAGS) -C $$d clean || true; rm -f $$d/build.stamp; done;
rm -f build.stamp config.log
rm -rf $(MOOCOW_BUILD)
realclean: clean
- for d in $(SUBDIRS); do $(MAKE) -C $$d realclean || true; done;
+ for d in $(SUBDIRS); do $(MAKE) $(MOOCOW_MFLAGS) -C $$d realclean || true; done;
+
+distclean: clean
+ for d in $(SUBDIRS); do $(MAKE) $(MOOCOW_MFLAGS) -C $$d distclean || true; done;
cvsclean: clean
- for d in $(SUBDIRS); do $(MAKE) -C $$d cvsclean || true; done;
+ for d in $(SUBDIRS); do $(MAKE) $(MOOCOW_MFLAGS) -C $$d cvsclean || true; done;
##======================================================================
@@ -59,27 +68,36 @@ cvsclean: clean
## RULES = $(call subdir_template,$(dir_path),$(configure_args))
define subdir_template
- $(1)-autogen:
- (cd $(1); ./autogen.sh) || true
+ $(1)-autogen: $(1)-distclean
+ (cd $(1); sh ./autogen.sh) || true
$(1)-configure: $(1)-autogen
- (cd $(1); ./configure $(CONFIGURE_ARGS) $(2)) || true
+ (cd $(1); sh ./configure $(CONFIGURE_ARGS) $(2)) || true
$(1)/build.stamp: $(1)-configure
- $(MAKE) -C $(1) all install || true
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(1) all install || true
touch $$@
$(1)-clean:
$(MAKE) -C $(1) clean || true
-endef
+ $(1)-distclean:
+ $(MAKE) -C $(1) distclean || true
+endef
##======================================================================
## Rules: subdirectories
+##-- flite, gfsm: simulate failed builds
+#$(eval $(call subdir_template,../flite,--with-flite-dir=/NOPE))
+#$(eval $(call subdir_template,../gfsm,--disable-gfsm))
+
+##-- flite, gfsm: build 'em if you got 'em
+$(eval $(call subdir_template,../flite))
+$(eval $(call subdir_template,../gfsm))
+
+##-- the usual suspects
$(eval $(call subdir_template,../deque))
-#$(eval $(call subdir_template,../flite))
-#$(eval $(call subdir_template,../gfsm))
$(eval $(call subdir_template,../pdstring,--enable-object-externals))
$(eval $(call subdir_template,../readdir))
$(eval $(call subdir_template,../../sprinkler))
diff --git a/extended/README.pod b/extended/README.pod
index f01b373..7e23b44 100644
--- a/extended/README.pod
+++ b/extended/README.pod
@@ -19,23 +19,39 @@ Issuing the following commands to the shell:
... should result in all objects being compiled into extended/build/externs.
This is intended to be called from externals/Makefile.
+
=head1 SUPPORTED EXTERNALS
-This makefile currently supports the following of moocow's externals:
+=head2 Standard Externals
+
+The following externals are built by default:
deque
pdstring (just the dummy object, not the library!)
- any2string
- string2any
+ any2string
+ string2any
readdir
+ sprinkler
weightmap
-The following of moocow's externals are unsupported (for various reasons):
+=head2 Optional Externals
+
+The following externals depend on additional libraries, which may or may
+not be installed on your system. The build procedures for these externals
+will be called, but may fail:
flite
gfsm
+
+=head2 Unsupported Externals
+
+The following externals and libraries are unsupported for various reasons:
+
ratts
+See http://www.ling.uni-potsdam.de/~moocow/projects/pd for the "official"
+distributions.
+
=head1 ACKNOWLEDGEMENTS
diff --git a/extended/README.txt b/extended/README.txt
index 35a0dba..c909ef6 100644
--- a/extended/README.txt
+++ b/extended/README.txt
@@ -17,22 +17,34 @@ USAGE
externals/Makefile.
SUPPORTED EXTERNALS
- This makefile currently supports the following of moocow's externals:
+ Standard Externals
+ The following externals are built by default:
deque
pdstring (just the dummy object, not the library!)
- any2string
- string2any
+ any2string
+ string2any
readdir
+ sprinkler
weightmap
- The following of moocow's externals are unsupported (for various
- reasons):
+ Optional Externals
+ The following externals depend on additional libraries, which may or may
+ not be installed on your system. The build procedures for these
+ externals will be called, but may fail:
flite
gfsm
+
+ Unsupported Externals
+ The following externals and libraries are unsupported for various
+ reasons:
+
ratts
+ See http://www.ling.uni-potsdam.de/~moocow/projects/pd for the
+ "official" distributions.
+
ACKNOWLEDGEMENTS
Pd by Miller Puckette and others.