From fa53163757d3ca8128854ee0eaafa3edbcdfef49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Mon, 13 Mar 2006 16:34:03 +0000 Subject: allow to build as single library svn path=/trunk/externals/markex/; revision=4699 --- Makefile | 37 +++++++++++++++++++++----------- MarkEx.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ hsv2rgb.c | 2 +- rgb2hsv.c | 2 +- 4 files changed, 99 insertions(+), 14 deletions(-) create mode 100644 MarkEx.c 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 -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 -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); -- cgit v1.2.1