|
|
|
# Copyright (c) Facebook, Inc. and its affiliates.
|
|
|
|
#
|
|
|
|
# This source code is licensed under the MIT license found in the
|
|
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
|
|
|
|
# Template configuration file for make.
|
|
|
|
# You may use $(LEVEL) to refer to the directory containing this file.
|
|
|
|
|
|
|
|
# --- targeted clang compiler ----
|
|
|
|
|
|
|
|
# Where to find clang installation directories
|
|
|
|
CLANG_PREFIX?=$(LEVEL)/clang/install
|
|
|
|
# Where to find clang headers (possibly a list, see below)
|
|
|
|
CLANG_INCLUDES?=$(CLANG_PREFIX)/include
|
|
|
|
|
|
|
|
# example of alternative paths to compile and load the plugin into a locally compiled, not yet installed llvm/clang
|
|
|
|
#CLANG_PREFIX=llvm-build/Debug+Asserts
|
|
|
|
#CLANG_INCLUDES=llvm/tools/clang/include llvm-build/tools/clang/include llvm-build/include llvm/include
|
|
|
|
|
|
|
|
# target compiler, must match the exact same version of clang as the include files
|
|
|
|
CLANG?=$(CLANG_PREFIX)/bin/clang
|
|
|
|
|
|
|
|
LLVM_CXXFLAGS?=`$(CLANG_PREFIX)/bin/llvm-config --cxxflags 2>/dev/null || true`
|
|
|
|
LLVM_LDFLAGS?=`$(CLANG_PREFIX)/bin/llvm-config --ldflags --libs --system-libs 2>/dev/null || true`
|
|
|
|
|
|
|
|
# --- local clang compiler ---
|
|
|
|
|
|
|
|
# Which compiler to use to compile the plugin themselves.
|
|
|
|
LOCAL_CLANG?=clang
|
|
|
|
CC=$(LOCAL_CLANG)
|
|
|
|
CXX=$(LOCAL_CLANG)++
|
|
|
|
|
|
|
|
# Which preprocessor to use to extract ATD comments from cpp files.
|
|
|
|
# @requires clang >= 3.4 (The nonstandard part here is that we want to expand doc-comments contained in macros.)
|
|
|
|
ATD_CPP?=$(LOCAL_CLANG) -cc1 -E -traditional-cpp -w -P -main-file-name - -o -
|
|
|
|
|
|
|
|
# Which preprocessor to use on ocaml "pre-source" files.
|
|
|
|
OCAML_CPP?=$(LOCAL_CLANG) -cc1 -E -P -x c -main-file-name - -o -
|
|
|
|
|
|
|
|
# --- Objective C ---
|
|
|
|
|
|
|
|
# Which SDK to use (if any)
|
|
|
|
SDKPATH?=$(shell ls -d "`xcode-select --print-path 2> /dev/null`"/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator*.sdk 2> /dev/null | sort -r | head -n 1 || true)
|
|
|
|
|
|
|
|
ifeq ($(SDKPATH),)
|
|
|
|
HAS_OBJC=no
|
|
|
|
else
|
|
|
|
HAS_OBJC=yes
|
|
|
|
endif
|