aboutsummaryrefslogtreecommitdiff
path: root/extended/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'extended/Makefile')
-rw-r--r--extended/Makefile90
1 files changed, 90 insertions, 0 deletions
diff --git a/extended/Makefile b/extended/Makefile
new file mode 100644
index 0000000..306d543
--- /dev/null
+++ b/extended/Makefile
@@ -0,0 +1,90 @@
+## -*- Mode: Makefile -*-
+##
+## File: externals/moocow/extended/Makefile
+## Author: Bryan Jurish <moocow@bbaw.de>
+## Description: pd-extended makefile for moocow's externals
+##
+
+##======================================================================
+## Variables
+
+SUBDIRS = \
+ ../deque \
+ ../pdstring \
+ ../readdir \
+ ../weightmap
+
+# ../flite ../gfsm
+
+#CFLAGS ?= -march=k8
+
+MOOCOW_DIR ?=$(shell pwd)
+MOOCOW_BUILD ?=$(MOOCOW_DIR)/build
+
+CONFIGURE_ARGS=\
+ CFLAGS="$(CFLAGS)" \
+ --with-pd-include="$(pd_src)" \
+ --with-pd-dir="$(MOOCOW_BUILD)" \
+ --with-pd-extdir="$(MOOCOW_BUILD)/externs"
+
+##======================================================================
+## Rules: default
+all: build.stamp
+
+autogen: $(SUBDIRS:=-autogen)
+configure: $(SUBDIRS:=-configure)
+
+build.stamp: $(SUBDIRS:=/build.stamp)
+ touch $@
+
+reamde: README.txt
+README.txt: README.pod
+ pod2text README.pod $@
+
+clean:
+ for d in $(SUBDIRS); do $(MAKE) -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;
+
+cvsclean: clean
+ for d in $(SUBDIRS); do $(MAKE) -C $$d cvsclean || true; done;
+
+
+##======================================================================
+## Templates: subdir
+
+## RULES = $(call subdir_template,$(dir_path),$(configure_args))
+define subdir_template
+ $(1)-autogen:
+ (cd $(1); ./autogen.sh) || true
+
+ $(1)-configure:
+ (cd $(1); ./configure $(CONFIGURE_ARGS) $(2)) || true
+
+ $(1)/configure: $(1)/configure.in $(1)/Makefile.am $(1)/autogen.sh
+ $(MAKE) $(1)-autogen
+
+ $(1)/Makefile: $(1)/configure
+ $(MAKE) $(1)-configure
+
+ $(1)/build.stamp: $(1)/Makefile
+ $(MAKE) -C $(1) all install || true
+ touch $$@
+
+ $(1)-clean:
+ $(MAKE) -C $(1) clean || true
+endef
+
+
+##======================================================================
+## Rules: subdirectories
+
+$(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,../weightmap))