OBJDIR= ..\obj\ 
DEBUG=0

OBJS= 	$(OBJDIR)mewlog.obj \
	$(OBJDIR)main.obj $(OBJDIR)term.obj \
	$(OBJDIR)status.obj \
	$(OBJDIR)time.obj $(OBJDIR)utils.obj \
	$(OBJDIR)session.obj \
	$(OBJDIR)file.obj \
	$(OBJDIR)windisp.obj $(OBJDIR)wstdio.obj \
	$(OBJDIR)emlndata.obj $(OBJDIR)emlnrtns.obj \
	$(OBJDIR)emuln.obj \
	$(OBJDIR)config.obj \
	$(OBJDIR)dlgbox.obj \
	$(OBJDIR)scroll.obj $(OBJDIR)search.obj \
	$(OBJDIR)fonts.obj $(OBJDIR)print.obj \
	$(OBJDIR)select.obj $(OBJDIR)selcopy.obj \
	$(OBJDIR)libentry.obj \
	$(OBJDIR)kbd.obj \
	$(OBJDIR)looks.obj \
	$(OBJDIR)clrsetup.obj 

!if $(DEBUG)
CFLAGS= -c -ALw -Zi -Os -Gsw -Zpe -W3 
!else
CFLAGS= -c -ALw -Os -Gsw -Zpe -W3
!endif

CFLAGS = $(CFLAGS) >> err

all: delerr routrm.dll

clean:
	del ..\obj\*.obj
	del *.dll
	del *.res
	del *.sym
	del *.map
	del err


rou.res: mew.rc mew.dlg main.h mew.h kbd101.dlg
	rc -r mew.rc

$(OBJDIR)utils.obj: utils.asm
	masm /Zi utils.asm;
	copy utils.obj ..\obj
	del utils.obj

$(OBJDIR)libentry.obj: libentry.asm
	masm /Zi libentry.asm;
	copy libentry.obj ..\obj
	del libentry.obj

$(OBJDIR)main.obj: main.c mew.h main.h session.h term.h fnkey.h time.h \
	file.h status.h looks.h \
	wstdio.h emlncons.h emlnfuns.h \
	config.h scroll.h dlgbox.h ourdlgbx.h
	cl $(CFLAGS) -Fo$(OBJDIR)main.obj main.c

$(OBJDIR)term.obj: term.c main.h mew.h term.h session.h emlncons.h \
	emlntype.h emlndata.h emlnfuns.h wstdio.h windisp.h status.h \
	config.h dlgbox.h ourdlgbx.h
	cl $(CFLAGS) -Fo$(OBJDIR)term.obj term.c

$(OBJDIR)status.obj: status.c main.h mew.h term.h session.h emlncons.h \
	emlntype.h emlndata.h emlnfuns.h wstdio.h windisp.h \
	status.h config.h mewlog.h dlgbox.h ourdlgbx.h
	cl $(CFLAGS) -Fo$(OBJDIR)status.obj status.c

$(OBJDIR)time.obj: time.c mew.h main.h session.h file.h \
	status.h time.h 
	cl $(CFLAGS) -Fo$(OBJDIR)time.obj time.c

$(OBJDIR)session.obj: session.c mew.h session.h main.h fnkey.h time.h \
	status.h  file.h config.h dlgbox.h ourdlgbx.h
	cl $(CFLAGS) -Fo$(OBJDIR)session.obj session.c

$(OBJDIR)file.obj: file.c mew.h session.h main.h file.h config.h term.h \
	emlntype.h wstdio.h dlgbox.h ourdlgbx.h
	cl $(CFLAGS) -Fo$(OBJDIR)file.obj file.c

$(OBJDIR)windisp.obj : windisp.c windisp.h wstdio.h emlncons.h main.h \
	emlntype.h emlndata.h 
	cl $(CFLAGS) -Fo$(OBJDIR)windisp.obj windisp.c

$(OBJDIR)wstdio.obj: wstdio.c wstdio.h windisp.h emlnfuns.h session.h \
	scroll.h fnkey.h main.h mew.h
	cl $(CFLAGS) -Fo$(OBJDIR)wstdio.obj wstdio.c

$(OBJDIR)emlndata.obj : emlndata.c emlntype.h emlncons.h emlnfuns.h
 	cl $(CFLAGS) -Fo$(OBJDIR)emlndata.obj emlndata.c

$(OBJDIR)emlnrtns.obj : main.h emlnrtns.c emlntype.h emlncons.h emlndata.h \
	emlnfuns.h windisp.h wstdio.h
	cl $(CFLAGS) -Fo$(OBJDIR)emlnrtns.obj emlnrtns.c

$(OBJDIR)emuln.obj : emuln.c emlnfuns.h emlncons.h emlntype.h emlndata.h \
	wstdio.h
 	cl $(CFLAGS) -Fo$(OBJDIR)emuln.obj emuln.c

$(OBJDIR)mewlog.obj: mewlog.c main.h mew.h \
	session.h emlncons.h emlntype.h emlndata.h \
	status.h mewlog.h file.h	dlgbox.h ourdlgbx.h
	cl $(CFLAGS) -Fo$(OBJDIR)mewlog.obj mewlog.c

$(OBJDIR)config.obj: config.c main.h mew.h session.h config.h \
	emlntype.h emlncons.h emlndata.h emlnfuns.h \
	wstdio.h fnkey.h file.h
	cl $(CFLAGS) -Fo$(OBJDIR)config.obj config.c

$(OBJDIR)scroll.obj: scroll.c main.h mew.h scroll.h wstdio.h term.h search.h \
	select.h windisp.h select.h	dlgbox.h ourdlgbx.h
	cl $(CFLAGS) -Fo$(OBJDIR)scroll.obj scroll.c

$(OBJDIR)search.obj: search.c main.h mew.h file.h scroll.h wstdio.h term.h \
	search.h
	cl $(CFLAGS) -Fo$(OBJDIR)search.obj search.c

$(OBJDIR)fonts.obj: fonts.c main.h mew.h fonts.h dlgbox.h ourdlgbx.h
        cl $(CFLAGS) -Fo$(OBJDIR)fonts.obj fonts.c

$(OBJDIR)print.obj: print.c main.h mew.h myprint.h
        cl $(CFLAGS) -Fo$(OBJDIR)print.obj print.c

$(OBJDIR)dlgbox.obj: dlgbox.c dlgbox.h
        cl $(CFLAGS) -Fo$(OBJDIR)dlgbox.obj dlgbox.c

$(OBJDIR)select.obj: select.c main.h select.h wstdio.h scroll.h emlncons.h \
	term.h 
        cl $(CFLAGS) -Fo$(OBJDIR)select.obj select.c

$(OBJDIR)selcopy.obj: selcopy.c selcopy.h
        cl $(CFLAGS) -Fo$(OBJDIR)selcopy.obj selcopy.c

$(OBJDIR)kbd.obj: kbd.c kbd.h
        cl $(CFLAGS) -Fo$(OBJDIR)kbd.obj kbd.c

$(OBJDIR)looks.obj: looks.c looks.h
        cl $(CFLAGS) -Fo$(OBJDIR)looks.obj looks.c

$(OBJDIR)clrsetup.obj: clrsetup.c clrsetup.h dlgbox.h ourdlgbx.h
        cl $(CFLAGS) -Fo$(OBJDIR)clrsetup.obj clrsetup.c

delerr:
	if exist err del err
	if exist linkerr del linkerr


routrm.dll: $(OBJS) mew.def mew.res
!if $(DEBUG)
	link @lnk >> linkerr
!else
	link @nodlnk >> linkerr
!endif
	mapsym routrm.map routrm.sym
	implib trmlib.lib mew.def
	rc -K -feroutrm.dll mew.res
	copy routrm.dll ..\..

