1 | NAME=method-draw
|
---|
2 | VERSION=2.6
|
---|
3 | PACKAGE=$(NAME)
|
---|
4 | MAKEDOCS=naturaldocs/NaturalDocs
|
---|
5 | CLOSURE=build/tools/closure-compiler.jar
|
---|
6 | YUICOMPRESSOR=build/tools/yuicompressor-2.4.7.jar
|
---|
7 |
|
---|
8 | # All files that will be compiled by the Closure compiler.
|
---|
9 |
|
---|
10 | JS_FILES=\
|
---|
11 | lib/touch.js \
|
---|
12 | lib/js-hotkeys/jquery.hotkeys.min.js \
|
---|
13 | lib/jquerybbq/jquery.bbq.min.js \
|
---|
14 | icons/jquery.svgicons.js \
|
---|
15 | lib/jgraduate/jquery.jgraduate.js \
|
---|
16 | lib/contextmenu/jquery.contextmenu.js \
|
---|
17 | src/browser.js \
|
---|
18 | src/svgtransformlist.js \
|
---|
19 | src/math.js \
|
---|
20 | src/units.js \
|
---|
21 | src/svgutils.js \
|
---|
22 | src/sanitize.js \
|
---|
23 | src/history.js \
|
---|
24 | src/select.js \
|
---|
25 | src/draw.js \
|
---|
26 | src/path.js \
|
---|
27 | src/svgcanvas.js \
|
---|
28 | src/method-draw.js \
|
---|
29 | lib/jquery-draginput.js \
|
---|
30 | lib/contextmenu.js \
|
---|
31 | lib/jquery-ui/jquery-ui-1.8.17.custom.min.js \
|
---|
32 | lib/jgraduate/jpicker.min.js \
|
---|
33 | lib/mousewheel.js \
|
---|
34 | extensions/ext-eyedropper.js \
|
---|
35 | extensions/ext-grid.js \
|
---|
36 | extensions/ext-shapes.js \
|
---|
37 | lib/requestanimationframe.js \
|
---|
38 | lib/taphold.js
|
---|
39 |
|
---|
40 | CSS_FILES=\
|
---|
41 | lib/jgraduate/css/jPicker.css \
|
---|
42 | lib/jgraduate/css/jgraduate.css \
|
---|
43 | css/method-draw.css \
|
---|
44 |
|
---|
45 | JS_INPUT_FILES=$(addprefix editor/, $(JS_FILES))
|
---|
46 | CSS_INPUT_FILES=$(addprefix editor/, $(CSS_FILES))
|
---|
47 | JS_BUILD_FILES=$(addprefix $(PACKAGE)/, $(JS_FILES))
|
---|
48 | CSS_BUILD_FILES=$(addprefix $(PACKAGE)/, $(CSS_FILES))
|
---|
49 | CLOSURE_JS_ARGS=$(addprefix --js , $(JS_INPUT_FILES))
|
---|
50 | COMPILED_JS=editor/method-draw.compiled.js
|
---|
51 | COMPILED_CSS=editor/css/method-draw.compiled.css
|
---|
52 |
|
---|
53 | all: release
|
---|
54 |
|
---|
55 | # The build directory relies on the JS being compiled.
|
---|
56 | $(PACKAGE): $(COMPILED_JS) $(COMPILED_CSS)
|
---|
57 | rm -rf config
|
---|
58 | mkdir config
|
---|
59 | if [ -x $(MAKEDOCS) ] ; then $(MAKEDOCS) -i editor/ -o html docs/ -p config/ -oft -r ; fi
|
---|
60 |
|
---|
61 | # Make build directory and copy all editor contents into it
|
---|
62 | mkdir -p $(PACKAGE)
|
---|
63 | cp -r editor/* $(PACKAGE)
|
---|
64 |
|
---|
65 | # Remove all hidden .svn directories
|
---|
66 | -find $(PACKAGE) -name .svn -type d | xargs rm -rf {} \;
|
---|
67 | -find $(PACKAGE) -name .git -type d | xargs rm -rf {} \;
|
---|
68 |
|
---|
69 | # Create the release version of the main HTML file.
|
---|
70 | build/tools/ship.py --i=editor/index.html --on=svg_edit_release > $(PACKAGE)/index.html
|
---|
71 |
|
---|
72 | # NOTE: Some files are not ready for the Closure compiler: (jquery)
|
---|
73 | # NOTE: Our code safely compiles under SIMPLE_OPTIMIZATIONS
|
---|
74 | # NOTE: Our code is *not* ready for ADVANCED_OPTIMIZATIONS
|
---|
75 | # NOTE: WHITESPACE_ONLY and --formatting PRETTY_PRINT is helpful for debugging.
|
---|
76 |
|
---|
77 | $(COMPILED_CSS):
|
---|
78 | cat $(CSS_INPUT_FILES) > editor/temp.css;
|
---|
79 | java -jar $(YUICOMPRESSOR) editor/temp.css -o $(COMPILED_CSS) --line-break 0;
|
---|
80 |
|
---|
81 | $(COMPILED_JS):
|
---|
82 | java -jar $(CLOSURE) \
|
---|
83 | --compilation_level SIMPLE_OPTIMIZATIONS \
|
---|
84 | $(CLOSURE_JS_ARGS) \
|
---|
85 | --js_output_file $(COMPILED_JS)
|
---|
86 |
|
---|
87 | compile: $(COMPILED_JS) $(COMPILED_CSS)
|
---|
88 |
|
---|
89 | release: $(PACKAGE)
|
---|
90 |
|
---|
91 | deploy:
|
---|
92 | cp -R method-draw ../Method.ac/public
|
---|
93 |
|
---|
94 | clean:
|
---|
95 | rm -rf config
|
---|
96 | rm -rf $(PACKAGE)
|
---|
97 | rm -rf $(COMPILED_JS)
|
---|
98 | rm -rf $(COMPILED_CSS) |
---|