############################################################################
#                                                                          #
#  MAKEFILE for the MEWLDEMO                                               #
#                                                                          #
#  This makefile can be used as a skeleton for any MEWEL application.      #
#                                                                          #
############################################################################

# 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 /DDEBUG
CFLAGS = /W2 /c /A$(MODEL) /J /DMSC /DDOS /I\mewel $(OPT) /DMEWEL /DPROPVIEW
ASM = masm 
# LMODEL should be 1 if you want large data
ASMFLAGS = /DLMODEL=1 /DTC=0
LIB = lib
LINK = link
LFLAGS = /packcode /f /stack:8192  /seg:256

# Borland Turbo C macros
#CC = bccx
#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) -DDOS -Id:\bc\include -w-aus -w-pia -w-stu -w-rvl -w-par 
#ASM = tasm
#ASMFLAGS = /dTC=1 /dLMODEL=0 /mx
#LIB = tlib
#LINK = tlink
#LFLAGS = /v /e


RC = \mewel\rc

# 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) $*;

.rc.res :
	$(RC) -w -p3 $*


DEMO = mewldemo
OBJS = $(DEMO).obj propview.obj
OBJ  = $(DEMO) propview

all         :   $(DEMO).exe

$(DEMO).obj :   $(DEMO).c
	$(CC) $(CFLAGS) -DMEWELMAIN -DNOMDI $*.c

propview.obj:   propview.c

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

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