summary refs log tree commit diff stats
path: root/Makefile
blob: 06f3dc92f1a7225eef238214ed8911cc32c804f6 (plain) (blame)
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
NAME = ranger
VERSION = 1.0.4
PYTHON ?= python
DOCDIR ?= doc/pydoc
PREFIX ?= /usr/local
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

.PHONY: all compile clean doc cleandoc edit push test commit \
	install uninstall info snapshot minimal_snapshot

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'
	@echo 'make doc: Create the pydoc documentation'
	@echo 'make install: Install 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

compile: clean
	@echo 'Compiling...'
	python -m compileall -q ranger
	PYTHONOPTIMIZE=$(PYTHONOPTIMIZE) python -m compileall -q ranger

doc: cleandoc
	mkdir -p $(DOCDIR)
	cd $(DOCDIR); \
		$(PYTHON) -c 'import pydoc, sys; \
		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]$ | xargs 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

snapshot:
	git archive HEAD | gzip > $(NAME)-$(VERSION)-$(shell git rev-list HEAD | head -n 1 | cut -b 1-8).tar.gz

minimal_snapshot:
	@echo 'This is not quite working well. I will abort now' && false
	git checkout -b no_help
	git rm -rf doc
	git rm -rf test
	git rm all_tests.py
	git rm TODO
	git commit -a -m'removed documentation'
	git archive HEAD | gzip > $(NAME)-$(VERSION)-$(shell git rev-list HEAD | head -n 1 | cut -b 1-8).tar.gz
	git reset --hard no_help^
	git branch -D no_help
><br> #<br> #&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br> #&nbsp;along&nbsp;with&nbsp;this&nbsp;program.&nbsp;&nbsp;If&nbsp;not,&nbsp;see&nbsp;&lt;<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>&gt;.</tt></p> <p> <table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section"> <tr bgcolor="#eeaa77"> <td colspan=3 valign=bottom>&nbsp;<br> <font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr> <tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td> <td width="100%"><dl><dt><a name="-waitpid_no_intr"><strong>waitpid_no_intr</strong></a>(pid)</dt><dd><tt>catch&nbsp;interrupts&nbsp;which&nbsp;occur&nbsp;while&nbsp;using&nbsp;os.waitpid</tt></dd></dl> </td></tr></table> </body></html>