#
#
#       Standard MAKEFILE for executables [WATCOM Make 3.2]
#
#


.silent
.erase

#-----------------------------------------------------------------------------
# Files
#-----------------------------------------------------------------------------
dest = sort_t
objects = $(dest).obj
headers =

#-----------------------------------------------------------------------------
# Conditions
#-----------------------------------------------------------------------------
debug = n                       # compile with debug option?

#-----------------------------------------------------------------------------
# Options
#-----------------------------------------------------------------------------
!ifeq debug y
aopts = /ml /m5 /t /Zi          # assembler options
dopts = /d2                     # debug options
!else
aopts = /ml /m5 /t
dopts = /oneatx /s
!endif

# en            emit routine names in code segment
# fpi87         inline 80x87 instructions
# fp5           optimize floating-point for Pentium
# 5r            Pentium register calling convention
# zq            operate quietly
# w4            warning level 4
# mf            flat memory model
copts = /en /fpi87 /fp5 /5r /w4 /zq /mf /i=$(libpath)
libopts = /b /c

#-----------------------------------------------------------------------------
# Compile methods
#-----------------------------------------------------------------------------
cpp_compile = wpp386 $(copts) $(dopts) $<
c_compile   = wcc386 $(copts) $(dopts) $<
asm_compile = tasm $(aopts) $<

#-----------------------------------------------------------------------------
# Main stuff
#-----------------------------------------------------------------------------
.cpp.obj:
        echo Compiling $[*.cpp
        $(cpp_compile)

.c.obj:
        echo Compiling $[*.c
        $(c_compile)

.asm.obj:
        echo Assembling $[*.asm
        $(asm_compile)

.obj.exe:
        echo Linking $[*.obj
        wlink @$(dest).lnk

#-----------------------------------------------------------------------------
# Dependencies
#-----------------------------------------------------------------------------
$(dest).exe: $(dest).lnk
$(dest).exe: makefile
$(dest).exe: $(objects) $(headers)


$(dest).lnk: makefile
        @echo Making $@
        @%create $(dest).lnk
        @%write $(dest).lnk system      pmodew
        @%write $(dest).lnk option      quiet
        @%write $(dest).lnk option      caseexact
        @%write $(dest).lnk option      stack=65536
!ifeq debug y
        @%write $(dest).lnk debug       all
!endif
        @%write $(dest).lnk name        $(dest)
        @%write $(dest).lnk file        {$(objects)}


#-----------------------------------------------------------------------------
# End words
#-----------------------------------------------------------------------------
.after
!ifeq debug y
        @echo -----------------------[DEBUG version prepared]---------
!else
        @echo -----------------------[FINAL version prepared]---------
!endif