#----------------------------------------------------------------------
# Makefile para geracao de aplicacoes E286
# Autor: Jose Rufino (IST)
# Data:  Set 2001
#----------------------------------------------------------------------

.SUFFIXES : .asm .c .obj 

EDRIVE = c:
MFILE  = makefile

IDIR   = $(EDRIVE)\e286\include
KDIR   = $(EDRIVE)\e286\kernel
KTASK  = $(EDRIVE)\e286\kernel\task1.exe
KTMAP  = $(EDRIVE)\e286\kernel\task1.map
IOLIB  = $(EDRIVE)\e286\kernel\iopc.lib
EXLIB  = $(EDRIVE)\e286\kernel\exints.lib

MASM   = masm  
AFLAGS = /Z /ML /P
CC     = cl 
CFLAGS = /c /Gs /G2 /Awsn /J /Od
LINK   = link 
LFLAGS = /M /DOSSEG /NOE
LIBS   = $(IOLIB)+$(EXLIB)

OBJS   = aplmain.obj\
		 aplserv.obj\
		 process.obj\
		 synoptc.obj\
		 comando.obj\
	     monitor.obj\
		 tfvideo.obj


LOBJS  = $(KDIR)\tbegin.obj\
		 $(KDIR)\tstart.obj\
		 $(OBJS)\
		 $(KDIR)\tend.obj

# Geracao de objectos a partir de ficheiros fonte
#
.asm.obj:
		$(MASM) $(AFLAGS) $< ;
.c.obj:
		$(CC) $(CFLAGS) /I$(IDIR) $<

# Geracao da aplicacao
apl:	$(OBJS)
	nmake mkexec

mkexec:
	$(LINK) $(LFLAGS) @<<linkobj
$(LOBJS: =+^
),
$(KTASK),
$(KTMAP),
$(LIBS);
<<NOKEEP

# Execucao de utilidades
#
purge:
	-rm *.bak

clean:
	-rm *.bak
	-rm *.obj

kclean:
	-rm $(KTASK) $(KTMAP)


# Dependencias
aplmain.obj:		aplmain.c 	synoptc.h
aplserv.obj:		aplserv.c 	aplserv.h	process.h	tfvideo.h
process.obj:		process.c 	process.h	synoptc.h	aplserv.h 
synoptc.obj:		synoptc.c 	synoptc.h	tfvideo.h
comando.obj:		comando.c   aplserv.h
monitor.obj:		monitor.c 
tfvideo.obj:		tfvideo.c 	tfvideo.h

