TARGET = iemlib

all: ..\$(TARGET).dll

VIS_CPP_COMP = cl
VIS_CPP_LINK = link
VIS_CPP_PATH = "$(PROGRAMFILES)\Microsoft Visual Studio 11.0\VC"
VIS_SDK_PATH = "$(PROGRAMFILES)\Windows Kits\8.1"
PD_INST_PATH = "$(PROGRAMFILES)\pd-0.48-1"
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 /DHAVE_G_CANVAS_H /Ox -D_CRT_SECURE_NO_WARNINGS
PD_WIN_L_FLAGS = /nologo

PD_WIN_LIB = /NODEFAULTLIB:libcmt /NODEFAULTLIB:oldnames /NODEFAULTLIB:kernel32 \
	$(VIS_CPP_PATH)\lib\libcmt.lib \
	$(VIS_CPP_PATH)\lib\oldnames.lib \
	$(VIS_SDK_PATH)\Lib\winv6.3\um\x86\kernel32.lib \
	$(PD_INST_PATH)\bin\pd.lib

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


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

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

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

clean:
	del *.obj
