diff --git a/.gitignore b/.gitignore index 132ad480e..aa45bb52b 100644 --- a/.gitignore +++ b/.gitignore @@ -75,14 +75,8 @@ buck-out/ .buckd/ #other -/infer/bin/InferAnalyze -/infer/bin/InferClang -/infer/bin/InferClang++ -/infer/bin/InferPrint - -/infer/bin/InferUnit -/infer/bin/Typeprop -/infer/bin/infer +/infer/bin + /infer/src/base/Version.ml /infer/models/java/models/ /infer/models/java/models.jar diff --git a/Makefile b/Makefile index eac460ce9..7fd81dce4 100644 --- a/Makefile +++ b/Makefile @@ -55,8 +55,17 @@ ifeq ($(IS_FACEBOOK_TREE),yes) @$(MAKE) -C facebook setup endif @$(MAKE) -C $(SRC_DIR) infer + +.PHONY: byte +byte: +ifeq ($(IS_FACEBOOK_TREE),yes) + @$(MAKE) -C facebook setup +endif + @$(MAKE) -C $(SRC_DIR) byte + ifeq ($(BUILD_C_ANALYZERS),yes) src_build: clang_plugin +byte: clang_plugin endif .PHONY: infer diff --git a/infer/src/Makefile b/infer/src/Makefile index d886fe626..cd72cf29d 100644 --- a/infer/src/Makefile +++ b/infer/src/Makefile @@ -181,7 +181,7 @@ $(BIN_DIR): Makefile $(MKDIR_P) $@ @touch $@ -$(INFER_BIN): $(INFER_BUILD_DIR)/$(INFER_MAIN).native $(BIN_DIR) +$(INFER_BIN).native: $(INFER_BUILD_DIR)/$(INFER_MAIN).native $(BIN_DIR) $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFERANALYZE_MAIN).native $(INFERANALYZE_BIN) $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFERPRINT_MAIN).native $(INFERPRINT_BIN) $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFERUNIT_MAIN).native $(INFERUNIT_BIN) @@ -189,9 +189,10 @@ ifeq ($(BUILD_C_ANALYZERS),yes) $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFERCLANG_MAIN).native $(INFERCLANG_BIN) endif $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFER_MAIN).native $(INFER_BIN) + $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFER_MAIN).native $(INFER_BIN).native .PHONY: infer -infer: $(INFER_BIN) +infer: $(INFER_BIN).native ifeq ($(BUILD_C_ANALYZERS),yes) infer: $(CLANG_BINIOU_DICT) @@ -201,8 +202,18 @@ $(INFER_BUILD_DIR)/$(INFER_MAIN).byte: base/Version.ml $(BUILD_DIR) $(OCAML_ALL_ $(OCAMLBUILD_ALL) -build-dir $(INFER_BUILD_DIR) $(INFER_ALL_TARGETS:.native=.byte) @touch $@ +$(INFER_BIN).byte: $(INFER_BUILD_DIR)/$(INFER_MAIN).byte $(BIN_DIR) + $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFERANALYZE_MAIN).byte $(INFERANALYZE_BIN) + $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFERPRINT_MAIN).byte $(INFERPRINT_BIN) + $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFERUNIT_MAIN).byte $(INFERUNIT_BIN) +ifeq ($(BUILD_C_ANALYZERS),yes) + $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFERCLANG_MAIN).byte $(INFERCLANG_BIN) +endif + $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFER_MAIN).byte $(INFER_BIN) + $(INSTALL_PROGRAM) $(INFER_BUILD_DIR)/$(INFER_MAIN).byte $(INFER_BIN).byte + .PHONY: byte -byte: $(INFER_BUILD_DIR)/$(INFER_MAIN).byte +byte: $(INFER_BIN).byte # to build only the single module (and its dependencies) with extra flags execute: # make MFLAGS= M=.cm{o,x} module