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) 
 |