MAKE := make -f w32

CPP := cl.exe

MODE ?= Debug

CPP_OPTS := /nologo /I c:/jdk1.3/include /I c:/jdk1.3/include/win32 \
	/D WIN32 /D _WINDOWS /D _MBCS /D _USRDLL /D FEC_EXPORTS 

ifeq ($(MODE),Debug)
Mode := Debug
CPP_OPTS := /nologo /MTd /W3 /GZ /ZI /Od /D DEBUG $(CPP_OPTS)
else
MODE := Release
CPP_OPTS := /nologo /MT /W3 /O1 /D NDEBUG $(CPP_OPTS)
endif

LIBS := kernel32 user32 #advapi32 shell32 gdi32 winspool cmdlg32 ole32 oleaut32 uuid odbc32 odbccp32 

LDFLAGS=$(patsubt %,%.lib,$(LIBS)) /nologo /dll /incremental:no /machine:I386 \
	/out:$(MODE)/fec$(BITS).dll /implib:$(MODE)/fec$(BITS).lib \
	/OPT:REF /MAP

LD=link.exe

LDOBJS= $(MODE)/fec_win32.obj $(MODE)/fec$(BITS)-jinterf.obj


.PHONY: all feclib debug-all release-all bits8-all bits16-all clean

all: debug-all release-all

feclib: $(MODE)/fec$(BITS).dll

debug-all: Debug 
	$(MAKE) BITS=8 MODE=Debug feclib
	$(MAKE) BITS=16 MODE=Debug feclib

release-all: Release
	$(MAKE) BITS=8 MODE=Release feclib
	$(MAKE) BITS=16 MODE=Release feclib

bits8-all: Debug Release
	$(MAKE) BITS=8 MODE=Debug feclib
	$(MAKE) BITS=8 MODE=Release feclib

bits16-all: Debug Release
	$(MAKE) BITS=16 MODE=Debug feclib
	$(MAKE) BITS=16 MODE=Release feclib

clean: 
	rm -f Debug Release

Debug:
	mkdir -p Debug

Release:
	mkdir -p Release

$(MODE)/fec$(BITS).dll : $(MODE) $(DEF_FILE) $(LDOBJS)
	$(LD) $(LDFLAGS) $(LDOBJS)


$(MODE)/%.obj: %.c
	$(CPP) $(CPP_OPTS) /c /Fo"$@" $<
