aboutsummaryrefslogtreecommitdiff
path: root/pd/extra/expr~
diff options
context:
space:
mode:
Diffstat (limited to 'pd/extra/expr~')
-rw-r--r--pd/extra/expr~/GNUmakefile.am50
-rw-r--r--pd/extra/expr~/makefile10
-rw-r--r--pd/extra/expr~/vexp_if.c4
3 files changed, 56 insertions, 8 deletions
diff --git a/pd/extra/expr~/GNUmakefile.am b/pd/extra/expr~/GNUmakefile.am
new file mode 100644
index 00000000..a9074b92
--- /dev/null
+++ b/pd/extra/expr~/GNUmakefile.am
@@ -0,0 +1,50 @@
+## Makefile.am -- Process this file with automake to produce Makefile.in
+NAME=expr~
+
+external_LTLIBRARIES = expr~.la
+expr__la_SOURCES = vexp.c vexp_fun.c vexp_if.c
+PATCHES = ../expr-help.pd
+OTHERDATA = LICENSE.txt README.txt
+
+dist_external_DATA = $(PATCHES) $(OTHERDATA)
+noinst_HEADERS = fts_to_pd.h vexp.h
+
+AUTOMAKE_OPTIONS = foreign
+AM_CPPFLAGS = -I$(top_srcdir)/src -DPD
+AM_CFLAGS = @ARCH_CFLAGS@
+AM_LIBS = $(LIBM)
+AM_LDFLAGS = -module -avoid-version -shared @ARCH_LDFLAGS@ -shrext .@EXTERNAL_EXTENSION@ -L$(top_srcdir)/src
+
+externaldir = $(pkglibdir)/extra/$(NAME)
+
+# install-exec-hook seems to be called before $(DESTDIR)$(externaldir) is created...
+# so we install everything in the install-data-hook
+install-data-hook:
+ cd $(DESTDIR)$(externaldir) && ( \
+ $(LN_S) expr~.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@; \
+ $(LN_S) expr~.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
+ cd ..; \
+ $(LN_S) $(NAME)/expr.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@; \
+ $(LN_S) $(NAME)/expr~.@EXTERNAL_EXTENSION@ expr~.@EXTERNAL_EXTENSION@; \
+ $(LN_S) $(NAME)/fexpr~.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
+ $(LN_S) $(NAME)/expr-help.pd expr-help.pd; \
+ $(LN_S) $(NAME)/expr-help.pd expr~-help.pd; \
+ $(LN_S) $(NAME)/expr-help.pd fexpr~-help.pd; \
+ )
+
+uninstall-hook:
+ cd $(DESTDIR)$(externaldir) && ( \
+ rm -f expr.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
+ cd ..; \
+ rm -f expr~.@EXTERNAL_EXTENSION@ expr.@EXTERNAL_EXTENSION@ fexpr~.@EXTERNAL_EXTENSION@; \
+ rm -f expr-help.pd expr~-help.pd fexpr~-help.pd; \
+ )
+
+
+
+if MINGW
+AM_LIBS += -lpd
+endif
+
+libtool: $(LIBTOOL_DEPS)
+ $(SHELL) ./config.status --recheck
diff --git a/pd/extra/expr~/makefile b/pd/extra/expr~/makefile
index 4c648140..5dee147a 100644
--- a/pd/extra/expr~/makefile
+++ b/pd/extra/expr~/makefile
@@ -6,7 +6,7 @@ install: install_linux
clean: clean_linux
-PDEXTERN=/usr/local/lib/pd/externs
+PDEXTERN=/usr/local/lib/pd/extra
# ----------------------- NT -----------------------
@@ -89,7 +89,6 @@ LINUXINCLUDE = -I../../src
expr.pd_linux: $(LINUXOBJ)
$(CC) -shared -o expr.pd_linux $(LINUXOBJ) -lc -lm
- strip --strip-unneeded expr.pd_linux
expr~.pd_linux: expr.pd_linux
-ln -s expr.pd_linux expr~.pd_linux
@@ -110,12 +109,11 @@ install_linux:
install expr.pd_linux $(PDEXTERN)
rm -f $(PDEXTERN)/expr~.pd_linux
rm -f $(PDEXTERN)/fexpr~.pd_linux
- cd $(PDEXTERN); \
- -ln -s expr.pd_linux expr~.pd_linux
- -ln -s expr.pd_linux fexpr~.pd_linux
+ cd $(PDEXTERN); ln -s expr.pd_linux expr~.pd_linux
+ cd $(PDEXTERN); ln -s expr.pd_linux fexpr~.pd_linux
-linux_clean:
+clean_linux:
rm -f *.pd_linux_o *.o
# ----------------------- MAC OSX -----------------------
diff --git a/pd/extra/expr~/vexp_if.c b/pd/extra/expr~/vexp_if.c
index 648aba73..aaaf4ef3 100644
--- a/pd/extra/expr~/vexp_if.c
+++ b/pd/extra/expr~/vexp_if.c
@@ -381,7 +381,7 @@ SDY the following coredumps why?
post("expr: internal error expr_new");
default:
pd_error(x, "expr: bad type (%lx) inlet = %d\n",
- eptr->ex_type, i + 1, 0, 0, 0);
+ eptr->ex_type, i + 1);
break;
}
}
@@ -955,7 +955,7 @@ if (!sym || !(garray = (t_garray *)pd_findbyclass(sym, garray_class)) || \
!garray_getfloatwords(garray, &size, &vec)) { \
optr->ex_type = ET_FLT; \
optr->ex_int = 0; \
- error("no such table '%s'", sym->s_name); \
+ error("no such table '%s'", sym?(sym->s_name):"(null)"); \
return; \
}