98 lines
2.7 KiB
Makefile
98 lines
2.7 KiB
Makefile
NAME=method-draw
|
|
VERSION=2.6
|
|
PACKAGE=$(NAME)
|
|
MAKEDOCS=naturaldocs/NaturalDocs
|
|
CLOSURE=build/tools/closure-compiler.jar
|
|
YUICOMPRESSOR=build/tools/yuicompressor-2.4.7.jar
|
|
|
|
# All files that will be compiled by the Closure compiler.
|
|
|
|
JS_FILES=\
|
|
lib/pathseg.js \
|
|
lib/touch.js \
|
|
lib/js-hotkeys/jquery.hotkeys.min.js \
|
|
icons/jquery.svgicons.js \
|
|
lib/jgraduate/jquery.jgraduate.js \
|
|
lib/contextmenu/jquery.contextMenu.js \
|
|
src/browser.js \
|
|
src/svgtransformlist.js \
|
|
src/math.js \
|
|
src/units.js \
|
|
src/svgutils.js \
|
|
src/sanitize.js \
|
|
src/history.js \
|
|
src/select.js \
|
|
src/draw.js \
|
|
src/path.js \
|
|
src/svgcanvas.js \
|
|
src/method-draw.js \
|
|
lib/jquery-draginput.js \
|
|
lib/contextmenu.js \
|
|
lib/jquery-ui/jquery-ui-1.8.17.custom.min.js \
|
|
lib/jgraduate/jpicker.min.js \
|
|
lib/mousewheel.js \
|
|
extensions/ext-eyedropper.js \
|
|
extensions/ext-grid.js \
|
|
extensions/ext-shapes.js \
|
|
lib/requestanimationframe.js \
|
|
lib/taphold.js \
|
|
lib/filesaver.js
|
|
|
|
CSS_FILES=\
|
|
lib/jgraduate/css/jPicker.css \
|
|
lib/jgraduate/css/jgraduate.css \
|
|
css/method-draw.css \
|
|
|
|
JS_INPUT_FILES=$(addprefix editor/, $(JS_FILES))
|
|
CSS_INPUT_FILES=$(addprefix editor/, $(CSS_FILES))
|
|
JS_BUILD_FILES=$(addprefix $(PACKAGE)/, $(JS_FILES))
|
|
CSS_BUILD_FILES=$(addprefix $(PACKAGE)/, $(CSS_FILES))
|
|
CLOSURE_JS_ARGS=$(addprefix --js , $(JS_INPUT_FILES))
|
|
COMPILED_JS=editor/method-draw.compiled.js
|
|
COMPILED_CSS=editor/css/method-draw.compiled.css
|
|
|
|
all: release
|
|
|
|
# The build directory relies on the JS being compiled.
|
|
$(PACKAGE): $(COMPILED_JS) $(COMPILED_CSS)
|
|
rm -rf config;
|
|
mkdir config;
|
|
if [ -x $(MAKEDOCS) ] ; then $(MAKEDOCS) -i editor/ -o html docs/ -p config/ -oft -r ; fi
|
|
|
|
# Make build directory and copy all editor contents into it
|
|
mkdir -p $(PACKAGE)
|
|
cp -r editor/* $(PACKAGE)
|
|
|
|
# Remove all hidden .svn directories
|
|
-find $(PACKAGE) -name .svn -type d | xargs rm -rf {} \;
|
|
-find $(PACKAGE) -name .git -type d | xargs rm -rf {} \;
|
|
|
|
# Create the release version of the main HTML file.
|
|
build/tools/ship.py --i=editor/index.html --on=svg_edit_release > $(PACKAGE)/index.html
|
|
|
|
# NOTE: Some files are not ready for the Closure compiler: (jquery)
|
|
# NOTE: Our code safely compiles under SIMPLE_OPTIMIZATIONS
|
|
# NOTE: Our code is *not* ready for ADVANCED_OPTIMIZATIONS
|
|
# NOTE: WHITESPACE_ONLY and --formatting PRETTY_PRINT is helpful for debugging.
|
|
|
|
$(COMPILED_CSS):
|
|
cat $(CSS_INPUT_FILES) > editor/temp.css;
|
|
java -jar $(YUICOMPRESSOR) editor/temp.css -o $(COMPILED_CSS) --line-break 0;
|
|
rm editor/temp.css;
|
|
|
|
$(COMPILED_JS):
|
|
java -jar $(CLOSURE) \
|
|
--compilation_level SIMPLE_OPTIMIZATIONS \
|
|
$(CLOSURE_JS_ARGS) \
|
|
--js_output_file $(COMPILED_JS)
|
|
|
|
compile: $(COMPILED_JS) $(COMPILED_CSS)
|
|
|
|
release: $(PACKAGE)
|
|
|
|
clean:
|
|
rm -rf config
|
|
rm -rf $(PACKAGE)
|
|
rm -rf $(COMPILED_JS)
|
|
rm -rf $(COMPILED_CSS)
|