#
# Creates output object and binary file directories
#
# Inputs: 
# ~~~~~~~ 
# NAME - undecorated name of target
# DEBUG - defined if building a debug library/executable
# STATIC - defined if building a static library
#
# Outputs:
# ~~~~~~~~
# BINDIR - name of directory where binaries are placed
# MAKE_BINDIR - command to be used for creating BINDIR
# OBJDIR - name of directory where object fils are placed
# MAKE_OBJDIR - command to be used for creating OBJDIR
#
     
!ifdef STATIC
STATIC_DIR=Static
!else
STATIC_DIR=Dynamic
!endif 

!ifdef DEBUG
DEBUG_DIR=Debug
!else
DEBUG_DIR=Release
!endif

!ifdef PASCAL
PASCAL_DIR=Pascal
!else
PASCAL_DIR=.
!endif
     
# By default binaries are built underneath the current build directory
!ifndef BASE_BINDIR
BASE_BINDIR=.
!endif

# By default object files are built underneath the current build directory
!ifndef BASE_OBJDIR
BASE_OBJDIR=.\obj
!endif

!ifndef BINDIR
BINDIR=$(BASE_BINDIR)\$(STATIC_DIR)\$(DEBUG_DIR)\$(PASCAL_DIR)
!endif

!ifndef CORE_BINDIR
CORE_BINDIR=$(ACE_ROOT)\bin\$(STATIC_DIR)\$(DEBUG_DIR)\$(PASCAL_DIR)
!endif

MAKE_BINDIR=if not exist "$(BINDIR)" mkdir "$(BINDIR)"

OBJDIR=$(BASE_OBJDIR)\$(NAME)\$(STATIC_DIR)\$(DEBUG_DIR)

MAKE_OBJDIR=if not exist "$(OBJDIR)" mkdir "$(OBJDIR)"
