.SUFFIXES: .pd_linux .pd_darwin .pd_darwin_o

# 
# uncomment the following for linux compile
# OS=linux
# 
# uncomment the following for darwin compile
OS=darwin


INCLUDE = -I../../src -I/usr/local/lib/pd/src
DARWININCLUDE = -I../../src -I/Applications/pd-0.37-2/src $(INCLUDE)
INSTALL_PREFIX = /usr
NAME=space~

PTOBJS=space~.o ug.space.o

DARWINOBJ=${PTOBJS:.o=.pd_darwin_o}

CFLAGS=-g -DPD -fPIC $(INCLUDE)

current:	${NAME}.pd_${OS}

install: install_${OS}

clean: clean_${OS}

clobber: clobber_${OS}

space~.o: space~.c space~.h
space~.pd_darwin_o: space~.c space~.h
ug.space.o: ug.space.c ug.defs.h space~.h
ug.space.pd_darwin_o: ug.space.c ug.defs.h space~.h

# ----------------------- Linux  -----------------------

${NAME}.pd_linux: $(PTOBJS)
	ld -export_dynamic  -shared -o $*.pd_linux $(PTOBJS) -lc -lm
# 	strip --strip-unneeded $*.pd_linux


test: test.o ug.space.o
	cc -o test  test.o ug.space.o -lm

clean_linux:
	rm -f *.pd_linux_o *.o

clobber_linux:
	rm -f space~.pd_linux



# ----------------------- Mac OSX -----------------------


pd_darwin: $(NAME).pd_darwin

$(NAME).pd_darwin: $(DARWINOBJ)
	cc -bundle -undefined suppress  -flat_namespace \
		-o $*.pd_darwin $(DARWINOBJ)  -lm
	                   


DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
    -Wno-unused -Wno-parentheses -Wno-switch

.c.pd_darwin_o:
	cc -g $(DARWINCFLAGS) $(DARWININCLUDE) -o $*.pd_darwin_o -c $*.c

clean_darwin:
	rm -f *.pd_darwin_o *.o

clobber_darwin:
	rm -f space~.pd_darwin

