aboutsummaryrefslogtreecommitdiff
path: root/makefile.sub
diff options
context:
space:
mode:
Diffstat (limited to 'makefile.sub')
-rw-r--r--makefile.sub42
1 files changed, 42 insertions, 0 deletions
diff --git a/makefile.sub b/makefile.sub
new file mode 100644
index 0000000..684d3ed
--- /dev/null
+++ b/makefile.sub
@@ -0,0 +1,42 @@
+prefix=$(DESTDIR)/usr
+
+EXTERNALS = $(shell ls *.c)
+STRIP = strip --strip-unneeded -R .note -R .comment
+
+
+
+linux: $(EXTERNALS:.c=.pd_linux)
+win: $(EXTERNALS:.c=.dll)
+osx: $(EXTERNALS:.c=.pd_darwin)
+
+
+
+.SUFFIXES: .pd_linux .pd_darwin .dll
+
+WARNFLAGS = -Wall -W -Wshadow -Wstrict-prototypes \
+ -Wno-unused -Wno-parentheses -Wno-switch
+
+CFLAGS + = -fPIC -DPD $(WARNFLAGS)
+
+INCLUDES = -I.. -I../include
+
+# the linux compilation target
+
+%.pd_linux: %.c
+ $(CC) $(CFLAGS) $(INCLUDES) -o "$*.o" -c $*.c
+ gcc -Wl,-export_dynamic -shared -o "$*.pd_linux" "$*.o" -lc -lm
+ chmod a-x "$*.pd_linux"
+ rm -f "$*.o"
+
+# the windows mingw target
+
+%.dll: ../src/%.c
+ $(CC) -mms-bitfields $(CFLAGS) $(DEFINES) $(INCLUDE) -o "$*.o" -c "../src/$*.c"
+ gcc -shared -o "$*.dll" "$*.o" $(PDPATH)/bin/pd.dll
+
+strip:
+ $(STRIP) *.pd_linux
+
+clean:
+ -rm *.pd_linux *~ *.dll *.pd_darwin *.o
+