# 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. # additional arguments to pass to clang OPT_ARGS?=-Os CLANG_ARGS?=-g $(OPT_ARGS) # select llvm and clang SWITCH?=$(shell opam switch show) ROOT?=.. LLVM=$(ROOT)/llvm/_install/$(SWITCH) LIBCXXABI=$(ROOT)/llvm/projects/libcxxabi PLATFORM=$(shell uname) ifeq ($(PLATFORM),Linux) CLANG_ARGS += --sysroot=/usr endif cxxabi.bc : cxxabi.cpp $(LLVM)/bin/clang $(CLANG_ARGS) -D_LIBCXXABI_HAS_NO_THREADS -I$(LLVM)/include/c++/v1 -I$(LIBCXXABI)/include -I$(LIBCXXABI)/src -c -emit-llvm cxxabi.cpp lib_fuzzer_main.bc : lib_fuzzer_main.c $(LLVM)/bin/clang $(CLANG_ARGS) -c -emit-llvm -o $@ $< clean: rm -f cxxabi.bc lib_fuzzer_main.bc fmt: clang-format -i *.h *.c *.cpp # print any variable for Makefile debugging print-%: @printf '$*='; printf '$($*)'; printf '\n'