### STK effects Makefile - for various flavors of unix

PROGRAMS = effects
RM = /bin/rm
SRC_PATH = ../../src
OBJECT_PATH = Release
vpath %.o $(OBJECT_PATH)

OBJECTS	=	Stk.o Reverb.o PRCRev.o JCRev.o \
					NRev.o Delay.o Filter.o \
					SKINI.o Envelope.o Echo.o \
					PitShift.o DelayL.o Chorus.o \
					WvIn.o WaveLoop.o Messager.o

INCLUDE = 
ifeq ($(strip $(INCLUDE)), )
	INCLUDE = ../../include
endif
vpath %.h $(INCLUDE)

CC       = g++
DEFS     = 
DEFS    += 
CFLAGS   = -O2
CFLAGS  += -Wall -g -I$(INCLUDE)
LIBRARY = -lstdc++ -lpthread -lm 
LIBRARY += -framework CoreAudio -framework CoreMIDI -framework CoreFoundation

REALTIME = yes
ifeq ($(REALTIME),yes)
	OBJECTS += RtMidi.o RtAudio.o RtDuplex.o Thread.o Socket.o
	DEFS    += -D__MACOSX_CORE__
	DEFS    += 
endif

RAWWAVES = 
ifeq ($(strip $(RAWWAVES)), )
	RAWWAVES = ../../rawwaves/
endif
DEFS    += -DRAWWAVE_PATH=\"$(RAWWAVES)\"

%.o : $(SRC_PATH)/%.cpp
	$(CC) $(CFLAGS) $(DEFS) -c $(<) -o $(OBJECT_PATH)/$@

all : $(PROGRAMS)

effects: effects.cpp $(OBJECTS)
	$(CC) $(CFLAGS) $(DEFS) -o effects effects.cpp $(OBJECT_PATH)/*.o $(LIBRARY)

$(OBJECTS) : Stk.h

clean : 
	-rm $(OBJECT_PATH)/*.o
	-rm $(PROGRAMS)

strip : 
	strip $(PROGRAMS)
