diff options
author | Malfurious <m@lfurio.us> | 2021-08-02 16:48:24 -0400 |
---|---|---|
committer | Malfurious <m@lfurio.us> | 2021-08-02 16:48:24 -0400 |
commit | 4266e06e1c0962715ee98f79675d6a4c459ddeef (patch) | |
tree | c67d7058db441c93e50cc892a489a972ab4266bf | |
parent | da5a7df1c0b321049dbceff18ecd5c0bfd9c1b3d (diff) | |
download | git-sonar-4266e06e1c0962715ee98f79675d6a4c459ddeef.tar.gz git-sonar-4266e06e1c0962715ee98f79675d6a4c459ddeef.zip |
Rewrite Makefile
The Makefile is updated to deal with the single 'git-sonar' file only,
now that the others have been merged into it.
Additionally, several issues have been fixed with the file, including:
* Now easier to override the PREFIX variable (install location)
* PWD works properly when running make with sudo
* Install now default to system-wide
* bin directory now explicitly created if it doesn't exist
A specific problem corrected by this patch is that `PREFIX=$HOME/.local
make install` on a fresh system will no longer result in the script
being copied to the _regular file_ $HOME/.local/bin, because bin did not
exist.
Signed-off-by: Malfurious <m@lfurio.us>
-rw-r--r-- | Makefile | 48 |
1 files changed, 20 insertions, 28 deletions
@@ -1,35 +1,27 @@ -SOURCES=git-sonar sonar-base.sh prompt.zsh prompt.bash fetch.sh -PREFIX=$(HOME)/.local +SOURCE=git-sonar +PREFIX?=/usr/local +PWD=$(shell pwd) + +.PHONY: all install develop all: - @echo 'Simple Install script for *git-sonar* ' - @echo 'For a normal installation for your user only use:' - @echo ' make install' - @echo '' - @echo 'If you want to install *git-sonar* system wide you should change' - @echo 'the prefix' + @echo 'Simple install script for *git-sonar*' @echo '' - @echo ' PREFIX=/usr/local/bin make install' + @echo 'For a normal installation into /usr/local, use:' + @echo ' make install' @echo '' - @echo 'For a development install (symlinking files) do:' + @echo 'For a development install (symlinked files), use:' + @echo ' make develop' @echo '' - @echo ' make develop' - -.PHONY: install develop - -install: $(SOURCES) - @echo 'Installing in ' $(PREFIX)/bin - cp git-sonar $(PREFIX)/bin - cp sonar-base.sh $(PREFIX)/bin - cp prompt.zsh $(PREFIX)/bin - cp prompt.bash $(PREFIX)/bin - cp fetch.sh $(PREFIX)/bin + @echo 'If you want to install *git-sonar* for your user only:' + @echo ' PREFIX=$$HOME/.local make install' +install: $(SOURCE) + @echo 'Installing in' $(PREFIX)/bin '...' + mkdir -p $(PREFIX)/bin + cp $(PWD)/$(SOURCE) $(PREFIX)/bin -develop: $(SOURCES) - @echo 'Symlinking in ' $(PREFIX)/bin - ln -s $(PWD)/git-sonar $(PREFIX)/bin/git-sonar - ln -s $(PWD)/sonar-base.sh $(PREFIX)/bin/sonar-base.sh - ln -s $(PWD)/prompt.zsh $(PREFIX)/bin/prompt.zsh - ln -s $(PWD)/prompt.bash $(PREFIX)/bin/prompt.bash - ln -s $(PWD)/fetch.sh $(PREFIX)/bin/fetch.sh +develop: $(SOURCE) + @echo 'Symlinking in' $(PREFIX)/bin '...' + mkdir -p $(PREFIX)/bin + ln -sf $(PWD)/$(SOURCE) $(PREFIX)/bin |