summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoru <u@billy>2022-11-28 23:41:39 -0500
committeru <u@billy>2022-11-28 23:41:39 -0500
commit4facb7f7dc9542db0bb23648a6c113082517c8b8 (patch)
treeda71c1443bc0ce08ecb94a6725ec2473f28ee43d
parent1aecd5e746cd23e0ec0332b4f0f9ea580899fd04 (diff)
automatically acquire root through sudo if possibleHEADmaster
-rwxr-xr-xMakefile24
1 files changed, 17 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 374c2a5..3900162 100755
--- a/Makefile
+++ b/Makefile
@@ -17,8 +17,16 @@ endif
17endif 17endif
18endif 18endif
19 19
20sudo != printf '%s\n' $$(groups) | grep -F sudo
21
22.DEFAULT_GOAL = install
20ifeq (0,$(shell id -u)) 23ifeq (0,$(shell id -u))
21ROOT_INSTALL = y 24ROOT_INSTALL = y
25else
26ifneq (,$(sudo))
27ROOT_INSTALL = y
28.DEFAULT_GOAL = install-sudo
29endif
22endif 30endif
23 31
24ifdef ROOT_INSTALL 32ifdef ROOT_INSTALL
@@ -51,23 +59,25 @@ tempdir=$(destdir)~tmp
51 59
52symlink=$(optdir)/firefox 60symlink=$(optdir)/firefox
53desktop_file=$(applications_dir)/firefox.desktop 61desktop_file=$(applications_dir)/firefox.desktop
54global_symlink=$(bindir)/firefox 62bin_symlink=$(bindir)/firefox
55
56.DEFAULT_GOAL = install
57 63
58install_targets = $(symlink) $(global_symlink) $(desktop_file) $(alternatives) 64install_targets = $(symlink) $(bin_symlink) $(alternatives)
59.PHONY: install beta nightly stable $(install_targets) 65.PHONY: install beta nightly stable $(install_targets)
60ifndef UPDATE 66ifndef UPDATE
61# 'sudo make UPDATE=y' is suitable to run from cron (no output if nothing 67# 'sudo make UPDATE=y' is suitable to run from cron (no output if nothing
62# changed upstream) 68# changed upstream)
63install: $(install_targets) 69install: $(install_targets)
70install-sudo:
71 $(sudo) $(MAKE) $(MAKEFLAGS) $(MAKECMDGOALS)
64else 72else
65maybe_symlink := $(if $(shell [ "$$(readlink $(symlink))" != "$(notdir $(destdir))" ] && echo y),$(symlink)) 73install-sudo:
74 @$(sudo) $(MAKE) $(MAKEFLAGS) $(MAKECMDGOALS)
75maybe_symlink != [ "$$(readlink $(symlink))" != "$(notdir $(destdir))" ] && printf '%%s\n' "$$(symlink)"
66install: $(maybe_symlink) 76install: $(maybe_symlink)
67 @: 77 @:
68endif 78endif
69 79
70$(global_symlink): 80$(bin_symlink):
71 mkdir -p $(dir $@) 81 mkdir -p $(dir $@)
72 ln -sf $(optdir)/firefox/firefox $(dir $@) 82 ln -sf $(optdir)/firefox/firefox $(dir $@)
73 83
@@ -84,7 +94,7 @@ endif
84$(symlink): $(destdir) 94$(symlink): $(destdir)
85 ln -srnf $(destdir) $@ 95 ln -srnf $(destdir) $@
86 96
87beta nightly stable: install 97beta nightly stable: $(.DEFAULT_GOAL)
88 98
89$(destdir): $(tarball) 99$(destdir): $(tarball)
90 mkdir -p $(tempdir) 100 mkdir -p $(tempdir)