current: all

.SUFFIXES: .pd_darwin

# PDSOURCE = "/Applications/Pd.app/Contents/Resources/src"
PDSOURCE = "../../../Pd-0.48-1-i386.app/Contents/Resources/src"

PD_INCLUDES = -I. -I$(PDSOURCE) -I../include

PD_DEFINES = -DPD

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

LFLAGS = -bundle -undefined suppress -flat_namespace

ARCH_FLAGS=-arch i386

# the sources

PD_EXT_NAME = iemlib

SRC =	biquad_freq_resp.c \
	db2v.c \
	f2note.c \
	filter~.c \
	FIR~.c \
	for++.c \
	gate.c \
	hml_shelf~.c \
	iem_cot4~.c \
	iem_delay~.c \
	iem_pow4~.c \
	iem_sqrt4~.c \
	lp1_t~.c \
	mov_avrg_kern~.c \
	para_bp2~.c \
	peakenv~.c \
	peakenv_AR~.c \
	peakenv_hold~.c \
	prvu~.c \
	pvu~.c \
	rvu~.c \
	sin_freq~.c \
	sin_phase~.c \
	soundfile_info.c \
	sparse_FIR~.c \
	split.c \
	v2db.c \
	vcf_filter~.c \
	add2_comma.c \
	aspeedlim.c \
	bpe.c \
	dollarg.c \
	exp_inc.c \
	fade~.c \
	float24.c \
	iem_alisttosym.c \
	iem_anything.c \
	iem_append.c \
	iem_blocksize~.c \
	iem_i_route.c \
	iem_pbank_csv.c \
	iem_prepend.c \
	iem_receive.c \
	iem_route.c \
	iem_samplerate~.c \
	iem_sel_any.c \
	iem_send.c \
	iem_symtoalist.c \
	init.c \
	LFO_noise~.c \
	list2send.c \
	m2f~.c \
	mergefilename.c \
	modulo_counter.c \
	parentdollarzero.c \
	post_netreceive.c \
	pre_inlet.c \
	prepend_ascii.c \
	protect_against_open.c \
	receive2list.c \
	round_zero.c \
	speedlim.c \
	splitfilename.c \
	stripfilename.c \
	toggle_mess.c \
	transf_fader.c \
	unsymbol.c \
	wrap.c \
	t3_bpe.c \
	t3_delay.c \
	t3_line~.c \
	t3_metro.c \
	t3_sig~.c \
	t3_timer.c \
	$(PD_EXT_NAME).c

TARGET = $(PD_EXT_NAME).pd_darwin


OBJ = $(SRC:.c=.o) 

#
#  ------------------ targets ------------------------------------
#

clean:
	rm -f ../$(TARGET)
	rm -f *.o

all: $(OBJ)
	@echo :: $(OBJ)
	$(CC) $(ARCH_FLAGS) $(LFLAGS) -o $(TARGET) *.o
	strip -S -x $(TARGET)
	mv $(TARGET) ..

$(OBJ) : %.o : %.c
	$(CC) $(ARCH_FLAGS) $(PD_DEFINES) $(CFLAGS) $(PD_INCLUDES) -c -o $*.o $*.c


