aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 570e265f81a1e537589e627232fc2e43a2e12d06 (plain)
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
all: truncater manpages infomanual ponythinkcompletion

truncater:
	gcc -o "truncater" "truncater.c"

manpages:
	gzip -9 < "manuals/manpage.6"    > "manuals/manpage.6.gz"
	gzip -9 < "manuals/manpage.es.6" > "manuals/manpage.es.6.gz"

infomanual:
	makeinfo "manuals/ponysay.texinfo"
	gzip -9  "ponysay.info"

ponythinkcompletion:
	sed -e 's/ponysay/ponythink/g' <"completion/bash-completion.sh"   | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/bash-completion-think.sh"
	sed -e 's/ponysay/ponythink/g' <"completion/fish-completion.fish" | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/fish-completion-think.fish"
	sed -e 's/ponysay/ponythink/g' <"completion/zsh-completion.zsh"   | sed -e 's/\/ponythink\//\/ponysay\//g' -e 's/\\\/ponythink\\\//\\\/ponysay\\\//g' >"completion/zsh-completion-think.zsh"

install: all
	mkdir -p "$(DESTDIR)/usr/share/ponysay/"
	mkdir -p "$(DESTDIR)/usr/share/ponysay/ponies"
	mkdir -p "$(DESTDIR)/usr/share/ponysay/ttyponies"
	mkdir -p "$(DESTDIR)/usr/share/ponysay/quotes"
	cp -P    ponies/*.pony "$(DESTDIR)/usr/share/ponysay/ponies/"
	cp -P ttyponies/*.pony "$(DESTDIR)/usr/share/ponysay/ttyponies/"
	cp -P    quotes/*.*    "$(DESTDIR)/usr/share/ponysay/quotes/"

	mkdir -p          "$(DESTDIR)/usr/bin/"
	install "ponysay" "$(DESTDIR)/usr/bin/ponysay"
	ln -sf  "ponysay" "$(DESTDIR)/usr/bin/ponythink"

	mkdir   -p                 "$(DESTDIR)/usr/lib/ponysay/"
	install -s "truncater"     "$(DESTDIR)/usr/lib/ponysay/truncater"
	install    "list.pl"       "$(DESTDIR)/usr/lib/ponysay/list.pl"
	install    "linklist.pl"   "$(DESTDIR)/usr/lib/ponysay/linklist.pl"
	install    "pq4ps"         "$(DESTDIR)/usr/lib/pq4ps"
	install    "pq4ps.pl"      "$(DESTDIR)/usr/lib/pq4ps.pl"
	install    "pq4ps-list"    "$(DESTDIR)/usr/lib/pq4ps-list"
	install    "pq4ps-list.pl" "$(DESTDIR)/usr/lib/pq4ps-list.pl"

	mkdir -p                                      "$(DESTDIR)/usr/share/bash-completion/completions/"
	install "completion/bash-completion.sh"       "$(DESTDIR)/usr/share/bash-completion/completions/ponysay"
	install "completion/bash-completion-think.sh" "$(DESTDIR)/usr/share/bash-completion/completions/ponythink"

	mkdir -p                                        "$(DESTDIR)/usr/share/fish/completions/"
	install "completion/fish-completion.fish"       "$(DESTDIR)/usr/share/fish/completions/ponysay.fish"
	install "completion/fish-completion-think.fish" "$(DESTDIR)/usr/share/fish/completions/ponythink.fish"

	mkdir -p                                      "$(DESTDIR)/usr/share/zsh/site-functions/"
	install "completion/zsh-completion.zsh"       "$(DESTDIR)/usr/share/zsh/site-functions/_ponysay"
	install "completion/zsh-completion-think.zsh" "$(DESTDIR)/usr/share/zsh/site-functions/_ponythink"

	mkdir -p          "$(DESTDIR)/usr/share/licenses/ponysay/"
	install "COPYING" "$(DESTDIR)/usr/share/licenses/ponysay/COPYING"

	mkdir -p                       "$(DESTDIR)/usr/share/man/man6"
	install "manuals/manpage.6.gz" "$(DESTDIR)/usr/share/man/man6/ponysay.6.gz"
	ln -sf  "ponysay.6.gz"         "$(DESTDIR)/usr/share/man/man6/ponythink.6.gz"

	mkdir -p                          "$(DESTDIR)/usr/share/man/es/man6"
	install "manuals/manpage.es.6.gz" "$(DESTDIR)/usr/share/man/es/man6/ponysay.6.gz"
	ln -sf  "ponysay.6.gz"            "$(DESTDIR)/usr/share/man/es/man6/ponythink.6.gz"

	mkdir -p                  "$(DESTDIR)/usr/share/info"
	install "ponysay.info.gz" "$(DESTDIR)/usr/share/info/ponysay.info.gz"
	install "ponysay.info.gz" "$(DESTDIR)/usr/share/info/ponythink.info.gz"
	install-info --dir-file="$(DESTDIR)/usr/share/info/dir" --entry="Miscellaneous" --description="My Little Ponies for your terminal" "$(DESTDIR)/usr/share/info/ponysay.info.gz"
	install-info --dir-file="$(DESTDIR)/usr/share/info/dir" --entry="Miscellaneous" --description="My Little Ponies for your terminal" "$(DESTDIR)/usr/share/info/ponythink.info.gz"

	@echo -e '\n\n'\
'/--------------------------------------------------\\\n'\
'|   ___                                            |\n'\
'|  / (_)        o                                  |\n'\
'|  \__   _  _      __                              |\n'\
'|  /    / |/ |  | /  \_|   |                       |\n'\
'|  \___/  |  |_/|/\__/  \_/|/                      |\n'\
'|              /|         /|                       |\n'\
'|              \|         \|                       |\n'\
'|   ____                                           |\n'\
'|  |  _ \  ___   _ __   _   _  ___   __ _  _   _   |\n'\
'|  | |_) |/ _ \ | '\''_ \ | | | |/ __| / _` || | | |  |\n'\
'|  |  __/| (_) || | | || |_| |\__ \| (_| || |_| |  |\n'\
'|  |_|    \___/ |_| |_| \__, ||___/ \__,_| \__, |  |\n'\
'|                       |___/              |___/   |\n'\
'\\--------------------------------------------------/'
	@echo '' | ./ponysay -f ./`if [[ "$$TERM" = "linux" ]]; then echo ttyponies; else echo ponies; fi`/pinkiecannon.pony | tail --lines=30 ; echo -e '\n'

uninstall:
	rm -fr "$(DESTDIR)/usr/share/ponysay"
	unlink "$(DESTDIR)/usr/bin/ponysay"
	unlink "$(DESTDIR)/usr/bin/ponythink"
	unlink "$(DESTDIR)/usr/bin/pq4ps"
	unlink "$(DESTDIR)/usr/bin/pq4ps.pl"
	unlink "$(DESTDIR)/usr/bin/pq4ps-list"
	unlink "$(DESTDIR)/usr/bin/pq4ps-list.pl"
	unlink "$(DESTDIR)/usr/lib/ponysay/list.pl"
	unlink "$(DESTDIR)/usr/lib/ponysay/linklist.pl"
	unlink "$(DESTDIR)/usr/lib/ponysay/truncater"
	unlink "$(DESTDIR)/usr/share/licenses/ponysay/COPYING"
	unlink "$(DESTDIR)/usr/share/bash-completion/completions/ponysay"
	unlink "$(DESTDIR)/usr/share/bash-completion/completions/ponythink"
	unlink "$(DESTDIR)/usr/share/fish/completions/ponysay.fish"
	unlink "$(DESTDIR)/usr/share/fish/completions/ponythink.fish"
	unlink "$(DESTDIR)/usr/share/zsh/site-functions/_ponysay";
	unlink "$(DESTDIR)/usr/share/zsh/site-functions/_ponythink";
	unlink "$(DESTDIR)/usr/share/man/man6/ponysay.6.gz"
	unlink "$(DESTDIR)/usr/share/man/man6/ponythink.6.gz"
	unlink "$(DESTDIR)/usr/share/man/es/man6/ponysay.6.gz"
	unlink "$(DESTDIR)/usr/share/man/es/man6/ponythink.6.gz"
	unlink "$(DESTDIR)/usr/share/info/ponysay.info.gz"
	unlink "$(DESTDIR)/usr/share/info/ponythink.info.gz"
	(cd "ponyquotes4ponysay/"; make DESTDIR="$(DESTDIR)" uninstall)

clean:
	rm -f "ponysaytruncater"
	rm -f "completion/bash-completion-think.sh"
	rm -f "completion/fish-completion-think.fish"
	rm -f "completion/zsh-completion-think.zsh"
	rm -f "manuals/manpage.6.gz"
	rm -f "manuals/manpage.es.6.gz"
	rm -f "ponysay.info.gz"
	(cd "ponyquotes4ponysay/"; make clean)


## Scripts for maintainers

ttyponies:
	mkdir -p ttyponies
	for pony in $$(ls --color=no ponies/); do                                                      \
	    echo "building ttypony: $$pony"                                                           ;\
	    if [[ `readlink "ponies/$$pony"` = "" ]]; then                                             \
	        ponysay2ttyponysay < "ponies/$$pony" | tty2colourfultty -c 1 -e > "ttyponies/$$pony"  ;\
		git add "ttyponies/$$pony"                                                            ;\
	    elif [[ ! -f "ttyponies/$$pony" ]]; then                                                   \
	        ln -s `readlink "ponies/$$pony"` "ttyponies/$$pony"                                   ;\
		git add "ttyponies/$$pony"                                                            ;\
	    fi                                                                                         \
	done

pdfmanual:
	texi2pdf "manuals/ponysay.texinfo"
	git add  "manuals/ponysay.texinfo" "ponysay.pdf"
	if [[ -f "ponysay.aux" ]]; then unlink "ponysay.aux"; fi
	if [[ -f "ponysay.cp"  ]]; then unlink "ponysay.cp" ; fi
	if [[ -f "ponysay.cps" ]]; then unlink "ponysay.cps"; fi
	if [[ -f "ponysay.fn"  ]]; then unlink "ponysay.fn" ; fi
	if [[ -f "ponysay.ky"  ]]; then unlink "ponysay.ky" ; fi
	if [[ -f "ponysay.log" ]]; then unlink "ponysay.log"; fi
	if [[ -f "ponysay.pg"  ]]; then unlink "ponysay.pg" ; fi
	if [[ -f "ponysay.toc" ]]; then unlink "ponysay.toc"; fi
	if [[ -f "ponysay.tp"  ]]; then unlink "ponysay.tp" ; fi
	if [[ -f "ponysay.vr"  ]]; then unlink "ponysay.vr" ; fi

submodules: clean
	git submodule init
	git submodule update

quotes: submodules
	(cd "ponyquotes4ponysay/"; make -B)
	if [[ -d quotes ]]; then git rm "quotes/"*.*; fi
	mkdir -p "quotes"
	cp "ponyquotes4ponysay/ponyquotes/"*.* "quotes"
	git add "quotes/"*.*