.SUFFIXES: .def .obj .h

SRCS1 = init.c scrinit.c egacmap.c egawindo.c egafont.c \
	egapixma.c egagc.c egaspans.c egagetsp.c mfbclip.c
SRCS2 =	egapushp.c egaglblt.c cursor.c \
	mfbbres.c mfbhrzve.c mfbline.c output.c egapaint.c

SRCS = $(SRCS1) $(SRCS2)

OBJS1 = init.obj scrinit.obj egacmap.obj egafont.obj \
	egapixma.obj output.obj mfbclip.obj
#ecopybit.obj ecopycon.obj einvert.obj
OBJS2 = egapushp.obj egaglblt.obj mfbline.obj egapaint.obj
OBJS3 = cursor.obj egagetsp.obj egaspans.obj egawindo.obj mfbbres.obj \
	mfbhrzve.obj
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) egagc.obj
LOBJS = $(OBJS1) $(OBJS2) $(OBJS3) legagc.obj

TOBJS3 = tseng\cursor.obj tseng\egagetsp.obj tseng\egaspans.obj
TOBJS4 = tseng\egawindo.obj tseng\mfbbres.obj tseng\mfbhrzve.obj
TOBJS = $(OBJS1) $(OBJS2) $(TOBJS3) $(TOBJS4)

DEFS = init.def scrinit.def egacmap.def egawindo.def egafont.def \
	egapixma.def egagc.def egaspans.def egagetsp.def \
	egapushp.def egaglblt.def \
	mfbbres.def mfbhrzve.def mfbline.def \
	output.def egapaint.def cursor.def mfbclip.def

INCLUDES= -I../../../../../x11 -I../../../include

CFLAGS=$(INCLUDES) /W3 /G2 /Oecilgs /Gs /AL /NT IBM_TEXT /nologo
MFLAGS=/MX /T
LIBFLAGS=/NOI /nologo

all: ega.lib lega.lib

ega.lib:  egafuncs.h $(DEFS) $(OBJS)
lega.lib: egafuncs.h $(DEFS) $(LOBJS)

#tseng.lib: $(TOBJS)

#$(OBJS3):
#	cl $(CFLAGS) -DEGA_TSENG -c $*.c
#	lib $(LIBFLAGS) tseng -+ $*;
#	mv -Z $*.obj tseng/$*.obj
#	cl $(CFLAGS) -c $*.c
#	lib $(LIBFLAGS) ega -+ $*;

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

#tseng.fix: $(OBJS)
#	rm -Z tseng.lib
#	lib $(LIBFLAGS) tseng + $(OBJS1);
#	lib $(LIBFLAGS) tseng + $(OBJS2);
#	lib $(LIBFLAGS) tseng + $(TOBJS3);
#	lib $(LIBFLAGS) tseng + $(TOBJS4);

.c.obj: 
	cl $(CFLAGS) -c $*.c
#	lib $(LIBFLAGS) tseng -+ $*;
	lib $(LIBFLAGS) ega -+ $*;
	lib $(LIBFLAGS) lega -+ $*;

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

egagc.def: egagc.c
	echo #define EGADEFS_H >> egafuncs.h
	-$(CC) $(CFLAGS) /Zg $*.c > $*.def
	del egafuncs.h

egagc.obj: egagc.c
	cl $(CFLAGS) /DLITE -c $*.c
	ren egagc.obj legagc.obj
	lib $(LIBFLAGS) lega -+ legagc.obj;
	cl $(CFLAGS) -c $*.c
	lib $(LIBFLAGS) ega -+ egagc.obj;

ecopybit.obj: ecopybit.asm
	masm $(MFLAGS) /Dinvert ecopybit.asm;
	ren ecopybit.obj einvert.obj
	lib $(LIBFLAGS) ega -+ einvert;
	lib $(LIBFLAGS) lega -+ einvert;
	masm $(MFLAGS) ecopybit.asm;
	lib $(LIBFLAGS) ega -+ ecopybit;
	lib $(LIBFLAGS) lega -+ ecopybit;

.asm.obj: 
	masm $(MFLAGS) $*;
	lib $(LIBFLAGS) ega -+ $*;
	lib $(LIBFLAGS) lega -+ $*;
#	lib $(LIBFLAGS) tseng -+ $*;

tags: $(SRCS)
	ctags $(SRCS1)
	ctags -a $(SRCS2)

egafuncs.h: $(DEFS)
	echo #ifndef EGADEFS_H > egafuncs.h
	echo #define EGADEFS_H >> egafuncs.h
	echo #include "../../mi/mifpoly.h" >> egafuncs.h
	sed -e "/static/d" -e "s/.*DEF://" *.def >> egafuncs.h
	echo #endif >> egafuncs.h

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