aboutsummaryrefslogtreecommitdiff
path: root/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'makefile')
-rw-r--r--makefile35
1 files changed, 30 insertions, 5 deletions
diff --git a/makefile b/makefile
index 787cb8c..8cf65aa 100644
--- a/makefile
+++ b/makefile
@@ -1,7 +1,32 @@
-jackx: jackx.c
- gcc $(CFLAGS) $(LINUXCFLAGS) $(LINUXINCLUDE) -o jackx.o -c jackx.c
- ld -export_dynamic -shared -o jackx.pd_linux jackx.o -lc -lm
- strip --strip-unneeded jackx.pd_linux
- rm jackx.o
+CFLAGS = -DPD $(OPT_CFLAGS) -I../../pd/src -Wall -W $(DEBUG_CFLAGS)
+LDFLAGS =
+LIBS = -lm
+UNAME := $(shell uname -s)
+ifeq ($(UNAME),Linux)
+ OS_NAME = linux
+ EXTENSION = pd_linux
+ CFLAGS += -DUNIX -Dunix -fPIC
+ LDFLAGS += -Wl,-export_dynamic -shared
+endif
+ifeq ($(UNAME),Darwin)
+ OS_NAME = darwin
+ EXTENSION = pd_darwin
+ CFLAGS += -DMACOSX -DUNIX -Dunix
+ LDFLAGS += -bundle -bundle_loader ../../pd/bin/pd -undefined dynamic_lookup
+endif
+
+all: jackx.$(EXTENSION)
+
+%.o: %.c
+ $(CC) $(CFLAGS) -o "$*.o" -c "$*.c"
+
+%.$(EXTENSION): %.o
+ $(CC) $(LDFLAGS) -o "$*.$(EXTENSION)" "$*.o" $(LIBS)
+ chmod a-x "$*.$(EXTENSION)"
+ rm -f -- $*.o
+
+clean:
+ -rm -f -- jackx.$(EXTENSION)
+ -rm -f -- jackx.o