OBJ=obj.msc
INC=include
SRC=src
JFAUDIOLIB=libjfaudiolib.lib

!ifndef MIXERTYPE
MIXERTYPE=WIN
!endif

!ifdef DEBUG
# debugging options
flags_cl=/Od /Zi
flags_link=/DEBUG
flags_lib=
!else
# release options
flags_cl=/Ox /GL
!if ($(WINBITS)!=64)
flags_cl=$(flags_cl) /arch:SSE
!endif
flags_link=/RELEASE /LTCG
flags_lib=/LTCG
!endif

CC=cl
LINK=link /opt:ref /nologo

PLATFORM=..\..\platform\Windows
AUDIOINC=third-party\common

CFLAGS=$(CFLAGS) /nologo /MT /J $(flags_cl) $(TARGETOPTS) /I$(INC) /I$(SRC) /I$(PLATFORM)\include /I$(AUDIOINC)\include
!ifdef DEBUG
CFLAGS=$(CFLAGS) /DDEBUGGINGAIDS
!endif

CFLAGS=$(CFLAGS) /DMIXERTYPE$(MIXERTYPE)=1 /DSDL_FRAMEWORK /DSDL_TARGET=2 /D "_CRT_SECURE_NO_DEPRECATE" /W2 /Iinclude/msvc /DHAVE_VORBIS /DHAVE_FLAC

OBJECTS=$(OBJ)\drivers.o \
	$(OBJ)\fx_man.o \
	$(OBJ)\multivoc.o \
	$(OBJ)\mix.o \
	$(OBJ)\mixst.o \
	$(OBJ)\pitch.o \
	$(OBJ)\formats.o \
	$(OBJ)\vorbis.o \
	$(OBJ)\flac.o \
	$(OBJ)\xa.o \
	$(OBJ)\driver_nosound.o

!if ("$(MIXERTYPE)"=="WIN")
CFLAGS=$(CFLAGS) /DHAVE_DS
OBJECTS=$(OBJECTS) $(OBJ)/driver_directsound.o
!endif
!if ("$(MIXERTYPE)"=="SDL")
CFLAGS=$(CFLAGS) /DHAVE_SDL
OBJECTS=$(OBJECTS) $(OBJ)/driver_sdl.o
!endif

{$(SRC)}.c{$(OBJ)}.o:
	$(CC) /c $(CFLAGS) /Fo$@ $<

jfaudiolib: $(JFAUDIOLIB)
$(JFAUDIOLIB): $(OBJECTS)
	lib $(flags_lib) /out:$@ /nologo $** 

clean:
	-del /Q $(OBJ)\* $(JFAUDIOLIB)

