#------------------------------------------------------------------------------
VERSION = BWS.01
#------------------------------------------------------------------------------
!ifndef ROOT
ROOT = $(MAKEDIR)\..
!endif
#------------------------------------------------------------------------------
MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
DCC = $(ROOT)\bin\dcc32.exe $**
BRCC = $(ROOT)\bin\brcc32.exe $**
#------------------------------------------------------------------------------
PROJECTS = setup libexpat_mtd.dll libexpats_mtd.lib libexpatw_mtd.dll \
  libexpatws_mtd.lib elements.exe outline.exe xmlwf.exe
#------------------------------------------------------------------------------
default: $(PROJECTS)
#------------------------------------------------------------------------------

libexpat_mtd.dll: expat.bpr
  $(ROOT)\bin\bpr2mak $**
  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak

libexpats_mtd.lib: expat_static.bpr
  $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak

libexpatw_mtd.dll: expatw.bpr
  $(ROOT)\bin\bpr2mak $**                                    
  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak

libexpatws_mtd.lib: expatw_static.bpr
  $(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak

elements.exe: elements.bpr
  $(ROOT)\bin\bpr2mak $**
  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak

outline.exe: outline.bpr
  $(ROOT)\bin\bpr2mak $**
  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak

xmlwf.exe: xmlwf.bpr
  $(ROOT)\bin\bpr2mak $**
  $(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak

setup: setup.bat
  call $**


