diff --git a/Makefile b/Makefile index 2ccea60cc1d021076dac48dbddf718971b82f8ab..f75e5b8eee1172ad4807b998ed8abfcd654b7042 100644 --- a/Makefile +++ b/Makefile @@ -577,12 +577,12 @@ OPT_LIBS+= zarith.cmxa INCLUDES+= -I $(ZARITH_PATH) src/libraries/stdlib/integer.ml: \ src/libraries/stdlib/integer.zarith.ml share/Makefile.config - $(REPLACE) $< $@ + $(CP_IF_DIFF) $< $@ $(CHMOD_RO) $@ else src/libraries/stdlib/integer.ml: \ src/libraries/stdlib/integer.bigint.ml share/Makefile.config - $(REPLACE) $< $@ + $(CP_IF_DIFF) $< $@ $(CHMOD_RO) $@ endif GENERATED += src/libraries/stdlib/integer.ml @@ -600,7 +600,7 @@ ifeq ($(USABLE_NATIVE_DYNLINK),yes) # native dynlink works src/libraries/stdlib/FCDynlink.ml: \ src/libraries/stdlib/dynlink_native_ok.ml share/Makefile.config - $(REPLACE) $< $@ + $(CP_IF_DIFF) $< $@ $(CHMOD_RO) $@ else # native dynlink doesn't work @@ -608,7 +608,7 @@ else # native dynlink doesn't work ifeq ($(NATIVE_DYNLINK),yes) # native dynlink does exist but doesn't work src/libraries/stdlib/lib/FCDynlink.ml: \ src/libraries/stdlib/dynlink_native_ko.ml share/Makefile.config - $(REPLACE) $< $@ + $(CP_IF_DIFF) $< $@ $(CHMOD_RO) $@ else # no dynlink at all (for instance no native compiler) @@ -616,7 +616,7 @@ else # no dynlink at all (for instance no native compiler) # Just for ocamldep src/libraries/stdlib/FCDynlink.ml: \ src/libraries/stdlib/dynlink_native_ok.ml share/Makefile.config - $(REPLACE) $< $@ + $(CP_IF_DIFF) $< $@ $(CHMOD_RO) $@ # Add two different rules for bytecode and native since @@ -624,14 +624,14 @@ src/libraries/stdlib/FCDynlink.ml: \ src/libraries/stdlib/FCDynlink.cmo: \ src/libraries/stdlib/dynlink_native_ok.ml share/Makefile.config - $(REPLACE) $< src/libraries/stdlib/FCDynlink.ml + $(CP_IF_DIFF) $< src/libraries/stdlib/FCDynlink.ml $(CHMOD_RO) src/libraries/stdlib/FCDynlink.ml $(PRINT_OCAMLC) $@ $(OCAMLC) -c $(BFLAGS) src/libraries/stdlib/FCDynlink.ml src/libraries/stdlib/FCDynlink.cmx: \ src/libraries/stdlib/dynlink_no_native.ml share/Makefile.config - $(REPLACE) $< src/libraries/stdlib/FCDynlink.ml + $(CP_IF_DIFF) $< src/libraries/stdlib/FCDynlink.ml $(CHMOD_RO) src/libraries/stdlib/FCDynlink.ml $(PRINT_OCAMLOPT) $@ $(OCAMLOPT) -c $(OFLAGS) src/libraries/stdlib/FCDynlink.ml @@ -1030,8 +1030,7 @@ PLUGIN_OFLAGS:= $(shell ocamlfind query -i-format -r apron.octMPQ apron.boxMPQ a # PLUGIN_EXTRA_OPT := $(shell ocamlfind query -a-format apron.apron apron.octMPQ gmp -predicates native) src/plugins/value/domains/apron/apron_domain.ml: \ src/plugins/value/domains/apron/apron_domain.ok.ml share/Makefile.config - $(PRINT_CP) $@ - $(REPLACE) $< $@ + $(CP_IF_DIFF) $< $@ $(CHMOD_RO) $@ else PLUGIN_REQUIRES:= @@ -1039,8 +1038,7 @@ PLUGIN_BFLAGS:= PLUGIN_OFLAGS:= src/plugins/value/domains/apron/apron_domain.ml: \ src/plugins/value/domains/apron/apron_domain.ko.ml share/Makefile.config - $(PRINT_CP) $@ - $(REPLACE) $< $@ + $(CP_IF_DIFF) $< $@ $(CHMOD_RO) $@ endif GENERATED += src/plugins/value/domains/apron/apron_domain.ml diff --git a/Makefile.generating b/Makefile.generating index 53454d1fa4bae88ab04cb02a090cde253df8d03e..43c527fa7d12f82f3d3f06e1d3d868f463b93ab0 100644 --- a/Makefile.generating +++ b/Makefile.generating @@ -91,7 +91,7 @@ $(CONFIG_FILE): $(CONFIG_FILE).in VERSION share/Makefile.config Makefile.generat -e "s|@EXE@|$(EXE)|" \ $< > $@.tmp @touch -r $@.tmp $< - $(REPLACE) $@.tmp $@ + $(CP_IF_DIFF) $@.tmp $@ $(RM) $@.tmp $(CHMOD_RO) $@ diff --git a/share/Makefile.common b/share/Makefile.common index 72064a88209e1cbd6df61f8bb219dc287bc8ef66..b3e4382ad66a627afee0e3b9cca5427c44f34272 100644 --- a/share/Makefile.common +++ b/share/Makefile.common @@ -157,10 +157,10 @@ CHMOD_RW= sh -c \ if test -e $$f; then chmod u+w $$f; fi \ done' chmod_rw CP = install -REPLACE = sh -c \ +CP_IF_DIFF = sh -c \ 'if cmp -s $$1 $$2; \ then touch -r $$2 $$1; \ - else echo "Generating $$2"; install $$1 $$2; fi' replace + else echo "Generating $$2"; install $$1 $$2; fi' cpifdiff #follow symbolic link CP_L = cp -fL ECHO = echo