summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2010-05-03 13:36:20 +0200
committerhut <hut@lavabit.com>2010-05-03 23:58:07 +0200
commitb0a216f59a7770f5ce35f4a56b5055c51ceec284 (patch)
tree5a5f58cf901bf55e8d47ba3d2fcfe91ae73b8094
parentcb116bf0dc119977f69f3146c786b09315ac9c50 (diff)
downloadranger-b0a216f59a7770f5ce35f4a56b5055c51ceec284.tar.gz
Makefile: cleaned up, added automatic uninstall
-rw-r--r--Makefile115
1 files changed, 57 insertions, 58 deletions
diff --git a/Makefile b/Makefile
index 05c565e6..bef340ec 100644
--- a/Makefile
+++ b/Makefile
@@ -2,37 +2,74 @@ NAME = ranger
 VERSION = 1.0.4
 PYTHON ?= python
 DOCDIR ?= doc/pydoc
-PREFIX ?= /usr/local
+PREFIX ?= /usr
+MANPREFIX ?= /share/man
 PYTHONOPTIMIZE ?= 2
 CWD = $(shell pwd)
-EDITOR ?= vim
-DEST ?= $(shell $(PYTHON) -c 'import sys; sys.stdout.write( \
-	[p for p in sys.path if "site" in p][0])' 2> /dev/null)/ranger
+PYTHON_SITE_DEST ?= $(shell $(PYTHON) -c 'import sys; sys.stdout.write( \
+	[p for p in sys.path if "site" in p][0])' 2> /dev/null)
 
-.PHONY: all compile clean doc cleandoc edit push test commit \
-	install uninstall info snapshot minimal_snapshot
+default: test compile
+	@echo 'Run `make options` for a list of all options'
 
-info:
-	@echo 'This makefile provides shortcuts for common tasks.'
-	@echo 'make clean: Remove all unnecessary files (.pyc, .pyo)'
-	@echo 'make cleandoc: Remove the pydoc documentation'
+options: help
+	@echo
+	@echo 'Options:'
+	@echo 'PYTHON = $(PYTHON)'
+	@echo 'PYTHONOPTIMIZE = $(PYTHONOPTIMIZE)'
+	@echo 'PYTHON_SITE_DEST = $(PYTHON_SITE_DEST)'
+	@echo 'PREFIX = $(PREFIX)'
+	@echo 'MANPREFIX = $(MANPREFIX)'
+	@echo 'DOCDIR = $(DOCDIR)'
+
+help:
+	@echo 'make: Compile $(NAME)'
 	@echo 'make doc: Create the pydoc documentation'
 	@echo 'make install: Install ranger'
+	@echo 'make clean: Remove the compiled files (*.pyc, *.pyo)'
+	@echo 'make cleandoc: Remove the pydoc documentation'
+	@echo 'make uninstall: Uninstall ranger'
 	@echo 'make snapshot: Create a tar.gz of the current git revision'
-	@echo
-	@echo 'For developers:'
-	@echo 'make commit: Test and commit the changes'
 	@echo 'make test: Run all unittests.'
-	@echo 'make push: push the changes via git'
-	@echo 'make edit: open all relevant files in your editor'
 
-all: test install
+all: test compile install
+
+install:
+	@if [ '$(PYTHON_SITE_DEST)' == '' ]; then \
+		echo -n 'Cannot find a suitable destination for the files.'; \
+		echo '  Please install $(NAME) manually.'; \
+		false; \
+	fi
+	@echo "Installing $(NAME) version $(VERSION)..."
+	@mkdir -p $(PREFIX)/bin
+	cp -f ranger.py $(PREFIX)/bin/ranger
+	@mkdir -p $(PYTHON_SITE_DEST)
+	cp -fruT ranger $(PYTHON_SITE_DEST)/ranger
+	@chmod 755 $(PREFIX)/bin/ranger
+	@chmod -R +rX $(PYTHON_SITE_DEST)/ranger
+	@mkdir -p $(PREFIX)$(MANPREFIX)/man1
+	cp -f doc/ranger.1 $(PREFIX)$(MANPREFIX)/man1/ranger.1
+	@chmod 644 $(PREFIX)$(MANPREFIX)/man1/ranger.1
+
+uninstall:
+	rm -f $(PREFIX)/bin/ranger
+	rm -f '$(PREFIX)$(MANPREFIX)/man1/ranger.1'
+	@if [ '$(PYTHON_SITE_DEST)' == '' ]; then \
+		echo 'Cannot find a possible location of rangers library files'; \
+		false; \
+	fi
+	rm -rf '$(PYTHON_SITE_DEST)/ranger/*'
+	@echo 'NOTE: By default, configuration files are stored at "~/.ranger".'
+	@echo 'This script will not delete those.'
 
 compile: clean
 	@echo 'Compiling...'
 	python -m compileall -q ranger
 	PYTHONOPTIMIZE=$(PYTHONOPTIMIZE) python -m compileall -q ranger
 
+clean:
+	find . -regex .\*.py[co]\$$ -exec rm -f -- {} \;
+
 doc: cleandoc
 	mkdir -p $(DOCDIR)
 	cd $(DOCDIR); \
@@ -40,53 +77,15 @@ doc: cleandoc
 		sys.path[0] = "$(CWD)"; \
 		pydoc.writedocs("$(CWD)")'
 
-uninstall:
-	@echo 'To uninstall ranger, please remove these files:'
-	@echo $(DEST)'/*'
-	@echo $(PREFIX)'/bin/ranger'
-	@echo 'and optionally the config files at:'
-	@echo '~/.ranger'
-
-install: compile
-	@if [ '$(DEST)' == '/ranger' ]; then \
-		echo 'Cannot find a suitable destination for the files.'; \
-		false; \
-	fi
-	@echo "Installing..."
-	cp ranger.py $(PREFIX)/bin/ranger
-	cp -ruT ranger $(DEST)
-	chmod 755 $(PREFIX)/bin/ranger
-	chmod -R +rX $(DEST)
-	@echo '--------------------------------------'
-	@echo 'Finished.'
-	@echo 'If you use BASH or ZSH, you can activate an extra feature now:'
-	@echo 'When you exit ranger, the directory of the current shell can be'
-	@echo 'changed to the last visited directory in ranger.  To do so, add'
-	@echo 'this alias to your shell rc file (like ~/.bashrc):'
-	@echo 'alias rng="source ranger ranger"'
-	@echo 'And run ranger by typing rng.'
-
-
 cleandoc:
 	test -d $(DOCDIR) && rm -f -- $(DOCDIR)/*.html
 
-clean:
-	find . -regex .\*.py[co]\$$ -exec rm -f -- {} \;
-
 test:
 	./all_tests.py 1
-
-edit:
-	@$(EDITOR) ranger.py Makefile README COPYING HACKING INSTALL $(shell find ranger test -regex .\*py$ )
-
-push:
-	@for repo in $(shell git remote); do \
-		echo "Pushing to $$repo..."; \
-		git push $$repo master; \
-	done
-
-commit: test
-	@git citool
+	./all_benchmarks.py 1
 
 snapshot:
 	git archive HEAD | gzip > $(NAME)-$(VERSION)-$(shell git rev-parse HEAD | cut -b 1-8).tar.gz
+
+.PHONY: default options all compile clean doc cleandoc test \
+	install uninstall snapshot
;hut@lavabit.com> 2011-10-05 18:15:35 +0200 README: polished, removed INSTALL' href='/akspecs/ranger/commit/README?h=v1.7.2&id=240394a494b0bbb854687a34941bf90a5ccd5b4d'>240394a4 ^
7dc8fef8 ^
36e4e71e ^

4a383291 ^
78a7d762 ^
e952d6cb ^
78a7d762 ^
e952d6cb ^
4ea0f69a ^

7838675f ^

07069888 ^

07069888 ^
7838675f ^

1891697f ^
755e7df1 ^
a3d5f44b ^
66a8d4ff ^
7838675f ^
7dc8fef8 ^
80a93f0b ^
500cf259 ^

7dc8fef8 ^


80a93f0b ^
240394a4 ^



240394a4 ^
7dc8fef8 ^
240394a4 ^

96004e71 ^
240394a4 ^

96004e71 ^
240394a4 ^



e5fb3d74 ^
240394a4 ^

240394a4 ^
7dc8fef8 ^



7b33b517 ^

176e8a68 ^
7b33b517 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100