#
# EXAMPLE MAKEFILE FOR EMSTEST TESTER/EXAMPLE PROGRAM FOR EMSLIB
# MICROSOFT COMPILERS
# 10/13/91
#
#   This is an example makefile for Microsoft C, to make the EMSTEST tester/
# example program in any of the six supported memory models. It is compatible
# with the NMAKE utility provided with the compiler. As supplied, it is set
# up for Microsoft C 6.00A. To reconfigure for earlier compilers, two changes
# may be required. First, check if your version of the compiler has the
# library functions _fmemcmp() and _fmemset(). If it does not, add "/DNO_FFUNC"
# to the line that begins "CFLAGS". Second, check if your version of the
# compiler supports in-line assembly code. If it does, no changes should be
# necessary. If it does not or you do not wish to use the in-line assembly
# code (it improves execution speed significantly, but it's your choice),
# simply remove "/DINLINE_ASM" from the line that begins "CFLAGS".
#
#   Before using this makefile, make sure that the Microsoft NMAKE utility
# and the appropriate command-line compiler and linker are in your path,
# and that the necessary environment variables (INCLUDE and LIB) are set
# appropriately. The three source files (EMSTEST.C, EMSTEST2.C, and
# EMSTEST3.C), the header files (EMSTEST.H and EMSLIB.H), and the appropriate
# library or libraries (EMSLIB*.LIB) should all be in the current directory
#
#    To use the makefile, type "nmake /f exmakems target", where 'target' is
# one or more of tiny, small, medium, compact, large, or huge separated by
# spaces. For example, "nmake /f exmakems tiny" would make the tiny-model
# example and "nmake /f exmakems small large" would make the small- and
# large-model examples. "nmake /f exmakems" will make the test programs
# for all memory models.
#


CC	=cl
CFLAGS	= /c /DINLINE_ASM

LINK	= link
LF	=


all:		tiny small medium compact large huge

tiny:		emstesta emstestb emstestc

small:		semstest

medium:		memstest

compact:	cemstest

large:		lemstest

huge:		hemstest


emstesta.obj:	emstest.c emstest.h
	$(CC) $(CFLAGS) /AT /DTINYPASS1 /Fo$@ emstest.c

emstestb.obj:	emstest.c emstest.h
	$(CC) $(CFLAGS) /AT -DTINYPASS2 /Fo$@ emstest.c

emstestc.obj:	emstest.c emstest.h
	$(CC) $(CFLAGS) /AT -DTINYPASS3 /Fo$@ emstest.c

semstest.obj:	emstest.c emstest.h
	$(CC) $(CFLAGS) /AS /Fo$@ emstest.c

memstest.obj:	emstest.c emstest.h
	$(CC) $(CFLAGS) /AM /Fo$@ emstest.c

cemstest.obj:	emstest.c emstest.h
	$(CC) $(CFLAGS) /AC /Fo$@ emstest.c

lemstest.obj:	emstest.c emstest.h
	$(CC) $(CFLAGS) /AL /Fo$@ emstest.c

hemstest.obj:	emstest.c emstest.h
	$(CC) $(CFLAGS) /AH /Fo$@ emstest.c

temstst2.obj:	emstest2.c emstest.h
	$(CC) $(CFLAGS) /AT /Fo$@ emstest2.c

semstst2.obj:	emstest2.c emstest.h
	$(CC) $(CFLAGS) /AS /Fo$@ emstest2.c

memstst2.obj:	emstest2.c emstest.h
	$(CC) $(CFLAGS) /AM /Fo$@ emstest2.c

cemstst2.obj:	emstest2.c emstest.h
	$(CC) $(CFLAGS) /AC /Fo$@ emstest2.c

lemstst2.obj:	emstest2.c emstest.h
	$(CC) $(CFLAGS) /AL /Fo$@ emstest2.c

hemstst2.obj:	emstest2.c emstest.h
	$(CC) $(CFLAGS) /AH /Fo$@ emstest2.c

temstst3.obj:	emstest3.c emstest.h
	$(CC) $(CFLAGS) /AT /Fo$@ emstest3.c

semstst3.obj:	emstest3.c emstest.h
	$(CC) $(CFLAGS) /AS /Fo$@ emstest3.c

memstst3.obj:	emstest3.c emstest.h
	$(CC) $(CFLAGS) /AM /Fo$@ emstest3.c

cemstst3.obj:	emstest3.c emstest.h
	$(CC) $(CFLAGS) /AC /Fo$@ emstest3.c

lemstst3.obj:	emstest3.c emstest.h
	$(CC) $(CFLAGS) /AL /Fo$@ emstest3.c

hemstst3.obj:	emstest3.c emstest.h
	$(CC) $(CFLAGS) /AH /Fo$@ emstest3.c


emstesta:	emstesta.obj emslibs.lib
	$(LINK) $(LF) /ST:0x800 emstesta, emstesta, , emslibs ;

emstestb:	emstestb.obj temstst2.obj emslibs.lib
	$(LINK) $(LF) /ST:0x800 emstestb temstst2, emstestb, , emslibs ;

emstestc:	emstestc.obj temstst3.obj emslibs.lib
	$(LINK) $(LF) /ST:0x800 emstestc temstst3, emstestc, , emslibs ;

semstest:	semstest.obj semstst2.obj semstst3.obj emslibs.lib
	$(LINK) $(LF) semstest semstst2 semstst3, semstest, , emslibs ;

memstest:	memstest.obj memstst2.obj memstst3.obj emslibm.lib
	$(LINK) $(LF) memstest memstst2 memstst3, memstest, , emslibm ;

cemstest:	cemstest.obj cemstst2.obj cemstst3.obj emslibc.lib
	$(LINK) $(LF) cemstest cemstst2 cemstst3, cemstest, , emslibc ;

lemstest:	lemstest.obj lemstst2.obj lemstst3.obj emslibl.lib
	$(LINK) $(LF) lemstest lemstst2 lemstst3, lemstest, , emslibl ;

hemstest:	hemstest.obj hemstst2.obj hemstst3.obj emslibh.lib
	$(LINK) $(LF) hemstest hemstst2 hemstst3, hemstest, , emslibh ;

