#############################################################################
# This makefile is used as the driver to build the chosen RTL.  For         #
# appropriate command line switches and environment variables, see          #
# rules.mak                                                                 #
#############################################################################
!include rules.mak

#############################################################################
# Build the command line.  NOTE: The code here is based on rules.mak.  If   #
# rules.mak is enhanced or modified, make the results must be reflected     #
# here as well!!!                                                           #
#############################################################################
#
# The -l in the following line is an undocumented switch for MAKE.EXE
# which allows the commandline of a command to exceed 128 chars.  The
# default behavior is to report an error for any line exceeding 128.
#
CMDLINE = -l OS=$(OS)

!if $d(DEBUG)
    CMDLINE = $(CMDLINE) -DDEBUG
!endif

!if $d(DLL)
    CMDLINE = $(CMDLINE) -DDLL
!endif

!if $d(MODEL)
    CMDLINE = $(CMDLINE) MODEL=$(MODEL)
!endif

!if $d(MT)
    CMDLINE = $(CMDLINE) -DMT
!endif

!if $d(PCH)
    CMDLINE = $(CMDLINE) -DPCH
!endif

!if $d(MAKEFLAGS)
    CMDLINE = $(CMDLINE) -$(MAKEFLAGS)
!endif

#############################################################################
# What needs to be built.                                                   #
#############################################################################
all : start srcdirs builddir end

srcdirs : $(SRCDIRS)

BUILDDIR = $(LIBDIR)

builddir : $(BUILDDIR)

#############################################################################
# For each source directory build whatever is necessary.                    #
#############################################################################
$(SRCDIRS) :
    @echo.
    @echo [*************** $* ***************]
    @echo.
    &cd $*
    $(MAKE) -I$(RTLROOT) $(CMDLINE) objs

$(BUILDDIR) :
    @echo.
    @echo [*************** $* ***************]
    @echo.
    cd $*
!if $d(DLL)
!    if $(OS) == WIN16
         $(MAKE) -I$(RTLROOT) $(CMDLINE) win16dll
!    else
         $(MAKE) -I$(RTLROOT) $(CMDLINE) dll
!    endif
!else
     $(MAKE) -I$(RTLROOT) $(CMDLINE) objs
     $(MAKE) -I$(RTLROOT) $(CMDLINE) lib
!endif

#############################################################################
# Do whatever is necessary at the start and end of the build.               #
#############################################################################
start :
    @echo.
    @echo [***************** Borland C++ Run Time Libary *****************]
    @echo.
!if $d(DLL)
    if exist $(LIBDIR)\dll.rsp del $(LIBDIR)\dll.rsp
    echo $(LIBDIR)\\\\$(DLLC0)+ > $(LIBDIR)\dll.rsp
    if exist $(LIBDIR)\import.rsp del $(LIBDIR)\import.rsp
!else
    if exist $(LIBDIR)\tlib.rsp del $(LIBDIR)\tlib.rsp
!endif

end :
    cd $(RTLROOT)
!if $d(DLL)
    if exist $(LIBDIR)\dll.rsp del $(LIBDIR)\dll.rsp
    if exist $(LIBDIR)\import.rsp del $(LIBDIR)\import.rsp
!else
    if exist $(LIBDIR)\tlib.rsp del $(LIBDIR)\tlib.rsp
!endif

