current: all

.SUFFIXES: .pd_linux

INCLUDE = -I. -I/usr/local/src/pd/src

LDFLAGS = -export-dynamic -shared
LIB = -ldl -lm -lpthread

#select either the DBG and OPT compiler flags below:

CFLAGS = -DPD -DUNIX -W -Werror -Wno-unused \
	-Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer -fno-strict-aliasing \
        -DDL_OPEN

SYSTEM = $(shell uname -m)

# the sources

SRC = 	add2_comma.c \
	bpe.c \
	dollarg.c \
	exp_inc.c \
	fade~.c \
	float24.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 \
	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 \
	iemlib2.c

TARGET = iemlib2.pd_linux


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

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

clean:
	rm $(TARGET)
	rm *.o

all: $(OBJ)
	@echo :: $(OBJ)
	$(LD) $(LDFLAGS) -o $(TARGET) *.o $(LIB)
	strip --strip-unneeded $(TARGET)

$(OBJ) : %.o : %.c
	$(CC) $(CFLAGS) $(INCLUDE) -c -o $*.o $*.c