2 MLTON_VERSION
:= 20180207
9 ifneq ($(shell which
$(ASCIIDOC
) 2> /dev
/null
),)
10 ASCIIDOC_CONF_DIR
:= $(shell $(ASCIIDOC
) -v
/dev
/null
2>&1 | head
-n
1 | sed
's|.*reading: \(.*\)/asciidoc.conf|\1|')
14 ASCIIDOC_MLTON_FLAGS
:= $(shell cat conf
/asciidoc-mlton.flags | sed
's|^\#.*||' | sed
"s|MLTON_VERSION|$(MLTON_VERSION)|")
15 ASCIIDOC_MLTON_DEPS
:= bin
/InclGitFile.py conf
/asciidoc-mlton.flags
$(shell cat conf
/asciidoc-mlton.flags | sed
-n
's|^.*\(conf/.*\)$$|\1|p')
16 ASCIIDOC_HTML5_FLAGS
:= $(ASCIIDOC_MLTON_FLAGS
) $(shell cat conf
/asciidoc-html5.flags | sed
's|^\#.*||')
17 ASCIIDOC_HTML5_DEPS
:= $(ASCIIDOC_MLTON_DEPS
) conf
/asciidoc-html5.flags
$(shell cat conf
/asciidoc-html5.flags | sed
-n
's|^.*\(conf/.*\)$$|\1|p')
18 ASCIIDOC_DOCBOOK45_FLAGS
:= $(ASCIIDOC_MLTON_FLAGS
) $(shell cat conf
/asciidoc-docbook45.flags | sed
's|^\#.*||')
19 ASCIIDOC_DOCBOOK45_DEPS
:= $(ASCIIDOC_MLTON_DEPS
) conf
/asciidoc-docbook45.flags
$(shell cat conf
/asciidoc-docbook45.flags | sed
-n
's|^.*\(conf/.*\)$$|\1|p')
23 GEN_PAGES
:= Index mlton-guide
24 GEN_ATTACHMENTS
:= $(foreach size
,16 32 64 128 256 512 1024,Logo.attachments
/mlton-
$(size
).png Logo.attachments
/mlton-
$(size
).pdf
)
26 SRC_PAGES
:= $(filter-out $(GEN_PAGES
),$(patsubst .
/%.adoc
,%,$(shell cd src
; find .
-type f
-name
'*.adoc')))
27 SRC_ATTACHMENTS
:= $(filter-out $(GEN_ATTACHMENTS
),$(patsubst .
/%,%,$(foreach dir,$(shell cd src
; find .
-type d
-name
'*.attachments'),$(shell cd src
; find
$(dir) -type f
! -name
'.gitignore' ! -name
'.gitattributes'))))
29 HTML5_XTRA
:= asciidoc.css asciidoc.js pygments.css mlton.css mlton-gcse.js index.html
30 HTML5_XTRA_PAGES
:= Index
32 MLTON_ORG_XTRA
:= $(HTML5_XTRA
)
33 MLTON_ORG_XTRA_PAGES
:= $(HTML5_XTRA_PAGES
)
34 MLTON_ORG_XTRA_ATTACHMENTS
:= $(foreach size
,16 32 64 128 256 512 1024,Logo.attachments
/mlton-
$(size
).png
)
35 MLTON_ORG
:= $(addprefix www.mlton.org
/, $(SRC_PAGES
) $(SRC_ATTACHMENTS
) $(MLTON_ORG_XTRA
) $(MLTON_ORG_XTRA_PAGES
) $(MLTON_ORG_XTRA_ATTACHMENTS
))
36 MLTON_ORG_TORM
:= $(filter-out $(MLTON_ORG
),$(shell if
[ -d www.mlton.org
]; then find www.mlton.org
-type f
; fi
))
38 LOCALHOST_XTRA
:= $(filter-out mlton-gcse.js
,$(HTML5_XTRA
))
39 LOCALHOST_XTRA_PAGES
:= $(HTML5_XTRA_PAGES
)
40 LOCALHOST_XTRA_ATTACHMENTS
:= $(foreach size
,16 32 64 128 256 512 1024,Logo.attachments
/mlton-
$(size
).png
)
41 LOCALHOST
:= $(addprefix localhost
/, $(SRC_PAGES
) $(SRC_ATTACHMENTS
) $(LOCALHOST_XTRA
) $(LOCALHOST_XTRA_PAGES
) $(LOCALHOST_XTRA_ATTACHMENTS
))
42 LOCALHOST_TORM
:= $(filter-out $(LOCALHOST
),$(shell if
[ -d localhost
]; then find localhost
-type f
; fi
))
46 ifneq ($(shell which
$(ASCIIDOC
) 2> /dev
/null
),)
47 ifneq ($(shell which pygmentize
2> /dev
/null
),)
48 ALL
+= $(LOCALHOST
) localhost-rm
50 ifneq ($(shell which
$(DBLATEX
) 2> /dev
/null
),)
51 ALL
+= mlton-guide.pdf
59 ifneq ($(shell which gm
2> /dev
/null
),)
62 ifneq ($(shell which convert
2> /dev
/null
),)
70 $(CONVERT
) $< -resize
16x16
$@
72 $(CONVERT
) $< -resize
32x32
$@
74 $(CONVERT
) $< -resize
64x64
$@
76 $(CONVERT
) $< -resize
128x128
$@
78 $(CONVERT
) $< -resize
256x256
$@
80 $(CONVERT
) $< -resize
512x512
$@
82 $(CONVERT
) $< -resize
1024x1024
$@
85 $(CONVERT
) $< -resize
16x16
$@
87 $(CONVERT
) $< -resize
32x32
$@
89 $(CONVERT
) $< -resize
64x64
$@
91 $(CONVERT
) $< -resize
128x128
$@
93 $(CONVERT
) $< -resize
256x256
$@
95 $(CONVERT
) $< -resize
512x512
$@
97 $(CONVERT
) $< -resize
1024x1024
$@
100 conf
/specialsections.conf
: $(ASCIIDOC_CONF_DIR
)/lang-en.conf bin
/mk-specialsections-conf.sh
101 .
/bin
/mk-specialsections-conf.sh
$< $@
103 conf
/html5-header.conf
: $(ASCIIDOC_CONF_DIR
)/html5.conf bin
/mk-html5-header-conf.sh
104 .
/bin
/mk-html5-header-conf.sh
$< $@
106 conf
/html5-footer.conf
: $(ASCIIDOC_CONF_DIR
)/html5.conf bin
/mk-html5-footer-conf.sh
107 .
/bin
/mk-html5-footer-conf.sh
$< $@
110 src
/Index.adoc
: bin
/mk-index.sh
$(foreach page
,$(SRC_PAGES
),src
/$(page
).adoc
)
111 .
/bin
/mk-index.sh
$(SRC_PAGES
) > $@
113 src
/mlton-guide.adoc
: bin
/mk-mlton-guide.sh
$(foreach page
,$(SRC_PAGES
),src
/$(page
).adoc
)
114 .
/bin
/mk-mlton-guide.sh
$(SRC_PAGES
) > $@
117 $(ASCIIDOC_CONF_DIR
)/stylesheets
/asciidoc.css
: ;
118 %/asciidoc.css
: $(ASCIIDOC_CONF_DIR
)/stylesheets
/asciidoc.css
119 mkdir
-p
$(dir $@
) ; cp
$< $@
121 $(ASCIIDOC_CONF_DIR
)/javascripts
/asciidoc.js
: ;
122 %/asciidoc.js
: $(ASCIIDOC_CONF_DIR
)/javascripts
/asciidoc.js
123 mkdir
-p
$(dir $@
) ; cp
$< $@
125 $(ASCIIDOC_CONF_DIR
)/stylesheets
/pygments.css
: ;
126 %/pygments.css
: $(ASCIIDOC_CONF_DIR
)/stylesheets
/pygments.css
127 mkdir
-p
$(dir $@
) ; cp
$< $@
130 %/mlton.css
: conf
/mlton.css
131 mkdir
-p
$(dir $@
) ; cp
$< $@
133 conf
/mlton-gcse.js
: ;
134 %/mlton-gcse.js
: conf
/mlton-gcse.js
135 mkdir
-p
$(dir $@
) ; cp
$< $@
137 %/index.html
: %/Home
138 rm -f
$@
; mkdir
-p
$(dir $@
) ; ln
-s Home
$@
; touch
$@
141 www.mlton.org
/% : src
/%.adoc
$(ASCIIDOC_HTML5_DEPS
) bin
/mk-git-attribute-entity-flags.sh
142 mkdir
-p
$(dir $@
) ; $(ASCIIDOC
) $(ASCIIDOC_HTML5_FLAGS
) $(shell .
/bin
/mk-git-attribute-entity-flags.sh
$<) -a mlton-guide-host
=www.mlton.org
-a mlton-guide-page
=$(basename $(notdir $<)) -o
$@
$<
144 www.mlton.org
/% : src
/%
145 mkdir
-p
$(dir $@
) ; cp
-prf
$< $@
147 .PHONY
: www.mlton.org-rm
148 www.mlton.org-rm
: $(MLTON_ORG
)
149 @
rm -rf
$(MLTON_ORG_TORM
)
151 .PHONY
: www.mlton.org
152 www.mlton.org
: $(MLTON_ORG
)
154 .PHONY
: upload_www.mlton.org
155 upload_www.mlton.org
: $(MLTON_ORG
) www.mlton.org-rm
156 rsync
-avzP
--delete
-e ssh www.mlton.org
/ fluet
,mlton@web.sourceforge.net
:htdocs
/wiki
159 localhost
/% : src
/%.adoc
$(ASCIIDOC_HTML5_DEPS
)
160 mkdir
-p
$(dir $@
) ; $(ASCIIDOC
) $(ASCIIDOC_HTML5_FLAGS
) -a mlton-guide-host
=localhost
-a mlton-guide-page
=$(basename $(notdir $<)) -o
$@
$<
163 mkdir
-p
$(dir $@
) ; cp
-prf
$< $@
166 localhost-rm
: $(LOCALHOST
)
167 @
rm -rf
$(LOCALHOST_TORM
)
170 localhost
: $(LOCALHOST
) localhost-rm
172 src
/mlton-guide.xml
: src
/mlton-guide.adoc conf
/asciidoc-docbook45.flags
$(ASCIIDOC_DOCBOOK45_DEPS
)
173 mkdir
-p
$(dir $@
) ; $(ASCIIDOC
) $(ASCIIDOC_DOCBOOK45_FLAGS
) -o
$@
$<
174 @true || xmllint
--nonet
--noout
--valid
$@ || true
175 mlton-guide.pdf
: src
/mlton-guide.xml src
/Logo.attachments
/mlton-128.pdf conf
/mlton-dblatex.xsl conf
/mlton-dblatex.sty
176 $(DBLATEX
) -t pdf
-p conf
/mlton-dblatex.xsl
-s conf
/mlton-dblatex.sty
-o
$@
$<
179 .PHONY
: check-git-links
181 @.
/bin
/check-git-links.sh
$(SRC_PAGES
)
189 @echo ASCIIDOC_CONF_DIR
=$(ASCIIDOC_CONF_DIR
)
190 @echo ASCIIDOC_HTML5_FLAGS
=$(ASCIIDOC_HTML5_FLAGS
)
191 @echo ASCIIDOC_HTML5_DEPS
=$(ASCIIDOC_HTML5_DEPS
)
192 @echo GEN_PAGES
=$(GEN_PAGES
)
193 @echo GEN_ATTACHMENTS
=$(GEN_ATTACHMENTS
)
194 @echo SRC_PAGES
=$(SRC_PAGES
)
195 @echo SRC_ATTACHMENTS
=$(SRC_ATTACHMENTS
)