###########################################################################
#                                                                          #
#  MAKEFILE for the DESKTOP                                                #
#                                                                          #
############################################################################

# Compiler is 'M' for Microsoft, 'T' for Borland Turbo C
COMPILER = M
# Model is 
#   1) Microsoft C - 'M' for Medium, 'L' for Large
#   2) Turbo C - 'm' for medium, 'l' for large
MODEL = L

# Microsoft C macros
CC = cl
OPT = /Oait /Gs
DEBUG = /Od /Zi
CFLAGS = /c /A$(MODEL) /J /DDOS /DMSC $(OPT)
ASM = masm 
# LMODEL should be 1 if you want large data
ASMFLAGS = /DLMODEL=0 /DTC=0
LIB = lib
LINK = link
LFLAGS = /packcode /f /stack:8192

# Borland Turbo C macros
#CC = tcc
# Optimization : -G favors speed over size, -O improves jumps & loops
#OPT = -G -O
#CFLAGS = -v -c -d -f- -k -N -K -m$(MODEL) -DTC -w-aus -w-pia -w-stu -w-rvl -w-par
#ASM = tasm
#ASMFLAGS = /dTC=1 /dLMODEL=0 /mx
#LIB = tlib
#LINK = tlink
#LFLAGS = /v

# We tack the compiler and model onto the end of the library name, so
# the library for Borland's Turbo C, medium model would be called WINLIBTM.LIB

# Inference rules for C and ASM files

.c.obj :
	$(CC) $(CFLAGS) $*.c

.asm.obj :
	$(ASM) $(ASMFLAGS) $*;


DEMO = de
OBJS = $(DEMO).obj dectrl.obj desymbol.obj dehelp.obj \
    delist.obj degen.obj deprompt.obj destyle.obj
OBJ =  $(DEMO) dectrl desymbol dehelp delist degen deprompt destyle

$(DEMO).obj :   $(DEMO).c

deprompt.obj:   deprompt.c

dectrl.obj  :   dectrl.c

desymbol.obj:   desymbol.c

dehelp.obj  :   dehelp.c

delist.obj  :   delist.c

degen.obj   :   degen.c

destyle.obj :   destyle.c

de.res      :   de.rc
	rc de

$(DEMO).exe :   $(OBJS)
# Microsoft
  $(LINK) $(LFLAGS) $(OBJ),$(DEMO),,winlib$(COMPILER)$(MODEL);
# rc $(DEMO).res
# $(LINK) /co @$(DEMO).lnk
# cvpack $(DEMO).exe
# Turbo C
# $(LINK) $(LFLAGS) e:\tc\lib\c0$(MODEL)+$(OBJS),\
#      $(DEMO),nul,e:\tc\lib\c$(MODEL)+winlib$(COMPILER)$(MODEL)
# rc desktop.res

