Use command "install -m ..." instead "cp" in many occasions.
--- 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" \