# 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. include $(LEVEL)/Makefile.config # Typical compilation flags for Objective C examples ifeq ($(HAS_OBJC),yes) IOSFLAGS=-isysroot $(SDKPATH) -mios-simulator-version-min=8.2 -target x86_64-apple-darwin14 -fobjc-arc \ -Wno-unused-command-line-argument \ -Wno-objc-property-implementation endif # we assume that the targeted clang was configured with --enable-libcpp --enable-cxx14 CFLAGS_Darwin+=-stdlib=libc++ -std=c++14 LDFLAGS_Darwin+=-stdlib=libc++ CFLAGS_Linux+=-std=c++14 -fPIC LDFLAGS_Linux+= override CFLAGS+=$(CFLAGS_$(shell uname)) -g override LDFLAGS+=$(LDFLAGS_$(shell uname)) override CFLAGS+=$(CLANG_INCLUDES:%=-I%) -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-uninitialized -Wno-missing-field-initializers -Wno-vla-extension -Wno-c99-extensions ifdef DEBUG override CFLAGS+=-DDEBUG export VERBOSE:=1 SHELL=bash -O nullglob else override CFLAGS+=-O3 -DNDEBUG override LDFLAGS+=-O3 # early exit when tests fail SHELL=bash -e -O nullglob endif # project headers (if any) HEADERS?= # test runner RUNTEST=$(LEVEL)/scripts/run_test.sh LDFLAGS_DYLIB=$(LDFLAGS) LDFLAGS_DYLIB+=-Wl,-rpath -Wl,@executable_path/../lib -Wl,-undefined,dynamic_lookup -Wl,-flat_namespace -Wl,-undefined,suppress -dynamiclib -shared CLANG_TOOL_LIBS := \ -lclangFrontend \ -lclangIndex \ -lclangSerialization \ -lclangDriver \ -lclangTooling \ -lclangCodeGen \ -lclangParse \ -lclangSema \ -lclangAnalysis \ -lclangRewriteFrontend \ -lclangRewrite \ -lclangEdit \ -lclangAST \ -lclangLex \ -lclangBasic # Local Variables: # mode: makefile # End: