TARGET = iemlib2
all: ..\$(TARGET).dll

VIS_CPP_PATH = "C:\Programme\Microsoft Visual Studio\Vc98"
PD_INST_PATH = "C:\Programme\pd"
PD_WIN_INCLUDE_PATH = /I. /I$(PD_INST_PATH)\src /I$(VIS_CPP_PATH)\include
PD_WIN_C_FLAGS = /nologo /W3 /WX /DMSW /DNT /DPD /DWIN32 /DWINDOWS /Ox -DPA_LITTLE_ENDIAN
PD_WIN_L_FLAGS = /nologo

PD_WIN_LIB = /NODEFAULTLIB:libc /NODEFAULTLIB:oldnames /NODEFAULTLIB:kernel /NODEFAULTLIB:uuid \
	$(VIS_CPP_PATH)\lib\libc.lib \
	$(VIS_CPP_PATH)\lib\oldnames.lib \
	$(VIS_CPP_PATH)\lib\kernel32.lib \
	$(VIS_CPP_PATH)\lib\wsock32.lib \
	$(VIS_CPP_PATH)\lib\winmm.lib \
	$(PD_INST_PATH)\bin\pthreadVC.lib \
	$(PD_INST_PATH)\bin\pd.lib

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 \
	$(TARGET).c

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

.c.obj:
	cl $(PD_WIN_C_FLAGS) $(PD_WIN_INCLUDE_PATH) /c $*.c

..\$(TARGET).dll: $(OBJ)
	link $(PD_WIN_L_FLAGS) /dll /export:$(TARGET)_setup \
	/out:..\$(TARGET).dll $(OBJ) $(PD_WIN_LIB)

clean:
	del *.obj