Use command "install -m ..." instead "cp" in many occasions.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Sat, 02 Jan 2021 00:45:33 +0200
changeset 1667 7f70095fbf32
parent 1666 06937ff1ec5f
child 1668 1d87a245ab55
Use command "install -m ..." instead "cp" in many occasions.
Makefile
--- a/Makefile	Sat Jan 02 00:33:04 2021 +0200
+++ b/Makefile	Sat Jan 02 00:45:33 2021 +0200
@@ -133,8 +133,7 @@
 
 .PHONY: install-all
 install-all: install
-	cp .emacs-pre $(emacsdir)/.emacs-pre
-	cp .emacs-post $(emacsdir)/.emacs-post
+	install -m 0644 -t $(emacsdir) .emacs-pre .emacs-post
 
 define cleanup_mylispdir
   find $(mylispdir) -type f '(' -name '*.el' -o -name '*.elc' -o -name '*~' ')' -exec rm {} ';'
@@ -145,17 +144,15 @@
 	mkdir -p $(mylispdir)
 	echo $(COMPAT_VER) >$(COMPAT_FILE)
 	$(cleanup_mylispdir)
-	for file in .emacs-pre .emacs-post; do \
-		[ -f $(emacsdir)/$$file ] || cp $$file $(emacsdir)/$$file; \
+	for f in .emacs-pre .emacs-post; do \
+		[[ -f $(emacsdir)/$$f ]] || install -m 0644 $$f $(emacsdir)/$$f; \
 	done
-	\
-cp .emacs-defs init.el .emacs-my $(emacsdir)
-	\
-mkdir -p $(emacsdir)/server $(HOME)/.gnus/scores; \
-cp all.SCORE $(HOME)/.gnus/scores
+	install -m 0644 -t $(emacsdir) .emacs-defs init.el .emacs-my
+	mkdir -p $(emacsdir)/server $(HOME)/.gnus/scores
+	install -m 0644 -t $(HOME)/.gnus/scores all.SCORE
 	$(SHELL) .emacs-autogen.sh $(emacsdir)/.emacs-autogen
 	\
-cp -f $(EL_FILES) $(mylispdir); \
+install -m 0644 -t $(mylispdir) $(EL_FILES); \
 $(EMACS) --batch -Q --eval='(progn (setq generated-autoload-file "$(mylispdir)/loaddefs.el") (update-directory-autoloads "$(mylispdir)"))'
 	\
 $(EMACS) --batch --load "$(curdir)/.emacs-defs" -f 'my-load.add-my-loadpaths' --load "$(emacsdir)/.emacs-pre" \