From 3fe132c8625e7653ef12450295a32e892eb5ec23 Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Sun, 20 Mar 2011 01:25:57 -0400 Subject: [PATCH] Makefile no longer recombines if unnecessary --- Makefile | 20 +++++++++++++------- doc/img/inheritance-ex.png | Bin 13663 -> 0 bytes 2 files changed, 13 insertions(+), 7 deletions(-) delete mode 100644 doc/img/inheritance-ex.png diff --git a/Makefile b/Makefile index 3e5b8dd..b9af7e4 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ PATH_BUILD=./build PATH_TOOLS=./tools +PATH_LIB=./lib PATH_COMBINE_OUTPUT=${PATH_BUILD}/ease.js PATH_COMBINE_OUTPUT_FULL=${PATH_BUILD}/ease-full.js PATH_BROWSER_TEST=${PATH_TOOLS}/browser-test.html @@ -19,6 +20,7 @@ PATH_DOC_CSS=${PATH_DOC}/manual.css PATH_DOC_IMG=${PATH_DOC}/img PATH_MANUAL_TEXI=${PATH_DOC}/manual.texi +src_js := index.js $(wildcard $(PATH_LIB)/*.js) doc_src := $(wildcard $(PATH_DOC)/*.texi) doc_imgs := $(patsubst %.dia, %.png, $(wildcard $(PATH_DOC_IMG)/*.dia)) @@ -31,25 +33,29 @@ TESTS := $(shell find "$(PATH_TEST)" \ TEST_COMBINE := $(PATH_TEST)/test-combine*.js -.PHONY: test test-combine doc +.PHONY: combine doc test test-combine default: combine all: combine doc # create build dir -mkbuild: +$(PATH_BUILD): mkdir -p "$(PATH_BUILD)" $(PATH_DOC_OUTPUT): mkdir -p "$(PATH_DOC_OUTPUT)" -mkbuild-doc: | $(PATH_DOC_OUTPUT) +mkbuild: $(PATH_BUILD) +mkbuild-doc: $(PATH_DOC_OUTPUT) # combine all modules into easily redistributable ease.js file (intended for # browser) -combine: mkbuild - ${COMBINE} > "${PATH_COMBINE_OUTPUT}" - INC_TEST=1 "${COMBINE}" > "${PATH_COMBINE_OUTPUT_FULL}" - cp "${PATH_BROWSER_TEST}" "${PATH_BUILD}" +$(PATH_COMBINE_OUTPUT): $(src_js) | mkbuild + ${COMBINE} > "$(PATH_COMBINE_OUTPUT)" +$(PATH_COMBINE_OUTPUT_FULL): $(src_js) | mkbuild + INC_TEST=1 "$(COMBINE)" > "${PATH_COMBINE_OUTPUT_FULL}" +$(PATH_BUILD)/browser-test.html: $(PATH_COMBINE_OUTPUT_FULL) + cp "$(PATH_BROWSER_TEST)" "$(PATH_BUILD)" +combine: $(PATH_COMBINE_OUTPUT) $(PATH_BUILD)/browser-test.html # run tests test: default $(TESTS) test-combine diff --git a/doc/img/inheritance-ex.png b/doc/img/inheritance-ex.png deleted file mode 100644 index 1631bc15daa77c17f36fb52d4584a173154774b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13663 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 B@?ro0