home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
NEWS
/
676
/
XMSIF
/
EXMAKETC
< prev
next >
Wrap
Text File
|
1993-10-07
|
6KB
|
165 lines
#
# EXAMPLE MAKEFILE FOR XMSTEST TESTER/EXAMPLE PROGRAM FOR XMSIF
# TURBO C, TURBO C++
# 12/08/91
#
# This is an example makefile for Turbo C[++], to make the XMSTEST
# tester/example program in any of the six supported memory models. It is
# compatible with the MAKE utility provided with Turbo C 2.0 (MAKE version
# 2.0). As supplied, it is set up for Turbo C 2.0. It is also set up to use
# the inline-assembly versions of the functions in TESTUTIL.C.
#
# The "-DNO_FFUNC" option on the "CFLAGS" line below is necessary because
# Borland compilers before BC++ 2.0 did not have the functions _fmemcmp() and
# _fmemset(); defining this symbol causes XMSTEST to use internal replacements
# for these functions. These compilers also require an external assembler
# (generally TASM, although Turbo C 1.5 and before used MASM) to support
# in-line assembly code. If you have the required assembler and wish to use
# the in-line assembly code (it improves execution speed significantly), you
# do not need to make any changes. If you do not have the required assembler
# or do not wish to use the in-line assembly code, simply remove "-DINLINE_ASM"
# from the line that begins "CFLAGS", and remove "-B" from the line that
# begins "CFLAGS2".
#
# Before using this makefile, make sure that the Borland MAKE utility and
# the appropriate command-line compiler and linker are in your path. The four
# source files (XMSTEST.C, XMSTEST2.C, XMSTEST3.C, and TESTUTIL.C), the header
# files (XMSTEST.H, TESTUTIL.H, and XMSIF.H), the appropriate library or
# libraries (XMSIF*.LIB), and STACK.OBJ (if making the tiny-model example)
# should all be in the current directory. Make sure that the line beginning
# "LIBS" below contains the path to the standard objects and libraries (for
# example, if the standard libraries are in c:\tc\lib, then the line should
# read "LIBS = c:\tc\lib").
#
# To use the makefile, type "make -fexmaketc target", where 'target' is
# one or more of tiny, small, medium, compact, large, or huge, separated by
# spaces. For example, "make -fexmaketc tiny" would make the tiny-model
# example and "make -fexmaketc small large" would make the small- and large-
# model examples. "make -fexmaketc" will make the test programs for all
# memory models.
#
CC = tcc
CFLAGS = -c -d -DINLINE_ASM -DNO_FFUNC
CFLAGS2 = -B
LINK = tlink
LF = /c /x
LIBS = c:\tc\lib
all: tiny small medium compact large huge
tiny: txmstest
small: sxmstest
medium: mxmstest
compact: cxmstest
large: lxmstest
huge: hxmstest
txmstest.obj: xmstest.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mt -o$< xmstest.c
sxmstest.obj: xmstest.c xmstest.h testutil.h
$(CC) $(CFLAGS) -ms -o$< xmstest.c
mxmstest.obj: xmstest.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mm -o$< xmstest.c
cxmstest.obj: xmstest.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mc -o$< xmstest.c
lxmstest.obj: xmstest.c xmstest.h testutil.h
$(CC) $(CFLAGS) -ml -o$< xmstest.c
hxmstest.obj: xmstest.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mh -o$< xmstest.c
txmstst2.obj: xmstest2.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mt -o$< xmstest2.c
sxmstst2.obj: xmstest2.c xmstest.h testutil.h
$(CC) $(CFLAGS) -ms -o$< xmstest2.c
mxmstst2.obj: xmstest2.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mm -o$< xmstest2.c
cxmstst2.obj: xmstest2.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mc -o$< xmstest2.c
lxmstst2.obj: xmstest2.c xmstest.h testutil.h
$(CC) $(CFLAGS) -ml -o$< xmstest2.c
hxmstst2.obj: xmstest2.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mh -o$< xmstest2.c
txmstst3.obj: xmstest3.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mt -o$< xmstest3.c
sxmstst3.obj: xmstest3.c xmstest.h testutil.h
$(CC) $(CFLAGS) -ms -o$< xmstest3.c
mxmstst3.obj: xmstest3.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mm -o$< xmstest3.c
cxmstst3.obj: xmstest3.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mc -o$< xmstest3.c
lxmstst3.obj: xmstest3.c xmstest.h testutil.h
$(CC) $(CFLAGS) -ml -o$< xmstest3.c
hxmstst3.obj: xmstest3.c xmstest.h testutil.h
$(CC) $(CFLAGS) -mh -o$< xmstest3.c
ttstutil.obj: testutil.c testutil.h
$(CC) $(CFLAGS) $(CFLAGS2) -mt -o$< testutil.c
ststutil.obj: testutil.c testutil.h
$(CC) $(CFLAGS) $(CFLAGS2) -ms -o$< testutil.c
mtstutil.obj: testutil.c testutil.h
$(CC) $(CFLAGS) $(CFLAGS2) -mm -o$< testutil.c
ctstutil.obj: testutil.c testutil.h
$(CC) $(CFLAGS) $(CFLAGS2) -mc -o$< testutil.c
ltstutil.obj: testutil.c testutil.h
$(CC) $(CFLAGS) $(CFLAGS2) -ml -o$< testutil.c
htstutil.obj: testutil.c testutil.h
$(CC) $(CFLAGS) $(CFLAGS2) -mh -o$< testutil.c
txmstest: txmstest.obj txmstst2.obj txmstst3.obj ttstutil.obj stack.obj \
xmsifs.lib
$(LINK) $(LF) $(LIBS)\c0t txmstest txmstst2 txmstst3 ttstutil stack, \
txmstest, , $(LIBS)\cs xmsifs
sxmstest: sxmstest.obj sxmstst2.obj sxmstst3.obj ststutil.obj xmsifs.lib
$(LINK) $(LF) $(LIBS)\c0s sxmstest sxmstst2 sxmstst3 ststutil, \
sxmstest, , $(LIBS)\cs xmsifs
mxmstest: mxmstest.obj mxmstst2.obj mxmstst3.obj mtstutil.obj xmsifm.lib
$(LINK) $(LF) $(LIBS)\c0m mxmstest mxmstst2 mxmstst3 mtstutil, \
mxmstest, , $(LIBS)\cm xmsifm
cxmstest: cxmstest.obj cxmstst2.obj cxmstst3.obj ctstutil.obj xmsifc.lib
$(LINK) $(LF) $(LIBS)\c0c cxmstest cxmstst2 cxmstst3 ctstutil, \
cxmstest, , $(LIBS)\cc xmsifc
lxmstest: lxmstest.obj lxmstst2.obj lxmstst3.obj ltstutil.obj xmsifl.lib
$(LINK) $(LF) $(LIBS)\c0l lxmstest lxmstst2 lxmstst3 ltstutil, \
lxmstest, , $(LIBS)\cl xmsifl
hxmstest: hxmstest.obj hxmstst2.obj hxmstst3.obj htstutil.obj xmsifh.lib
$(LINK) $(LF) $(LIBS)\c0h hxmstest hxmstst2 hxmstst3 htstutil, \
hxmstest, , $(LIBS)\ch xmsifh