diff options
-rw-r--r-- | Makefile | 37 | ||||
-rw-r--r-- | MarkEx.c | 72 | ||||
-rw-r--r-- | hsv2rgb.c | 2 | ||||
-rw-r--r-- | rgb2hsv.c | 2 |
4 files changed, 99 insertions, 14 deletions
@@ -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 "); +} @@ -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)); } ///////////////////////////////////////////////////////// // @@ -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); |