-BURG := $(TOOLCURRENT)/burg
-RunBurg := $(BURG) $(BURG_OPTS)
-
-TBLGEN := $(TOOLCURRENT)/tblgen
-
-# Enable this for profiling support with 'gprof'
-# This automatically enables optimized builds.
-ifdef ENABLE_PROFILING
- PROFILE = -pg
-endif
-
-#if PROJDIR is defined then we include PROJ DIR includes and libraries
-ifndef PROJ_COMPILE
-PROJ_INCLUDE = "."
-else
-PROJ_INCLUDE = $(PROJ_DIR)/include
-endif
-
-# By default, strip symbol information from executable
-ifndef KEEP_SYMBOLS
-STRIP = $(PLATFORMSTRIPOPTS)
-STRIP_WARN_MSG = "(without symbols) "
-endif
-
-# Allow gnu extensions...
-CPPFLAGS += -D_GNU_SOURCE
-
-# -Wno-unused-parameter
-CompileCommonOpts := -Wall -W -Wwrite-strings -Wno-unused -I$(LEVEL)/include -I$(PROJ_INCLUDE)
-CompileOptimizeOpts := -O3 -DNDEBUG -finline-functions -fshort-enums
-
-# Compile a cpp file, don't link...
-Compile := $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CompileCommonOpts)
-CompileG := $(Compile) -g -D_DEBUG
-CompileO := $(Compile) $(CompileOptimizeOpts) -felide-constructors -fomit-frame-pointer
-CompileP := $(Compile) $(CompileOptimizeOpts) -felide-constructors $(PROFILE)
-
-# Compile a c file, don't link...
-CompileC := $(CC) -c $(CPPFLAGS) $(CCFLAGS) $(CompileCommonOpts)
-CompileCG := $(CompileC) -g -D_DEBUG
-CompileCO := $(CompileC) $(CompileOptimizeOpts) -fomit-frame-pointer
-CompileCP := $(CompileC) $(CompileOptimizeOpts) $(PROFILE)
-
-
-# Link final executable
-
-ifdef ENABLE_PURIFY # To enable purify, build with 'gmake ENABLE_PURIFY=1'
-Link := $(PURIFY) $(CXX) -static
-else
-Link := $(CXX)
-endif
-
-ifdef PROJ_COMPILE
-LinkG := $(Link) -g -L$(PROJLIBDEBUGSOURCE) -L$(LLVMLIBDEBUGSOURCE) $(STRIP)
-LinkO := $(Link) -O3 -L$(PROJLIBRELEASESOURCE) -L$(LLVMLIBRELEASESOURCE)
-LinkP := $(Link) -O3 -L$(PROJLIBPROFILESOURCE) -L$(LLVMLIBPROFILESOURCE) $(PROFILE)
-else
-LinkG := $(Link) -g -L$(LLVMLIBDEBUGSOURCE) $(STRIP)
-LinkO := $(Link) -O3 -L$(LLVMLIBRELEASESOURCE)
-LinkP := $(Link) -O3 -L$(LLVMLIBPROFILESOURCE) $(PROFILE)
-endif
-
-
-
-# Create one .o file from a bunch of .o files...
-Relink = ld -r
-
-# MakeSO - Create a .so file from a .o files...
-MakeSO := $(CXX) $(MakeSharedObjectOption)
-MakeSOO := $(MakeSO) -O3
-MakeSOP := $(MakeSOO) $(PROFILE)
-
-# Create dependancy file from CPP file, send to stdout.
-Depend := $(CXX) -MM -I$(LEVEL)/include -I$(PROJ_INCLUDE) $(CPPFLAGS)
-DependC := $(CC) -MM -I$(LEVEL)/include -I$(PROJ_INCLUDE) $(CPPFLAGS)
-
-# Archive a bunch of .o files into a .a file...
-AR = ar cq
-
-#----------------------------------------------------------
-
-# Source includes all of the cpp files, and objects are derived from the
-# source files...
-# The local Makefile can list other Source files via ExtraSource = ...
-#
-ifndef Source
-Source := $(ExtraSource) $(wildcard *.cpp *.c *.y *.l)
-endif
-
-Objs := $(sort $(patsubst Debug/%.o, %.o, $(addsuffix .o,$(notdir $(basename $(Source))))))
-ObjectsO := $(addprefix $(BUILD_ROOT)/Release/,$(Objs))
-ObjectsP := $(addprefix $(BUILD_ROOT)/Profile/,$(Objs))
-ObjectsG := $(addprefix $(BUILD_ROOT)/Debug/,$(Objs))
-
-
-#---------------------------------------------------------
-# Handle the DIRS and PARALLEL_DIRS options
-#---------------------------------------------------------
-
-ifdef DIRS
-all install clean test ::
- $(VERB) for dir in ${DIRS}; do \
- (cd $$dir; $(MAKE) $@) || exit 1; \
- done
-endif
-
-# Handle PARALLEL_DIRS
-ifdef PARALLEL_DIRS
-all :: $(addsuffix /.makeall , $(PARALLEL_DIRS))
-install :: $(addsuffix /.makeinstall, $(PARALLEL_DIRS))
-clean :: $(addsuffix /.makeclean , $(PARALLEL_DIRS))
-test :: $(addsuffix /.maketest , $(PARALLEL_DIRS))
-
-%/.makeall %/.makeinstall %/.makeclean %/.maketest:
- $(VERB) cd $(@D); $(MAKE) $(subst $(@D)/.make,,$@)
-endif
-
-#---------------------------------------------------------
-# Handle the LIBRARYNAME option - used when building libs...
-#---------------------------------------------------------