olddoc.git  about / heads / tags
olddoc - old-fashioned RDoc generator(s)
blob 1df29aec9055f8f19a02a239d690c565a0bb36b0 1486 bytes (raw)
$ git show HEAD:GNUmakefile	# shows this blob on the CLI

 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
 
# Copyright (C) 2015-2016 all contributors <olddoc-public@80x24.org>
# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
all::
pkg = olddoc
RUBY = ruby
GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
	@./GIT-VERSION-GEN
-include GIT-VERSION-FILE

check-warnings:
	@(for i in $$(git ls-files '*.rb'| grep -v '^setup\.rb$$'); \
	  do $(RUBY) -d -W2 -c $$i; done) | grep -v '^Syntax OK$$' || :

pkggem := pkg/$(pkg)-$(VERSION).gem
fix-perms:
	git ls-tree -r HEAD | awk '/^100644 / {print $$NF}' | xargs chmod 644
	git ls-tree -r HEAD | awk '/^100755 / {print $$NF}' | xargs chmod 755
gem-man:
	$(MAKE) -C Documentation/ gem-man

pkg_extra := NEWS

.manifest: fix-perms
	$(RUBY) -I lib bin/olddoc prepare
	rm -rf man
	(git ls-files; \
	 for i in $(pkg_extra); do echo $$i; done) | \
	 LC_ALL=C sort > $@+
	cmp $@+ $@ || mv $@+ $@; rm -f $@+

placeholders := olddoc_5 olddoc_1

$(placeholders):
	echo olddoc_placeholder > $@

.gem-manifest: .manifest gem-man $(placeholders)
	(ls man/*.?; cat .manifest) | LC_ALL=C sort > $@+
	cmp $@+ $@ || mv $@+ $@; rm -f $@+

doc: $(placeholders)
	$(MAKE) -C Documentation html
	rm -rf doc
	olddoc prepare
	rdoc --debug -f dark216
	olddoc merge
	ln NEWS.atom.xml doc/

gem: $(pkggem)

install-gem: $(pkggem)
	gem install --local $(CURDIR)/$<

$(pkggem): fix-perms .gem-manifest
	VERSION=$(VERSION) gem build $(pkg).gemspec
	mkdir -p pkg
	mv $(@F) $@

package: $(pkggem)

.PHONY: all .FORCE-GIT-VERSION-FILE NEWS
.PHONY: check-warnings fix-perms doc

git clone https://80x24.org/olddoc.git