diff options
-rwxr-xr-x | Makefile | 24 |
1 files changed, 17 insertions, 7 deletions
@@ -17,8 +17,16 @@ endif | |||
17 | endif | 17 | endif |
18 | endif | 18 | endif |
19 | 19 | ||
20 | sudo != printf '%s\n' $$(groups) | grep -F sudo | ||
21 | |||
22 | .DEFAULT_GOAL = install | ||
20 | ifeq (0,$(shell id -u)) | 23 | ifeq (0,$(shell id -u)) |
21 | ROOT_INSTALL = y | 24 | ROOT_INSTALL = y |
25 | else | ||
26 | ifneq (,$(sudo)) | ||
27 | ROOT_INSTALL = y | ||
28 | .DEFAULT_GOAL = install-sudo | ||
29 | endif | ||
22 | endif | 30 | endif |
23 | 31 | ||
24 | ifdef ROOT_INSTALL | 32 | ifdef ROOT_INSTALL |
@@ -51,23 +59,25 @@ tempdir=$(destdir)~tmp | |||
51 | 59 | ||
52 | symlink=$(optdir)/firefox | 60 | symlink=$(optdir)/firefox |
53 | desktop_file=$(applications_dir)/firefox.desktop | 61 | desktop_file=$(applications_dir)/firefox.desktop |
54 | global_symlink=$(bindir)/firefox | 62 | bin_symlink=$(bindir)/firefox |
55 | |||
56 | .DEFAULT_GOAL = install | ||
57 | 63 | ||
58 | install_targets = $(symlink) $(global_symlink) $(desktop_file) $(alternatives) | 64 | install_targets = $(symlink) $(bin_symlink) $(alternatives) |
59 | .PHONY: install beta nightly stable $(install_targets) | 65 | .PHONY: install beta nightly stable $(install_targets) |
60 | ifndef UPDATE | 66 | ifndef 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) |
63 | install: $(install_targets) | 69 | install: $(install_targets) |
70 | install-sudo: | ||
71 | $(sudo) $(MAKE) $(MAKEFLAGS) $(MAKECMDGOALS) | ||
64 | else | 72 | else |
65 | maybe_symlink := $(if $(shell [ "$$(readlink $(symlink))" != "$(notdir $(destdir))" ] && echo y),$(symlink)) | 73 | install-sudo: |
74 | @$(sudo) $(MAKE) $(MAKEFLAGS) $(MAKECMDGOALS) | ||
75 | maybe_symlink != [ "$$(readlink $(symlink))" != "$(notdir $(destdir))" ] && printf '%%s\n' "$$(symlink)" | ||
66 | install: $(maybe_symlink) | 76 | install: $(maybe_symlink) |
67 | @: | 77 | @: |
68 | endif | 78 | endif |
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 | ||
87 | beta nightly stable: install | 97 | beta nightly stable: $(.DEFAULT_GOAL) |
88 | 98 | ||
89 | $(destdir): $(tarball) | 99 | $(destdir): $(tarball) |
90 | mkdir -p $(tempdir) | 100 | mkdir -p $(tempdir) |