aboutsummaryrefslogtreecommitdiff
path: root/extended
diff options
context:
space:
mode:
authorBryan Jurish <mukau@users.sourceforge.net>2008-11-28 21:02:02 +0000
committerBryan Jurish <mukau@users.sourceforge.net>2008-11-28 21:02:02 +0000
commit2072ea2ef54b92775efc83c82d9a4b7a8ac4d616 (patch)
tree05f4c1148e9b81d5b255a823da3cb82bfc95daad /extended
parent95d213a239fb7c88535fbe77c358bce3e014c1bb (diff)
+ new macro-free Makefile for pd-extended; old (elegant) Makefile moved to makefile.gnu
svn path=/trunk/externals/moocow/; revision=10402
Diffstat (limited to 'extended')
-rw-r--r--extended/Makefile262
-rw-r--r--extended/README.pod2
-rw-r--r--extended/README.txt2
-rw-r--r--extended/makefile.gnu117
4 files changed, 344 insertions, 39 deletions
diff --git a/extended/Makefile b/extended/Makefile
index 3fc3dd8..42de420 100644
--- a/extended/Makefile
+++ b/extended/Makefile
@@ -43,53 +43,241 @@ pd_src ?= $(CURDIR)/../../../pd
all: build.stamp
##======================================================================
-## Templates: subdir
+## Rules: subdirectory: dummy
-## RULES = $(call subdir_template,$(dir_basename),$(dir_path),$(configure_args))
-define subdir_template
-$(1).autogen_stamp:
- (cd $(2); sh ./autogen.sh) || true
- touch $$@
+DUMMY_DIR ?=../dummy
+DUMMY_CONFIGURE_ARGS ?=--disable-shared
+dummy.autogen_stamp:
+ (cd $(DUMMY_DIR); sh ./autogen.sh) || true
+ touch $@
+
+dummy.configure_stamp: dummy.autogen_stamp
+ (cd $(DUMMY_DIR); sh ./configure $(CONFIGURE_ARGS) $(DUMMY_CONFIGURE_ARGS); make clean) || true
+ touch $@
+
+dummy.build_stamp: dummy.configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(DUMMY_DIR) all install || true
+ touch $@
+
+dummy.extclean:
+ rm -f dummy.autogen_stamp dummy.configure_stamp dummy.build_stamp
+
+dummy.clean: dummy.extclean
+ $(MAKE) -C $(DUMMY_DIR) clean || true
+
+dummy.distclean: dummy.extclean
+ $(MAKE) -C $(DUMMY_DIR) distclean || true
+
+dummy.cvsclean: dummy.extclean
+ $(MAKE) -C $(DUMMY_DIR) cvsclean || true
+
+##======================================================================
+## Rules: subdirectory: flite
+
+FLITE_DIR ?=../flite
+#FLITE_CONFIGURE_ARGS ?=--with-flite-dir=/NOPE
+#FLITE_CONFIGURE_ARGS ?=
+
+flite.autogen_stamp:
+ (cd $(FLITE_DIR); sh ./autogen.sh) || true
+ touch $@
+
+flite.configure_stamp: flite.autogen_stamp
+ (cd $(FLITE_DIR); sh ./configure $(CONFIGURE_ARGS) $(FLITE_CONFIGURE_ARGS); make clean) || true
+ touch $@
+
+flite.build_stamp: flite.configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(FLITE_DIR) all install || true
+ touch $@
+
+flite.extclean:
+ rm -f flite.autogen_stamp flite.configure_stamp flite.build_stamp
+
+flite.clean: flite.extclean
+ $(MAKE) -C $(FLITE_DIR) clean || true
+
+flite.distclean: flite.extclean
+ $(MAKE) -C $(FLITE_DIR) distclean || true
+
+flite.cvsclean: flite.extclean
+ $(MAKE) -C $(FLITE_DIR) cvsclean || true
+
+##======================================================================
+## Rules: subdirectory: gfsm
+
+GFSM_DIR ?=../gfsm
+#GFSM_CONFIGURE_ARGS ?=--disable-gfsm
+#GFSM_CONFIGURE_ARGS ?=
+
+gfsm.autogen_stamp:
+ (cd $(GFSM_DIR); sh ./autogen.sh) || true
+ touch $@
+
+gfsm.configure_stamp: gfsm.autogen_stamp
+ (cd $(GFSM_DIR); sh ./configure $(CONFIGURE_ARGS) $(GFSM_CONFIGURE_ARGS); make clean) || true
+ touch $@
+
+gfsm.build_stamp: gfsm.configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(GFSM_DIR) all install || true
+ touch $@
+
+gfsm.extclean:
+ rm -f gfsm.autogen_stamp gfsm.configure_stamp gfsm.build_stamp
+
+gfsm.clean: gfsm.extclean
+ $(MAKE) -C $(GFSM_DIR) clean || true
+
+gfsm.distclean: gfsm.extclean
+ $(MAKE) -C $(GFSM_DIR) distclean || true
+
+gfsm.cvsclean: gfsm.extclean
+ $(MAKE) -C $(GFSM_DIR) cvsclean || true
+
+##======================================================================
+## Rules: subdirectory: deque
+
+DEQUE_DIR ?=../deque
+DEQUE_CONFIGURE_ARGS ?=
+deque.autogen_stamp:
+ (cd $(DEQUE_DIR); sh ./autogen.sh) || true
+ touch $@
+
+deque.configure_stamp: deque.autogen_stamp
+ (cd $(DEQUE_DIR); sh ./configure $(CONFIGURE_ARGS) $(DEQUE_CONFIGURE_ARGS); make clean) || true
+ touch $@
+
+deque.build_stamp: deque.configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(DEQUE_DIR) all install || true
+ touch $@
-$(1).configure_stamp: $(1).autogen_stamp
- (cd $(2); sh ./configure $(CONFIGURE_ARGS) $(3); make clean) || true
- touch $$@
+deque.extclean:
+ rm -f deque.autogen_stamp deque.configure_stamp deque.build_stamp
-$(1).build_stamp: $(1).configure_stamp
- $(MAKE) $(MOOCOW_MFLAGS) -C $(2) all install || true
- touch $$@
+deque.clean: deque.extclean
+ $(MAKE) -C $(DEQUE_DIR) clean || true
-$(1).extclean:
- rm -f $(1).autogen_stamp $(1).configure_stamp $(1).build_stamp
+deque.distclean: deque.extclean
+ $(MAKE) -C $(DEQUE_DIR) distclean || true
-$(1).clean: $(1).extclean
- $(MAKE) -C $(2) clean || true
+deque.cvsclean: deque.extclean
+ $(MAKE) -C $(DEQUE_DIR) cvsclean || true
-$(1).distclean: $(1).extclean
- $(MAKE) -C $(2) distclean || true
+##======================================================================
+## Rules: subdirectory: pdstring
+
+PDSTRING_DIR ?=../pdstring
+PDSTRING_CONFIGURE_ARGS ?=--enable-object-externals
+pdstring.autogen_stamp:
+ (cd $(PDSTRING_DIR); sh ./autogen.sh) || true
+ touch $@
+
+pdstring.configure_stamp: pdstring.autogen_stamp
+ (cd $(PDSTRING_DIR); sh ./configure $(CONFIGURE_ARGS) $(PDSTRING_CONFIGURE_ARGS); make clean) || true
+ touch $@
+
+pdstring.build_stamp: pdstring.configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(PDSTRING_DIR) all install || true
+ touch $@
+
+pdstring.extclean:
+ rm -f pdstring.autogen_stamp pdstring.configure_stamp pdstring.build_stamp
+
+pdstring.clean: pdstring.extclean
+ $(MAKE) -C $(PDSTRING_DIR) clean || true
+
+pdstring.distclean: pdstring.extclean
+ $(MAKE) -C $(PDSTRING_DIR) distclean || true
+
+pdstring.cvsclean: pdstring.extclean
+ $(MAKE) -C $(PDSTRING_DIR) cvsclean || true
-$(1).cvsclean: $(1).extclean
- $(MAKE) -C $(2) cvsclean || true
+##======================================================================
+## Rules: subdirectory: readdir
+
+READDIR_DIR ?=../readdir
+READDIR_CONFIGURE_ARGS ?=
+readdir.autogen_stamp:
+ (cd $(READDIR_DIR); sh ./autogen.sh) || true
+ touch $@
-endef
+readdir.configure_stamp: readdir.autogen_stamp
+ (cd $(READDIR_DIR); sh ./configure $(CONFIGURE_ARGS) $(READDIR_CONFIGURE_ARGS); make clean) || true
+ touch $@
+
+readdir.build_stamp: readdir.configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(READDIR_DIR) all install || true
+ touch $@
+
+readdir.extclean:
+ rm -f readdir.autogen_stamp readdir.configure_stamp readdir.build_stamp
+
+readdir.clean: readdir.extclean
+ $(MAKE) -C $(READDIR_DIR) clean || true
+
+readdir.distclean: readdir.extclean
+ $(MAKE) -C $(READDIR_DIR) distclean || true
+
+readdir.cvsclean: readdir.extclean
+ $(MAKE) -C $(READDIR_DIR) cvsclean || true
##======================================================================
-## Rules: subdirectories
-
-##-- flite, gfsm: simulate failed builds
-#$(eval $(call subdir_template,flite,../flite,--with-flite-dir=/NOPE))
-#$(eval $(call subdir_template,gfsm,../gfsm,--disable-gfsm))
-
-##-- flite, gfsm: build 'em if you got 'em
-$(eval $(call subdir_template,flite,../flite,))
-$(eval $(call subdir_template,gfsm,../gfsm,))
-
-##-- the usual suspects
-$(eval $(call subdir_template,deque,../deque,))
-$(eval $(call subdir_template,pdstring,../pdstring,--enable-object-externals))
-$(eval $(call subdir_template,readdir,../readdir,))
-$(eval $(call subdir_template,sprinkler,../../sprinkler,))
-$(eval $(call subdir_template,weightmap,../weightmap,))
+## Rules: subdirectory: sprinkler
+## + one directory higher in the tree than usual...
+
+SPRINKLER_DIR ?=../../sprinkler
+SPRINKLER_CONFIGURE_ARGS ?=
+sprinkler.autogen_stamp:
+ (cd $(SPRINKLER_DIR); sh ./autogen.sh) || true
+ touch $@
+
+sprinkler.configure_stamp: sprinkler.autogen_stamp
+ (cd $(SPRINKLER_DIR); sh ./configure $(CONFIGURE_ARGS) $(SPRINKLER_CONFIGURE_ARGS); make clean) || true
+ touch $@
+
+sprinkler.build_stamp: sprinkler.configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(SPRINKLER_DIR) all install || true
+ touch $@
+
+sprinkler.extclean:
+ rm -f sprinkler.autogen_stamp sprinkler.configure_stamp sprinkler.build_stamp
+
+sprinkler.clean: sprinkler.extclean
+ $(MAKE) -C $(SPRINKLER_DIR) clean || true
+
+sprinkler.distclean: sprinkler.extclean
+ $(MAKE) -C $(SPRINKLER_DIR) distclean || true
+
+sprinkler.cvsclean: sprinkler.extclean
+ $(MAKE) -C $(SPRINKLER_DIR) cvsclean || true
+
+##======================================================================
+## Rules: subdirectory: weightmap
+
+WEIGHTMAP_DIR ?=../weightmap
+WEIGHTMAP_CONFIGURE_ARGS ?=
+weightmap.autogen_stamp:
+ (cd $(WEIGHTMAP_DIR); sh ./autogen.sh) || true
+ touch $@
+
+weightmap.configure_stamp: weightmap.autogen_stamp
+ (cd $(WEIGHTMAP_DIR); sh ./configure $(CONFIGURE_ARGS) $(WEIGHTMAP_CONFIGURE_ARGS); make clean) || true
+ touch $@
+
+weightmap.build_stamp: weightmap.configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(WEIGHTMAP_DIR) all install || true
+ touch $@
+
+weightmap.extclean:
+ rm -f weightmap.autogen_stamp weightmap.configure_stamp weightmap.build_stamp
+
+weightmap.clean: weightmap.extclean
+ $(MAKE) -C $(WEIGHTMAP_DIR) clean || true
+
+weightmap.distclean: weightmap.extclean
+ $(MAKE) -C $(WEIGHTMAP_DIR) distclean || true
+
+weightmap.cvsclean: weightmap.extclean
+ $(MAKE) -C $(WEIGHTMAP_DIR) cvsclean || true
##======================================================================
diff --git a/extended/README.pod b/extended/README.pod
index 7e23b44..bcff320 100644
--- a/extended/README.pod
+++ b/extended/README.pod
@@ -2,7 +2,7 @@
README for externals/moocow/extended/ build hacks.
-Last updated Thu, 02 Aug 2007 00:48:50 +0200
+Last updated Fri, 28 Nov 2008 22:00:13 +0100
=head1 DESCRIPTION
diff --git a/extended/README.txt b/extended/README.txt
index c909ef6..855bd3c 100644
--- a/extended/README.txt
+++ b/extended/README.txt
@@ -1,6 +1,6 @@
README for externals/moocow/extended/ build hacks.
- Last updated Thu, 02 Aug 2007 00:48:50 +0200
+ Last updated Fri, 28 Nov 2008 22:00:13 +0100
DESCRIPTION
This directory is for pd-extended compatible builds of (some of)
diff --git a/extended/makefile.gnu b/extended/makefile.gnu
new file mode 100644
index 0000000..3fc3dd8
--- /dev/null
+++ b/extended/makefile.gnu
@@ -0,0 +1,117 @@
+## -*- Mode: Makefile -*-
+##
+## File: externals/moocow/extended/Makefile
+## Author: Bryan Jurish <moocow@bbaw.de>
+## Description: pd-extended makefile for moocow's externals
+##
+
+##======================================================================
+## Variables
+
+SUBDIRS = \
+ flite \
+ gfsm \
+ deque \
+ readdir \
+ weightmap \
+ pdstring \
+ sprinkler
+
+##-- 'pdstring' and 'sprinkler' are already in 'flatspace' ... should they be moved here?
+## -> 2008-08: removed any2string,string2any,pdstring from flatspace
+
+##-- local variables
+MOOCOW_DIR ?=$(shell pwd)
+MOOCOW_BUILD ?=$(MOOCOW_DIR)/build.moo
+MOOCOW_MFLAGS ?=DESTDIR=""
+
+CONFIGURE_ARGS=\
+ CFLAGS="$(CFLAGS)" \
+ --with-pd-include="$(pd_src)/src" \
+ --with-pd-dir="$(MOOCOW_BUILD)" \
+ --disable-dependency-tracking
+
+# --with-pd-extdir="$(MOOCOW_BUILD)/externs"
+
+##-- defaults
+CFLAGS ?= -g -O2
+pd_src ?= $(CURDIR)/../../../pd
+
+
+##======================================================================
+## Rules: default
+all: build.stamp
+
+##======================================================================
+## Templates: subdir
+
+## RULES = $(call subdir_template,$(dir_basename),$(dir_path),$(configure_args))
+define subdir_template
+$(1).autogen_stamp:
+ (cd $(2); sh ./autogen.sh) || true
+ touch $$@
+
+$(1).configure_stamp: $(1).autogen_stamp
+ (cd $(2); sh ./configure $(CONFIGURE_ARGS) $(3); make clean) || true
+ touch $$@
+
+$(1).build_stamp: $(1).configure_stamp
+ $(MAKE) $(MOOCOW_MFLAGS) -C $(2) all install || true
+ touch $$@
+
+$(1).extclean:
+ rm -f $(1).autogen_stamp $(1).configure_stamp $(1).build_stamp
+
+$(1).clean: $(1).extclean
+ $(MAKE) -C $(2) clean || true
+
+$(1).distclean: $(1).extclean
+ $(MAKE) -C $(2) distclean || true
+
+$(1).cvsclean: $(1).extclean
+ $(MAKE) -C $(2) cvsclean || true
+
+endef
+
+##======================================================================
+## Rules: subdirectories
+
+##-- flite, gfsm: simulate failed builds
+#$(eval $(call subdir_template,flite,../flite,--with-flite-dir=/NOPE))
+#$(eval $(call subdir_template,gfsm,../gfsm,--disable-gfsm))
+
+##-- flite, gfsm: build 'em if you got 'em
+$(eval $(call subdir_template,flite,../flite,))
+$(eval $(call subdir_template,gfsm,../gfsm,))
+
+##-- the usual suspects
+$(eval $(call subdir_template,deque,../deque,))
+$(eval $(call subdir_template,pdstring,../pdstring,--enable-object-externals))
+$(eval $(call subdir_template,readdir,../readdir,))
+$(eval $(call subdir_template,sprinkler,../../sprinkler,))
+$(eval $(call subdir_template,weightmap,../weightmap,))
+
+
+##======================================================================
+## Rules: local
+autogen: $(SUBDIRS:=.autogen_stamp)
+configure: $(SUBDIRS:=.configure_stamp)
+
+build.stamp: $(SUBDIRS:=.build_stamp)
+ touch $@
+
+readme: README.txt
+README.txt: README.pod
+ pod2text README.pod $@
+
+extclean: $(SUBDIRS:=.extclean)
+
+clean: $(SUBDIRS:=.clean)
+ rm -f build.stamp config.log
+ rm -rf $(MOOCOW_BUILD)
+
+realclean: distclean
+
+distclean: $(SUBDIRS:=.distclean) clean
+
+cvsclean: $(SUBDIRS:=.cvsclean) clean