Makefile
changeset 77 c2bad6178c65
parent 57 94e1b2d0bd31
child 80 1ed275e69293
equal deleted inserted replaced
76:804bd331bedc 77:c2bad6178c65
    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 	@\
   214 distclean: clean
   263 distclean: clean
   215 	rm -f VERSION
   264 	rm -f VERSION
   216 
   265 
   217 .PHONY: clean
   266 .PHONY: clean
   218 clean:
   267 clean:
   219 	rm -rf $(JSDOC_DIR) $(DIST_DIR) $(DIST_TARBALLS)
   268 	rm -rf $(JSDOC_DIR) $(RST_GEN_FILES) $(RST_HTML_FILES) $(DIST_DIR) $(DIST_TARBALLS)
   220 
   269