You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.0 KiB

# 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)
ROOT?=..
LIBCXXABI=$(ROOT)/vendor/llvm-dune/llvm-project/libcxxabi
llvm-config=$(shell opam config var conf-llvm:config)
LLVM_BIN=$(shell ${llvm-config} --bindir)
LLVM_INCLUDE=$(shell ${llvm-config} --includedir)
LLVM_CFLAGS=$(shell ${llvm-config} --cflags)
LLVM_CXXFLAGS=$(shell ${llvm-config} --cxxflags)
default: cxxabi.bc lib_fuzzer_main.bc
cxxabi.bc : cxxabi.cpp
$(LLVM_BIN)/clang $(LLVM_CXXFLAGS) $(CLANG_ARGS) -D_LIBCXXABI_HAS_NO_THREADS -I$(LIBCXXABI)/include -I$(LIBCXXABI)/src -c -emit-llvm cxxabi.cpp
lib_fuzzer_main.bc : lib_fuzzer_main.c
$(LLVM_BIN)/clang $(LLVM_CFLAGS) $(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'