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.

77 lines
1.7 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.
.PHONY: default
default: exes
EXES = bin/sledge_cli
INSTALLS = sledge
DBG_TARGETS = $(patsubst %,_build/dbg/%.exe,$(EXES)) $(patsubst %,_build/dbg/%.install,$(INSTALLS))
TARGETS = $(DBG_TARGETS) $(subst dbg,dbg-opt,$(DBG_TARGETS)) $(subst dbg,opt,$(DBG_TARGETS)) _build/opt/sledge-help.txt
dune_build_dbg = dune build $(DBG_TARGETS)
dune_install_dbg = dune install --context=dbg --prefix=_build/_install/dbg sledge 2>/dev/null
dune_build_dbg_opt = $(subst dbg,dbg-opt,$(dune_build_dbg))
dune_install_dbg_opt = $(subst dbg,dbg-opt,$(dune_install_dbg))
dune_build_opt = $(subst dbg,opt,$(dune_build_dbg))
dune_install_opt = $(subst dbg,opt,$(dune_install_dbg))
.PHONY: check
check:
dune build @check
.PHONY: exes
exes:
dune build $(TARGETS)
$(dune_install_dbg)
$(dune_install_dbg_opt)
$(dune_install_opt)
.PHONY: dbg
dbg:
$(dune_build_dbg)
$(dune_install_dbg)
.PHONY: dbg-opt
dbg-opt:
$(dune_build_dbg_opt)
$(dune_install_dbg_opt)
.PHONY: opt
opt:
$(dune_build_opt)
$(dune_install_opt)
.PHONY: watch
watch:
dune build --watch --terminal-persistence=clear-on-rebuild $(TARGETS)
.PHONY: test
test:
-dune build @_build/dbg/runtest --auto-promote
dune build @_build/dbg/fmt --auto-promote 2>/dev/null
.PHONY: ci-test
ci-test:
dune build @_build/dbg/runtest
.PHONY: clean
clean:
dune clean
.PHONY: fmt
fmt:
-dune build @_build/dbg/fmt --auto-promote 2>/dev/null
clang-format -i model/llair_intrinsics.h model/cxxabi.cpp
${MAKE} -C test fmt
# print any variable for Makefile debugging
print-%:
@printf '$*='; printf '$($*)'; printf '\n'