.SUFFIXES: .def .obj .h

OBJS1 = miarc.obj micursor.obj midash.obj mibitblt.obj \
	midispcu.obj miexpose.obj mifillar.obj mifillrc.obj mifpolyc.obj
OBJS2 = miglblt.obj miinitex.obj mipointe.obj mipoly.obj mipolyco.obj \
	mipolyge.obj mipolypn.obj mipolyre.obj mipolyse.obj mipolyte.obj
OBJS3 = mipolyut.obj mipushpx.obj miregion.obj mispans.obj \
	mivaltre.obj miwideli.obj miwindow.obj mizerarc.obj mizerlin.obj

OBJS = $(OBJS1) $(OBJS2) $(OBJS3)

DEFS = miarc.def micursor.def midash.def mibitblt.def \
	midispcu.def miexpose.def mifillar.def mifillrc.def mifpolyc.def \
	miglblt.def miinitex.def mipointe.def mipoly.def mipolyco.def \
	mipolyge.def mipolypn.def mipolyre.def mipolyse.def mipolyte.def \
	mipolyut.def mipushpx.def miregion.def mispans.def \
	mivaltre.def miwideli.def miwindow.def mizerarc.def mizerlin.def

INCLUDES = -I../../include -I../../../../x11
CFLAGS = $(INCLUDES) /W3 /G2 /Oecilgs /Gs /AL /nologo
LIBFLAGS=/NOI /nologo
CC = cl

all: mi.lib

mi.lib:  mifuncs.h $(DEFS) $(OBJS)

.c.def: 
	echo #define MI_FUNCS_H >> mifuncs.h
	$(CC) $(CFLAGS) /Zg $*.c > $*.def
        del mifuncs.h

.c.obj: 
	$(CC) -c $(CFLAGS) $*.c
	lib $(LIBFLAGS) mi -+ $*;

.c.asm:
	$(CC) -c $(CFLAGS) /Fa /Fs $*.c

.asm.obj:
	masm $(MFLAGS) $*.asm;
	lib $(LIBFLAGS) mi -+ $*;

mi.fix: $(OBJS)
	-del mi.lib
	lib mi.lib + $(OBJS1);
	lib mi.lib + $(OBJS2);
	lib mi.lib + $(OBJS3);

mifuncs.h: $(DEFS)
	echo #ifndef MI_FUNCS_H > mifuncs.h
	echo #define MI_FUNCS_H >> mifuncs.h
	sed -e "/static/d" -e /_SppPoint/d -e "s/.*DEF://" *.def >> mifuncs.h
	echo #endif >> mifuncs.h

clean:
	-del *.obj
	-del *.def
	-del *.map
	-del *.bak
	
cleanall: clean
	-del *.lib
        -del mifuncs.h
	-del *.exe		
