############################################################################
#                                                                          #
#  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
DEBUG = /Od /Zi
CFLAGS = /c /A$(MODEL) /J /DMSC /DDOS /DPROTOTYPES  $(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 = cardfile
OBJS = $(DEMO).obj carddlg.obj cardproc.obj cardio.obj deskhelp.obj
OBJ  = $(DEMO) carddlg cardproc cardio deskhelp

all         :   $(OBJS)

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

carddlg.obj  :  carddlg.c

cardio.obj   :  cardio.c

cardproc.obj :  cardproc.c

deskhelp.obj :  deskhelp.c

$(DEMO).res  :  $(DEMO).rc
	rc $(DEMO).rc

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

