1*7c3d14c8STreehugger Robot### 2*7c3d14c8STreehugger Robot# Configuration variables. 3*7c3d14c8STreehugger Robot 4*7c3d14c8STreehugger RobotOS := $(shell uname) 5*7c3d14c8STreehugger Robot 6*7c3d14c8STreehugger Robot# Assume make is always run from top-level of source directory. Note than an 7*7c3d14c8STreehugger Robot# Apple style build overrides these variables later in the makefile. 8*7c3d14c8STreehugger RobotProjSrcRoot := $(shell pwd) 9*7c3d14c8STreehugger RobotProjObjRoot := $(ProjSrcRoot) 10*7c3d14c8STreehugger Robot 11*7c3d14c8STreehugger Robot# The list of modules which are required to be built into every library. This 12*7c3d14c8STreehugger Robot# should only be used for internal utilities which could be used in any other 13*7c3d14c8STreehugger Robot# module. Any other cases the platform should be allowed to opt-in to. 14*7c3d14c8STreehugger RobotAlwaysRequiredModules := int_util 15*7c3d14c8STreehugger Robot 16*7c3d14c8STreehugger Robot### 17*7c3d14c8STreehugger Robot# Tool configuration variables. 18*7c3d14c8STreehugger Robot 19*7c3d14c8STreehugger Robot# FIXME: LLVM uses autoconf/mkinstalldirs ? 20*7c3d14c8STreehugger RobotMKDIR := mkdir -p 21*7c3d14c8STreehugger RobotDATE := date 22*7c3d14c8STreehugger RobotLIPO := lipo 23*7c3d14c8STreehugger RobotCP := cp 24*7c3d14c8STreehugger RobotDSYMUTIL := dsymutil 25*7c3d14c8STreehugger Robot 26*7c3d14c8STreehugger RobotVERBOSE := 0 27*7c3d14c8STreehugger RobotDEBUGMAKE := 28*7c3d14c8STreehugger Robot 29*7c3d14c8STreehugger Robot### 30*7c3d14c8STreehugger Robot# Automatic and derived variables. 31*7c3d14c8STreehugger Robot 32*7c3d14c8STreehugger Robot# Adjust settings for verbose mode 33*7c3d14c8STreehugger Robotifneq ($(VERBOSE),1) 34*7c3d14c8STreehugger Robot Verb := @ 35*7c3d14c8STreehugger Robotelse 36*7c3d14c8STreehugger Robot Verb := 37*7c3d14c8STreehugger Robotendif 38*7c3d14c8STreehugger Robot 39*7c3d14c8STreehugger RobotEcho := @echo 40*7c3d14c8STreehugger Robotifndef Summary 41*7c3d14c8STreehugger Robot Summary = $(Echo) 42*7c3d14c8STreehugger Robotendif 43*7c3d14c8STreehugger Robot 44*7c3d14c8STreehugger Robot### 45*7c3d14c8STreehugger Robot# Common compiler options 46*7c3d14c8STreehugger RobotCOMMON_INCLUDES=-I${ProjSrcRoot}/lib -I${ProjSrcRoot}/include 47*7c3d14c8STreehugger RobotCOMMON_CXXFLAGS=-std=c++11 -fno-exceptions -fPIC -funwind-tables $(COMMON_INCLUDES) 48*7c3d14c8STreehugger RobotCOMMON_CFLAGS=-fPIC $(COMMON_INCLUDES) 49*7c3d14c8STreehugger RobotCOMMON_ASMFLAGS=$(COMMON_INCLUDES) 50