aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2006-03-13 16:34:03 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2006-03-13 16:34:03 +0000
commitfa53163757d3ca8128854ee0eaafa3edbcdfef49 (patch)
tree85dc49b72d277aea43b870ec1e9a440a5f46c392
parentca2bce5efde0b5b296806df0c426f88d874eb530 (diff)
allow to build as single library
svn path=/trunk/externals/markex/; revision=4699
-rw-r--r--Makefile37
-rw-r--r--MarkEx.c72
-rw-r--r--hsv2rgb.c2
-rw-r--r--rgb2hsv.c2
4 files changed, 99 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index a4c67d2..0591b50 100644
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,15 @@
current:
- echo make pd_darwin, pd_linux
+ @echo make pd_linux, MarkEx.pd_linux, pd_darwin, MarkEx.pd_darwin
+MarkEx:
+ @echo make MarkEx.pd_{linux,darwin}
-SOURCES=$(sort $(filter %.c, $(wildcard *.c)))
-
-OTARGETS = $(SOURCES:.c=.o)
+SOURCES=$(sort $(filter-out MarkEx.c, $(filter %.c, $(wildcard *.c))))
# ----------------------- DARWIN -----------------------
TARGETS = $(SOURCES:.c=.pd_darwin)
+OTARGETS = $(SOURCES:.c=.o_darwin)
.SUFFIXES: .pd_darwin
@@ -18,16 +19,22 @@ DARWINCFLAGS = -DMACOSX -DUNIX -DPD -O2 -funroll-loops -fomit-frame-pointer \
DARWININCLUDE = -I/usr/local/lib/pd/include -I../../pd/src -I /usr/local/include
-$(TARGETS): %.pd_darwin : %.c
- $(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -o $*.o -c $*.c
+$(OTARGETS): %.o_darwin : %.c
+ $(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -o $*.o_darwin -c $*.c
+
+$(TARGETS): %.pd_darwin : %.o_darwin
$(CC) -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o -lc -lm
- rm $*.o
pd_darwin: $(TARGETS)
+MarkEx.pd_darwin: $(OTARGETS)
+ $(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -o MarkEx.o -c MarkEx.c
+ $(CC) -bundle -undefined suppress -flat_namespace -o MarkEx.pd_linux *.o_darwin -lc -lm
+
# ----------------------- LINUX -----------------------
+OTARGETS = $(SOURCES:.c=.o_linux)
TARGETS = $(SOURCES:.c=.pd_linux)
.SUFFIXES: .pd_linux
@@ -38,15 +45,21 @@ LINUXCFLAGS = -DUNIX -DPD -O2 -funroll-loops -fomit-frame-pointer \
LINUXINCLUDE = -I/usr/local/lib/pd/include -I../../pd/src
-$(TARGETS): %.pd_linux : %.c
- $(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
- $(LD) -export_dynamic -shared -o $*.pd_linux $*.o -lc -lm
+$(OTARGETS): %.o_linux : %.c
+ $(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o_linux -c $*.c
+
+$(TARGETS): %.pd_linux : %.o_linux
+ $(LD) -export_dynamic -shared -o $*.pd_linux $*.o_linux -lc -lm
strip --strip-unneeded $*.pd_linux
- rm $*.o
pd_linux: $(TARGETS)
+MarkEx.pd_linux: $(OTARGETS)
+ $(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -o MarkEx.o_linux -c MarkEx.c
+ $(LD) -export_dynamic -shared -o MarkEx.pd_linux *.o_linux -lc -lm
+ strip --strip-unneeded MarkEx.pd_linux
+
# ----------------------- CLEAN -----------------------
-clean: ; rm -f *.pd_* *.o *~
+clean: ; rm -f *.pd_* *.o *.o_* *~
diff --git a/MarkEx.c b/MarkEx.c
new file mode 100644
index 0000000..f16aee8
--- /dev/null
+++ b/MarkEx.c
@@ -0,0 +1,72 @@
+/* For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
+
+ MarkEx, Copyright (c) 1997-1999 Mark Danks */
+
+#ifdef NT
+#pragma warning( disable : 4244 )
+#pragma warning( disable : 4305 )
+#endif
+
+
+#include "m_pd.h"
+
+static t_class *MarkEx_class;
+
+static void *MarkEx_new(void)
+{
+ t_object *x = (t_object *)pd_new(MarkEx_class);
+ return (x);
+}
+
+void abs_tilde_setup(void);
+void alternate_setup(void);
+void average_setup(void);
+void counter_setup(void);
+void hsv2rgb_setup(void);
+void invert_setup(void);
+void multiselect_setup(void);
+void oneshot_setup(void);
+void randomF_setup(void);
+void reson_tilde_setup(void);
+void rgb2hsv_setup(void);
+void strcat_setup(void);
+void tripleLine_setup(void);
+void tripleRand_setup(void);
+void vectorabs_setup(void);
+void vectorpack_setup(void);
+void setup_vector0x2a(void);
+void setup_vector0x2f(void);
+void setup_vector0x2d(void);
+void setup_vector0x2b(void);
+
+
+/* ------------------------ setup routine ------------------------- */
+
+void MarkEx_setup(void)
+{
+ MarkEx_class = class_new(gensym("MarkEx"), MarkEx_new, 0,
+ sizeof(t_object), CLASS_NOINLET, 0);
+
+ abs_tilde_setup();
+ alternate_setup();
+ average_setup();
+ counter_setup();
+ hsv2rgb_setup();
+ invert_setup();
+ multiselect_setup();
+ oneshot_setup();
+ randomF_setup();
+ reson_tilde_setup();
+ rgb2hsv_setup();
+ strcat_setup();
+ tripleLine_setup();
+ tripleRand_setup();
+ vectorabs_setup();
+ vectorpack_setup();
+ setup_vector0x2a();
+ setup_vector0x2f();
+ setup_vector0x2d();
+ setup_vector0x2b();
+ post("MarkEx loaded! (c) 1997-1999 Mark Danks ");
+}
diff --git a/hsv2rgb.c b/hsv2rgb.c
index 03fc316..80c6dab 100644
--- a/hsv2rgb.c
+++ b/hsv2rgb.c
@@ -13,7 +13,7 @@
#include "m_pd.h"
#include <math.h>
-inline float FLOAT_CLAMP(float x) { return((x > 1.f) ? 1.f : ( (x < 0.f) ? 0.f : x)); }
+static inline float FLOAT_CLAMP(float x) { return((x > 1.f) ? 1.f : ( (x < 0.f) ? 0.f : x)); }
/////////////////////////////////////////////////////////
//
diff --git a/rgb2hsv.c b/rgb2hsv.c
index 9bc4f78..e52fa6a 100644
--- a/rgb2hsv.c
+++ b/rgb2hsv.c
@@ -13,7 +13,7 @@
#include "m_pd.h"
#include <math.h>
-inline float FLOAT_CLAMP(float x) { return((x > 1.f) ? 1.f : ( (x < 0.f) ? 0.f : x)); }
+static inline float FLOAT_CLAMP(float x) { return((x > 1.f) ? 1.f : ( (x < 0.f) ? 0.f : x)); }
static inline float TRI_MAX(float v1, float v2, float v3)
{ if (v1 > v2 && v1 > v3) return(v1);