summary refs log tree commit diff stats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-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
4-02-14 23:47:51 +0100 Add stuff' href='/crystal/www/commit/index.html?h=main&id=85f992cd5d04872b3840bb02d4e2dd9473412f79'>85f992c ^
881ff00 ^


85f992c ^
881ff00 ^


4774210 ^








a565af2
4774210 ^
a565af2


791e4bc ^
4774210 ^


881ff00 ^


4774210 ^
252ba21 ^
a565af2

252ba21 ^






a565af2

252ba21 ^
a565af2


252ba21 ^
a565af2


252ba21 ^
a565af2


4774210 ^
881ff00 ^


a565af2
252ba21 ^
a565af2


881ff00 ^
252ba21 ^
a565af2



881ff00 ^


a565af2







252ba21 ^
1c9ba55 ^
0ce8800 ^
f1daa05 ^










c60b7aa ^
0cd9dc1 ^
e949cf0 ^
252ba21 ^

a565af2

881ff00 ^


a565af2
252ba21 ^
a565af2

6119a90 ^
881ff00 ^
6119a90 ^



881ff00 ^
6119a90 ^
9bdf06b ^
6119a90 ^
a565af2
9bdf06b ^

a565af2



881ff00 ^

a565af2
881ff00 ^


a565af2
252ba21 ^
a565af2





881ff00 ^
a565af2

9bdf06b ^
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201