MACHINE = msc
CC = cl
ASM = ml
AR = lib
CFLAGS = -AL -G2 -Za -W3 $(CDEFS) -D$(MACHINE) -Ox -Ge #-Zi
AFLAGS = -Cp # -Zi
TARGET = cb.lib
TARGET_BAK = cb.bak
HDRS = global.h machine.h cb.h extern.h
VERSION = 1.0
VEROBJ = cblibv.obj
VERFILES = cblibv.c cblibv.h

.c.obj:
	$(CC) $(CFLAGS) -c $<
	$(AR) $(TARGET) -+ $*.obj;

.asm.obj:
	$(ASM) $(AFLAGS) -c $<
	$(AR) $(ARFLAGS) $(TARGET) -+ $*.obj;

all:	$(VEROBJ) $(TARGET)
	rm /f $(TARGET_BAK)

$(TARGET): fmtinfo.obj gamedata.obj gamefree.obj gametidy.obj rdgame.obj \
rdgmsort.obj rdheader.obj rdindex.obj rdinfo.obj rdngames.obj \
seekgame.obj wrgame.obj wrheader.obj wrindex.obj wrinfo.obj wrngames.obj \
cmpgame.obj krgetent.obj krputent.obj krreada.obj krread.obj \
krwrite.obj movedata.obj initbrd.obj dumpbrd.obj procmove.obj matchmv.obj \
domove.obj fmtmove.obj movegen.obj ismate.obj symdata.obj \
cvtsym.obj cvtev.obj cvtposev.obj cvtmvev.obj cvtres.obj \
findext.obj killext.obj isdir.obj isfile.obj memalloc.obj \
derivenm.obj flopen.obj flclose.obj fldelete.obj flread.obj \
flwrite.obj flgetc.obj flputc.obj flcopy.obj flrename.obj fllen.obj \
rdlong.obj wrlong.obj c2l.obj c2s.obj l2c.obj s2c.obj \
opdata.obj error.obj output.obj hitret.obj newline.obj \
spaces.obj mempage.obj rngfirst.obj rnglast.obj getopt.obj \
opendb.obj createdb.obj copydb.obj renamedb.obj closedb.obj deletedb.obj \
finddb.obj xatol.obj copybrd.obj ustrlen.obj xstrdup.obj \
strlower.obj fmtmoven.obj piecelst.obj tx2piece.obj tidystr.obj \
notat_a.obj getword.obj rdlistfl.obj charchng.obj parsemv.obj isfllet.obj \
isrnknum.obj ispiece.obj mvtoken.obj fmtmvtyp.obj

clean:
	rm /f $(TARGET)	*.obj *.bak

fmtinfo.obj:	$(HDRS)
gamedata.obj: 	$(HDRS)
gamefree.obj: 	$(HDRS)
gametidy.obj: 	$(HDRS)
rdgame.obj:   	$(HDRS)
rdgmsort.obj:	$(HDRS)
rdheader.obj:   $(HDRS)
rdindex.obj: 	$(HDRS)
rdinfo.obj:  	$(HDRS)
rdngames.obj:   $(HDRS)
seekgame.obj:  	$(HDRS)
wrgame.obj:    	$(HDRS)
wrheader.obj:   $(HDRS)
wrindex.obj: 	$(HDRS)
wrinfo.obj:  	$(HDRS)
wrngames.obj:   $(HDRS)
cmpgame.obj:  	$(HDRS)
krgetent.obj:	$(HDRS)
krputent.obj:	$(HDRS)
krreada.obj: 	$(HDRS)
krread.obj:  	$(HDRS)
krwrite.obj:  	$(HDRS)
movedata.obj:  	$(HDRS)
initbrd.obj: 	$(HDRS)
dumpbrd.obj: 	$(HDRS)
procmove.obj:  	$(HDRS)
matchmv.obj:  	$(HDRS)
domove.obj:    	$(HDRS)
fmtmove.obj:   	$(HDRS)
movegen.obj:   	$(HDRS)
ismate.obj:   	$(HDRS)
symdata.obj: 	$(HDRS) syms.h
cvtsym.obj:  	$(HDRS) syms.h
cvtev.obj:   	$(HDRS) syms.h
cvtposev.obj:	$(HDRS) syms.h
cvtmvev.obj:  	$(HDRS) syms.h
cvtres.obj:   	$(HDRS) syms.h
findext.obj:  	$(HDRS)
killext.obj:  	$(HDRS)
isdir.obj:	$(HDRS)
isfile.obj:   	$(HDRS)
memalloc.obj:	$(HDRS)
derivenm.obj:	$(HDRS)
flopen.obj:	$(HDRS)
flclose.obj:	$(HDRS)
fldelete.obj:	$(HDRS)
flseek.obj:	$(HDRS)
fltell.obj:	$(HDRS)
flread.obj:	$(HDRS)
flwrite.obj:	$(HDRS)
flgetc.obj:	$(HDRS)
flputc.obj:	$(HDRS)
flcopy.obj:	$(HDRS)
flrename.obj:	$(HDRS)
fllen.obj:	$(HDRS)
rdlong.obj:	$(HDRS)
wrlong.obj:	$(HDRS)
c2l.obj:	$(HDRS)
c2s.obj:	$(HDRS)
l2c.obj:	$(HDRS)
s2c.obj:	$(HDRS)
opdata.obj:	$(HDRS)
error.obj:	$(HDRS)
output.obj:	$(HDRS)
hitret.obj:	$(HDRS)
newline.obj:	$(HDRS)
spaces.obj:	$(HDRS)
mempage.obj:	mempage.c $(HDRS)
rngfirst.obj:	$(HDRS)
rnglast.obj:	$(HDRS)
opendb.obj:	$(HDRS)
createdb.obj:	$(HDRS)
copydb.obj:	$(HDRS)
renamedb.obj:	$(HDRS)
closedb.obj:	$(HDRS)
deletedb.obj:	$(HDRS)
finddb.obj:	$(HDRS)
xatol.obj:	$(HDRS)
copybrd.obj:	copybrd.c $(HDRS)
ustrlen.obj:	$(HDRS)
xstrdup.obj:	$(HDRS)
strlower.obj:	$(HDRS)
fmtmoven.obj:	$(HDRS)
tx2piece.obj:	$(HDRS)
tidystr.obj:	$(HDRS)
notat_a.obj:	$(HDRS)
getword.obj:	$(HDRS)
rdlistfl.obj:	$(HDRS)
charchng.obj:	$(HDRS)
parsemv.obj:	$(HDRS)
isfllet.obj:	$(HDRS)
isrnknum.obj:	$(HDRS)
ispiece.obj:	$(HDRS)
mvtoken.obj:	$(HDRS)
fmtmvtyp.obj:	$(HDRS)

$(VEROBJ):	$(VERFILES)

version:
	rm /f cblibv.c cblibv.h

cblibv.c:
	mkver -c -b cblib -n "ChessBase Library" -v $(VERSION)

cblibv.h:
	mkver -h -b cblib

backup:
	copy makefile mkfiles\$(MACHINE)

