78 endif |
78 endif |
79 endif |
79 endif |
80 endif |
80 endif |
81 |
81 |
82 ################################################################ |
82 ################################################################ |
|
83 # Build tools definition/switches. |
|
84 |
|
85 RST_WARNING_FLAGS := --halt warning |
|
86 RST_FLAGS := --strip-comments |
|
87 RST_FLAGS += $(RST_WARNING_FLAGS) |
|
88 |
|
89 RST2HTML := rst2html |
|
90 ifeq '$(host_os)' 'cygwin' |
|
91 RST2HTML := rst2html.py |
|
92 endif |
|
93 RST2HTML_FLAGS := $(RST_FLAGS) |
|
94 |
|
95 ################################################################ |
83 # Project dirs/files. |
96 # Project dirs/files. |
84 |
97 |
85 pkgname = 2048-js-ai |
98 pkgname = 2048-js-ai |
86 sfpkgname = js-2048-ai |
99 sfpkgname = js-2048-ai |
87 fullpkgname = $(pkgname)-$(vmajor).$(vminor) |
100 fullpkgname = $(pkgname)-$(vmajor).$(vminor) |
88 |
101 |
89 DIST_DIR = $(fullpkgname) |
102 DIST_DIR = $(fullpkgname) |
90 |
103 |
|
104 RST_GEN_FILES := VERSION.rst |
|
105 RST_COMMON_FILES := VERSION.rst header.rst |
|
106 RST_FILES := $(filter-out $(RST_COMMON_FILES),$(sort $(wildcard *.rst) $(RST_GEN_FILES))) |
|
107 RST_HTML_FILES := $(RST_FILES:.rst=.html) |
|
108 |
91 JS_FILES := $(wildcard *.js) |
109 JS_FILES := $(wildcard *.js) |
92 HTML_FILES := $(wildcard *.html) |
110 HTML_FILES := 2048.html |
93 WWW_FILES := $(JS_FILES) $(HTML_FILES) |
111 WWW_FILES := $(JS_FILES) $(RST_HTML_FILES) |
94 |
112 |
95 DIST_FILES = $(WWW_FILES) README.rst VERSION |
113 DIST_FILES = $(WWW_FILES) README.rst VERSION |
96 |
114 |
97 DIST_TARBALLS = $(DIST_DIR).tar.gz $(DIST_DIR).zip |
115 DIST_TARBALLS = $(DIST_DIR).tar.gz $(DIST_DIR).zip |
98 |
116 |
180 rm -rf $@ |
198 rm -rf $@ |
181 mkdir $@ |
199 mkdir $@ |
182 cp $(DIST_FILES) $@ |
200 cp $(DIST_FILES) $@ |
183 |
201 |
184 ################################################################ |
202 ################################################################ |
|
203 # Documentation targets. |
|
204 |
|
205 .PHONY: docs |
|
206 docs: rst2html |
|
207 |
|
208 .PHONY: rst2html |
|
209 rst2html: $(RST_HTML_FILES) |
|
210 |
|
211 $(RST_HTML_FILES): $(RST_COMMON_FILES) |
|
212 |
|
213 $(RST_HTML_FILES): %.html: %.rst rst.css header.rst VERSION.rst $(BUILD_SCRIPTS) |
|
214 $(RST2HTML) $(RST2HTML_FLAGS) --stylesheet=rst.css $*.rst $@ |
|
215 |
|
216 VERSION.rst: VERSION $(BUILD_SCRIPTS) |
|
217 { \ |
|
218 echo 'For ``$(pkgname)`` version: ``$(vmajor).$(vminor)``.'; \ |
|
219 echo; \ |
|
220 case ${visclean} in \ |
|
221 yes) echo 'Source files are at revision: ``$(vrev)``.';; \ |
|
222 no) echo 'Some source files was modified from revision: ``$(vrev)``.';; \ |
|
223 esac; \ |
|
224 echo; \ |
|
225 case ${vatrelease} in \ |
|
226 yes) echo 'Package is at release state.';; \ |
|
227 no) echo 'Package is far from release state by $(vtagdist) changes.';; \ |
|
228 esac; \ |
|
229 echo; \ |
|
230 echo 'Build date: ``'$$(date +%F)'``.'; \ |
|
231 } >$@ |
|
232 |
|
233 ################################################################ |
185 # Helpers targets. |
234 # Helpers targets. |
186 |
235 |
187 .PHONY: help |
236 .PHONY: help |
188 help: |
237 help: |
189 @\ |
238 @\ |