diff --git a/.gitignore b/.gitignore index bce6fca4c..ae38add62 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,7 @@ duplicates.txt /Makefile.autoconf /.buckversion /*/.gitignore +/*/*/.gitignore # IntelliJ files /scripts/.idea/ diff --git a/sledge/.gitignore b/sledge/.gitignore index 962fb543d..f5a70988c 100644 --- a/sledge/.gitignore +++ b/sledge/.gitignore @@ -1,4 +1,5 @@ .merlin +/bin/ /llvm/ /model/cxxabi.bc /src/dune diff --git a/sledge/Makefile b/sledge/Makefile index 93fcc6c44..e74b85b70 100644 --- a/sledge/Makefile +++ b/sledge/Makefile @@ -6,8 +6,20 @@ .PHONY: default default: exes -DUNEINS=$(shell find src -name dune.in) -DUNES=$(patsubst %.in,%,$(DUNEINS)) +EXES = src/sledge +INSTALLS = sledge + +facebook/Makefile: + -@${MAKE} -s -C ../facebook setup + -@${MAKE} -s -C facebook + +-include facebook/Makefile + +DBG_TARGETS = $(patsubst %,_build/dev/%.exe,$(EXES)) $(patsubst %,_build/dev/%.install,$(INSTALLS)) +OPT_TARGETS = $(patsubst %,_build/release/%.exe,$(EXES)) $(patsubst %,_build/release/%.install,$(INSTALLS)) + +DUNEINS = $(shell find src facebook -name dune.in) +DUNES = $(patsubst %.in,%,$(DUNEINS)) .PHONY: dunes dunes: $(DUNES) @@ -16,7 +28,7 @@ dunes: $(DUNES) @cat $+ > $@ .PHONY: setup -setup: dunes +setup: facebook/Makefile dunes .PHONY: check check: setup @@ -24,25 +36,25 @@ check: setup .PHONY: exes exes: setup - dune build _build/dev/src/sledge.exe _build/release/src/sledge.exe _build/dev/sledge.install _build/release/sledge.install + dune build $(DBG_TARGETS) $(OPT_TARGETS) .PHONY: dbg dbg: setup - dune build _build/dev/src/sledge.exe _build/dev/sledge.install + dune build $(DBG_TARGETS) .PHONY: opt opt: setup - dune build _build/release/src/sledge.exe _build/release/sledge.install + dune build $(OPT_TARGETS) .PHONY: watch watch: setup - dune build --watch _build/dev/src/sledge.exe _build/release/src/sledge.exe + dune build --watch $(DBG_TARGETS) $(OPT_TARGETS) .PHONY: test test: setup dune build @_build/dev/runtest --auto-promote -BISECT_DIR=$(CURDIR)/_coverage/out +BISECT_DIR = $(CURDIR)/_coverage/out .PHONY: coverage coverage: setup diff --git a/sledge/bin/sledge.opt b/sledge/bin/sledge similarity index 100% rename from sledge/bin/sledge.opt rename to sledge/bin/sledge diff --git a/sledge/dune-project b/sledge/dune-project index b38208cca..54fee445b 100644 --- a/sledge/dune-project +++ b/sledge/dune-project @@ -1,2 +1,2 @@ (lang dune 1.1) -(using fmt 1.0) +(using fmt 1.1) diff --git a/sledge/sledge.opam b/sledge/sledge.opam index f440512f4..246d7279e 100644 --- a/sledge/sledge.opam +++ b/sledge/sledge.opam @@ -21,6 +21,7 @@ depends: [ "ppx_compare" "ppx_deriving_cmdliner" {>= "0.4.2"} "ppx_hash" + "shexp" "zarith" ] synopsis: "SLEdge analyzer"