#
# George Cross, Borland C++ Developer Support, May 1997
#

ASM	=	$(MAKEDIR)\tasm32.exe
CC	=	$(MAKEDIR)\bcc.exe
LINK	=	$(MAKEDIR)\tlink.exe

PROJ	=	addtortl
OBJS	=	$(PROJ).obj testmain.obj

!if "$(MODEL)"=="s" || !$d(MODEL)
	MEMMODEL	=	small
	MEMMODIFIER	=	use16
	STACKMODIFIER	=	nearstack
!elif "$(MODEL)"=="c"
	MEMMODEL	=	compact
	MEMMODIFIER	=	use16
	STACKMODIFIER	=	nearstack
!elif "$(MODEL)"=="m"
	MEMMODEL	=	medium
	MEMMODIFIER	=	use16
	STACKMODIFIER	=	nearstack
!elif "$(MODEL)"=="l"
	MEMMODEL	=	large
	MEMMODIFIER	=	use16
	STACKMODIFIER	=	farstack
!else
!error "MODEL" must be defined as s,m,c,l
!endif
TDEFS	=	/dMEMMODEL=$(MEMMODEL) \
		/dMEMMODIFIER=$(MEMMODIFIER) \
		/dSTACKMODIFIER=$(STACKMODIFIER)

TFLAGS	=	/la /mx $(TDEFS)
CFLAGS	=	/c /m$(MODEL)
LFLAGS	=	/c /Twe /L$(MAKEDIR)\..\lib

!if $d(DEBUG)
#	ASM = e:\borland\t5\bin\tasm.exe  # tasm32 only gives 32-bit debug info
	TFLAGS = $(TFLAGS) -DDEBUG
	CFLAGS = /v $(CFLAGS) -DDEBUG
	LFLAGS = /v $(LFLAGS) 
!endif

$(PROJ).exe: $(OBJS)
        $(LINK) @&&|
	        $(LFLAGS) +
	        c0w$(MODEL).obj  +
	        $(OBJS)
	        $&			#target
	        			#map file
	        import cw$(MODEL)	#libs
	        			#module definition file
	        			#resource file
|
!if $d(DEBUG)
        $(MAKEDIR)\tdstrip -s $&
!endif
   

.asm.obj:
	$(ASM) $(TFLAGS) $&
.cpp.obj:
	$(CC) $(CFLAGS) $&
    
clean:
        del *.obj *.exe *.lst *.map *.@@@ *.t?2 *.t?w *.td *.tr *.tds

