2010-11-10 19:38:06 -05:00
|
|
|
|
2011-03-08 23:57:52 -05:00
|
|
|
CWD=$(CURDIR)
|
|
|
|
PATH_BUILD=${CWD}/build
|
|
|
|
PATH_TOOLS=${CWD}/tools
|
2010-12-19 23:51:22 -05:00
|
|
|
PATH_COMBINE_OUTPUT=${PATH_BUILD}/ease.js
|
2010-12-28 00:23:13 -05:00
|
|
|
PATH_COMBINE_OUTPUT_FULL=${PATH_BUILD}/ease-full.js
|
2010-12-28 13:21:41 -05:00
|
|
|
PATH_BROWSER_TEST=${PATH_TOOLS}/browser-test.html
|
2011-03-09 00:06:33 -05:00
|
|
|
|
2011-03-08 23:57:52 -05:00
|
|
|
PATH_DOC=${CWD}/doc
|
2011-03-08 23:48:47 -05:00
|
|
|
PATH_DOC_OUTPUT=${PATH_BUILD}/doc
|
2011-03-09 00:06:33 -05:00
|
|
|
PATH_DOC_OUTPUT_INFO=${PATH_DOC_OUTPUT}/manual.info
|
|
|
|
PATH_DOC_OUTPUT_PLAIN=${PATH_DOC_OUTPUT}/manual.txt
|
2011-03-08 23:57:52 -05:00
|
|
|
PATH_DOC_OUTPUT_HTML=${PATH_DOC_OUTPUT}/manual
|
2011-03-09 00:01:22 -05:00
|
|
|
PATH_DOC_OUTPUT_HTML1=${PATH_DOC_OUTPUT}/manual.html
|
2011-03-09 19:10:13 -05:00
|
|
|
PATH_DOC_CSS=${PATH_DOC}/manual.css
|
2011-03-08 23:57:52 -05:00
|
|
|
PATH_MANUAL_TEXI=${PATH_DOC}/manual.texi
|
2010-12-19 23:51:22 -05:00
|
|
|
|
|
|
|
COMBINE=${PATH_TOOLS}/combine
|
|
|
|
|
2011-03-11 19:53:05 -05:00
|
|
|
TESTS_JS := $(shell find "./test" -name 'test-*.js')
|
|
|
|
TESTS_SHELL := $(shell find "./test" -name 'test-[^\.]*')
|
|
|
|
|
2010-12-19 23:51:22 -05:00
|
|
|
|
2011-03-08 00:06:34 -05:00
|
|
|
.PHONY: test doc
|
2010-11-10 19:38:06 -05:00
|
|
|
|
2010-12-19 23:51:22 -05:00
|
|
|
|
|
|
|
default: combine
|
2011-03-08 00:06:34 -05:00
|
|
|
all: combine doc
|
2010-12-19 23:51:22 -05:00
|
|
|
|
|
|
|
# create build dir
|
|
|
|
mkbuild:
|
2011-03-11 19:56:23 -05:00
|
|
|
mkdir -p "${PATH_BUILD}"
|
2010-12-19 23:51:22 -05:00
|
|
|
|
|
|
|
# combine all modules into easily redistributable ease.js file (intended for
|
|
|
|
# browser)
|
|
|
|
combine: mkbuild
|
2011-03-09 19:12:16 -05:00
|
|
|
${COMBINE} > "${PATH_COMBINE_OUTPUT}"
|
|
|
|
INC_TEST=1 "${COMBINE}" > "${PATH_COMBINE_OUTPUT_FULL}"
|
2011-03-11 19:56:23 -05:00
|
|
|
cp "${PATH_BROWSER_TEST}" "${PATH_BUILD}"
|
2010-12-19 23:51:22 -05:00
|
|
|
|
|
|
|
# run tests
|
2011-03-11 19:53:05 -05:00
|
|
|
test: default $(TESTS_JS) $(TESTS_SHELL)
|
|
|
|
test-%.js: default
|
|
|
|
node $@
|
|
|
|
test-%: default
|
|
|
|
./$@
|
2010-12-19 23:51:22 -05:00
|
|
|
|
2011-03-08 00:06:34 -05:00
|
|
|
# generate texinfo documentation (twice to generate TOC), then remove the extra
|
2011-03-09 00:01:22 -05:00
|
|
|
# files that were generated
|
|
|
|
#
|
|
|
|
# generates: pdf, HTML (multiple pages), HTML (single page)
|
2011-03-09 23:45:07 -05:00
|
|
|
doc: mkbuild
|
2011-03-09 19:12:16 -05:00
|
|
|
pdftex -output-directory "${PATH_DOC}" "${PATH_MANUAL_TEXI}"
|
|
|
|
pdftex -output-directory "${PATH_DOC}" "${PATH_MANUAL_TEXI}"
|
|
|
|
find "${PATH_DOC}" -type f \
|
2011-03-08 00:06:34 -05:00
|
|
|
! -name '*.texi' -a \
|
|
|
|
! -name '.*' -a \
|
2011-03-09 19:10:13 -05:00
|
|
|
! -name '*.pdf' -a \
|
|
|
|
! -name '*.css' \
|
2011-03-08 00:06:34 -05:00
|
|
|
| xargs rm
|
2011-03-11 19:56:23 -05:00
|
|
|
mv -f "${PATH_DOC}"/*.pdf "${PATH_DOC_OUTPUT}"
|
2011-03-09 19:12:16 -05:00
|
|
|
cd "${PATH_DOC}"; \
|
|
|
|
makeinfo -o "${PATH_DOC_OUTPUT_INFO}" "${PATH_MANUAL_TEXI}"; \
|
|
|
|
makeinfo --plain "${PATH_MANUAL_TEXI}" > "${PATH_DOC_OUTPUT_PLAIN}"; \
|
2011-03-09 19:10:13 -05:00
|
|
|
makeinfo --html --css-include="${PATH_DOC_CSS}" \
|
|
|
|
-o "${PATH_DOC_OUTPUT_HTML}" "${PATH_MANUAL_TEXI}"; \
|
|
|
|
makeinfo --no-split --html --css-include="${PATH_DOC_CSS}" \
|
2011-03-09 19:12:16 -05:00
|
|
|
-o "${PATH_DOC_OUTPUT_HTML1}" "${PATH_MANUAL_TEXI}";
|
2011-03-08 00:06:34 -05:00
|
|
|
|
2010-12-19 23:51:22 -05:00
|
|
|
# clean up build dir
|
2011-03-08 23:48:47 -05:00
|
|
|
clean:
|
2011-03-09 19:12:16 -05:00
|
|
|
rm -rf "${PATH_BUILD}"
|
2011-03-08 00:06:34 -05:00
|
|
|
|