|  | 
 | ifndef SUBZERO_LEVEL | 
 | # Top-level, not included from a subdir | 
 | SUBZERO_LEVEL := . | 
 | DIRS := src | 
 | PARALLEL_DIRS := | 
 | endif | 
 |  | 
 | # Set LLVM source root level. | 
 | LEVEL := $(SUBZERO_LEVEL)/../.. | 
 |  | 
 | # Include LLVM common makefile. | 
 | include $(LEVEL)/Makefile.common | 
 |  | 
 | # -O3 seems to trigger the following PNaCl ABI transform bug | 
 | # on method pointers, so override that with -O2: | 
 | # https://code.google.com/p/nativeclient/issues/detail?id=3857 | 
 | CXX.Flags += -O2 | 
 | # Newlib paired with libc++ requires gnu. | 
 | CXX.Flags += -std=gnu++11 | 
 |  | 
 | ifeq ($(PNACL_BROWSER_TRANSLATOR),1) | 
 |   CPP.Defines += -DALLOW_DUMP=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 \ | 
 |     -DALLOW_TIMERS=0 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=1 \ | 
 |     -DALLOW_WASM=0 -DPNACL_BROWSER_TRANSLATOR=1 | 
 | else | 
 |   CPP.Defines += -DALLOW_DUMP=1 -DALLOW_LLVM_CL=1 -DALLOW_LLVM_IR=1 \ | 
 |     -DALLOW_TIMERS=1 -DALLOW_LLVM_IR_AS_INPUT=1 -DALLOW_MINIMAL_BUILD=0 \ | 
 |     -DALLOW_WASM=0 -DPNACL_BROWSER_TRANSLATOR=0 | 
 |   CXX.Flags += -Wno-undefined-var-template | 
 | endif | 
 |  | 
 | CPP.Defines += -DPNACL_LLVM | 
 | # SUBZERO_SRC_ROOT should already be set, but if not, set to cwd. | 
 | SUBZERO_SRC_ROOT ?= . | 
 | SZ_COMMIT_COUNT := $(shell git -C $(SUBZERO_SRC_ROOT) rev-list --count HEAD) | 
 | SZ_GIT_HASH := $(shell git -C $(SUBZERO_SRC_ROOT) rev-parse HEAD) | 
 | CPP.Defines += -DSUBZERO_REVISION=$(SZ_COMMIT_COUNT)_$(SZ_GIT_HASH) |