]> git.parisson.com Git - pdf.js.git/commitdiff
removing Makefile, updating README
authorArtur Adib <arturadib@gmail.com>
Wed, 25 Apr 2012 15:02:02 +0000 (11:02 -0400)
committerArtur Adib <arturadib@gmail.com>
Wed, 25 Apr 2012 15:02:02 +0000 (11:02 -0400)
Makefile [deleted file]
README.md

diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index d958410..0000000
--- a/Makefile
+++ /dev/null
@@ -1,344 +0,0 @@
-REPO = git@github.com:mozilla/pdf.js.git
-BUILD_DIR := build
-BUILD_TARGET := $(BUILD_DIR)/pdf.js
-DEFAULT_BROWSERS := resources/browser_manifests/browser_manifest.json
-DEFAULT_TESTS := test_manifest.json
-DEFAULT_PYTHON := python2.7
-
-EXTENSION_SRC := ./extensions/
-EXTENSION_BASE_VERSION := f0f0418a9c6637981fe1182b9212c2d592774c7d
-FIREFOX_EXTENSION_NAME := pdf.js.xpi
-FIREFOX_AMO_EXTENSION_NAME := pdf.js.amo.xpi
-CHROME_EXTENSION_NAME := pdf.js.crx
-
-all: bundle
-
-# Let folks define custom rules for their clones.
--include local.mk
-
-# JS files needed for pdf.js.
-PDF_JS_FILES = \
-  core.js \
-  util.js \
-  api.js \
-  canvas.js \
-  obj.js \
-  function.js \
-  charsets.js \
-  cidmaps.js \
-  colorspace.js \
-  crypto.js \
-  evaluator.js \
-  fonts.js \
-  glyphlist.js \
-  image.js \
-  metrics.js \
-  parser.js \
-  pattern.js \
-  stream.js \
-  worker.js \
-  ../external/jpgjs/jpg.js \
-  jpx.js \
-  bidi.js \
-  metadata.js \
-       $(NULL)
-
-# make server
-#
-# This target starts a local web server at localhost:8888. This can be
-# used for testing all browsers.
-server:
-       @cd test; $(DEFAULT_PYTHON) test.py --port=8888;
-
-# make test
-#
-# This target runs all the tests excluding the unit-test. This can be used for
-# testing all browsers.
-test: shell-test browser-test
-
-#
-# Create production output (pdf.js, and corresponding changes to web files)
-#
-production: | bundle
-       @echo "Preparing web/viewer-production.html"; \
-       cd web; \
-       sed '/PDFJSSCRIPT_REMOVE_CORE/d' viewer.html > viewer-1.tmp; \
-       sed '/PDFJSSCRIPT_INCLUDE_BUILD/ r viewer-snippet.html' viewer-1.tmp > viewer-production.html; \
-       rm -f *.tmp; \
-       cd ..
-
-#
-# Bundle pdf.js
-#
-bundle: | $(BUILD_DIR)
-       @echo "Bundling source files into $(BUILD_TARGET)"
-       @cd src; \
-       cat $(PDF_JS_FILES) > all_files.tmp; \
-       sed '/PDFJSSCRIPT_INCLUDE_ALL/ r all_files.tmp' pdf.js > ../$(BUILD_TARGET); \
-       cp ../$(BUILD_TARGET) ../$(BUILD_TARGET).bak; \
-       sed "s/PDFJSSCRIPT_BUNDLE_VER/`git log --format="%h" -n 1`/" ../$(BUILD_TARGET).bak > ../$(BUILD_TARGET); \
-       rm -f ../$(BUILD_TARGET).bak; \
-       rm -f *.tmp; \
-       cd ..
-
-# make unit-test
-#
-# This target runs in-browser unit tests with our test framework and the
-# jasmine unit test framework.
-unit-test:
-       cd test; \
-       $(DEFAULT_PYTHON) test.py --unitTest \
-       --browserManifestFile=$(PDF_BROWSERS)
-
-# make browser-test
-#
-# This target runs in-browser tests using two primary arguments: a
-# test manifest file, and a browser manifest file. Both are simple
-# JSON formats, and examples can be found in the test/ directory. The
-# target will inspect the environment for the PDF_TESTS and
-# PDF_BROWSERS variables, and use those if found. Otherwise, the
-# defaults at the top of this file are used.
-ifeq ($(PDF_TESTS),)
-PDF_TESTS := $(DEFAULT_TESTS)
-endif
-ifeq ($(PDF_BROWSERS),)
-PDF_BROWSERS := $(DEFAULT_BROWSERS)
-endif
-
-browser-test:
-       @if [ ! -f "test/$(PDF_BROWSERS)" ]; then \
-       echo "Browser manifest file $(PDF_BROWSERS) does not exist."; \
-       echo "Try copying one of the examples" \
-              "in test/resources/browser_manifests/"; \
-       exit 1; \
-       fi;
-
-       cd test; \
-       $(DEFAULT_PYTHON) test.py --reftest \
-       --browserManifestFile=$(PDF_BROWSERS) \
-       --manifestFile=$(PDF_TESTS)
-
-# # make shell-test
-# #
-# # This target runs all of the tests that can be run in a JS shell.
-# # The shell used is taken from the JS_SHELL environment variable. If
-# # that variable is not defined, the script will attempt to use the copy
-# # of Rhino that comes with the Closure compiler used for producing the
-# # website.
-# SHELL_TARGET = $(NULL)
-# ifeq ($(JS_SHELL),)
-# JS_SHELL := "java -cp $(BUILD_DIR)/compiler.jar"
-# JS_SHELL += "com.google.javascript.jscomp.mozilla.rhino.tools.shell.Main"
-# SHELL_TARGET = compiler
-# endif
-# 
-# shell-test: shell-msg $(SHELL_TARGET) font-test
-# shell-msg:
-# ifeq ($(SHELL_TARGET), compiler)
-#   @echo "No JS_SHELL env variable present."
-#   @echo "The default is to find a copy of Rhino and try that."
-# endif
-#   @echo "JS shell command is: $(JS_SHELL)"
-# 
-# font-test:
-#   @echo "font test stub."
-
-# make lint
-#
-# This target runs the Closure Linter on most of our JS files.
-# To install gjslint, see:
-#
-# <http://code.google.com/closure/utilities/docs/linter_howto.html>
-SRC_DIRS := src utils web test examples/helloworld extensions/firefox \
-            extensions/firefox/components extensions/chrome test/unit
-GJSLINT_FILES = $(foreach DIR, $(SRC_DIRS), $(wildcard $(DIR)/*.js))
-lint:
-       gjslint --nojsdoc $(GJSLINT_FILES)
-
-# make web
-#
-# This target produces the website for the project, by checking out
-# the gh-pages branch underneath the build directory, and then move
-# the various viewer files into place.
-#
-# TODO: Use the Closure compiler to optimize the pdf.js files.
-#
-GH_PAGES = $(BUILD_DIR)/gh-pages
-web: | production extension compiler pages-repo
-       @cp $(BUILD_TARGET) $(GH_PAGES)/$(BUILD_TARGET)
-       @cp -R web/* $(GH_PAGES)/web
-       @cp web/images/* $(GH_PAGES)/web/images
-       @cp $(FIREFOX_BUILD_DIR)/$(FIREFOX_EXTENSION_NAME) \
-               $(FIREFOX_BUILD_DIR)/$(FIREFOX_AMO_EXTENSION_NAME) \
-               $(FIREFOX_BUILD_DIR)/update.rdf \
-               $(GH_PAGES)/$(EXTENSION_SRC)/firefox/
-       @cp $(GH_PAGES)/web/index.html.template $(GH_PAGES)/index.html;
-       @mv -f $(GH_PAGES)/web/viewer-production.html $(GH_PAGES)/web/viewer.html;
-       @cd $(GH_PAGES); git add -A;
-       @echo
-       @echo "Website built in $(GH_PAGES)."
-       @echo "Don't forget to cd into $(GH_PAGES)/ and issue 'git commit' to push changes."
-
-# make pages-repo
-#
-# This target clones the gh-pages repo into the build directory. It
-# deletes the current contents of the repo, since we overwrite
-# everything with data from the master repo. The 'make web' target
-# then uses 'git add -A' to track additions, modifications, moves,
-# and deletions.
-pages-repo: | $(BUILD_DIR)
-       @if [ ! -d "$(GH_PAGES)" ]; then \
-       git clone --depth 1 -b gh-pages $(REPO) $(GH_PAGES); \
-       rm -rf $(GH_PAGES)/*; \
-       fi;
-       @mkdir -p $(GH_PAGES)/web;
-       @mkdir -p $(GH_PAGES)/web/images;
-       @mkdir -p $(GH_PAGES)/build;
-       @mkdir -p $(GH_PAGES)/$(EXTENSION_SRC)/firefox;
-
-# # make compiler
-# #
-# # This target downloads the Closure compiler, and places it in the
-# # build directory. This target is also useful when the user doesn't
-# # have a JS shell available--we can have them use the Rhino shell that
-# # comes with Closure.
-# COMPILER_URL = http://closure-compiler.googlecode.com/files/compiler-latest.zip
-# 
-# compiler: $(BUILD_DIR)/compiler.zip
-# $(BUILD_DIR)/compiler.zip: | $(BUILD_DIR)
-#   curl $(COMPILER_URL) > $(BUILD_DIR)/compiler.zip;
-#   cd $(BUILD_DIR); unzip compiler.zip compiler.jar;
-
-# make extension
-#
-# This target produce a restartless firefox extension containing a
-# copy of the pdf.js source.
-CONTENT_DIR := content
-BUILD_NUMBER := `git log --format=oneline $(EXTENSION_BASE_VERSION).. | wc -l | awk '{print $$1}'`
-PDFJSSCRIPT_VERSION := 0.3.$(BUILD_NUMBER)
-EXTENSION_WEB_FILES = \
-       web/images \
-       web/viewer.css \
-       web/viewer.js \
-       web/viewer.html \
-       web/viewer-production.html \
-       web/debugger.js \
-       $(NULL)
-
-FIREFOX_BUILD_DIR := $(BUILD_DIR)/firefox
-FIREFOX_BUILD_CONTENT := $(FIREFOX_BUILD_DIR)/$(CONTENT_DIR)/
-FIREFOX_CONTENT_DIR := $(EXTENSION_SRC)/firefox/$(CONTENT_DIR)/
-FIREFOX_EXTENSION_FILES_TO_COPY = \
-       *.js \
-       *.rdf \
-       *.png \
-       install.rdf.in \
-       README.mozilla \
-       components \
-       ../../LICENSE \
-       $(NULL)
-FIREFOX_EXTENSION_FILES = \
-       bootstrap.js \
-       install.rdf \
-       icon.png \
-       icon64.png \
-       components \
-       content \
-       LICENSE \
-       $(NULL)
-FIREFOX_MC_EXTENSION_FILES = \
-       bootstrap.js \
-       icon.png \
-       icon64.png \
-       components \
-       content \
-       LICENSE \
-       $(NULL)
-
-CHROME_BUILD_DIR := $(BUILD_DIR)/chrome
-CHROME_CONTENT_DIR := $(EXTENSION_SRC)/chrome/$(CONTENT_DIR)/
-CHROME_BUILD_CONTENT := $(CHROME_BUILD_DIR)/$(CONTENT_DIR)/
-CHROME_EXTENSION_FILES = \
-       extensions/chrome/*.json \
-       extensions/chrome/*.html \
-       $(NULL)
-extension: | production
-       # Clear out everything in the firefox extension build directory
-       @rm -Rf $(FIREFOX_BUILD_DIR)
-       @mkdir -p $(FIREFOX_BUILD_CONTENT)
-       @mkdir -p $(FIREFOX_BUILD_CONTENT)/$(BUILD_DIR)
-       @mkdir -p $(FIREFOX_BUILD_CONTENT)/web
-       @cd extensions/firefox; cp -r $(FIREFOX_EXTENSION_FILES_TO_COPY) ../../$(FIREFOX_BUILD_DIR)/
-       # Copy a standalone version of pdf.js inside the content directory
-       @cp $(BUILD_TARGET) $(FIREFOX_BUILD_CONTENT)/$(BUILD_DIR)/
-       @cp -r $(EXTENSION_WEB_FILES) $(FIREFOX_BUILD_CONTENT)/web/
-       @rm $(FIREFOX_BUILD_CONTENT)/web/viewer-production.html
-       # Copy over the firefox extension snippet so we can inline pdf.js in it
-       @cp web/viewer-snippet-firefox-extension.html $(FIREFOX_BUILD_CONTENT)/web/
-       # Modify the viewer so it does all the extension only stuff.
-       @cd $(FIREFOX_BUILD_CONTENT)/web; \
-       cp viewer-snippet-firefox-extension.html viewer-snippet-firefox-extension.html.bak; \
-       sed '/PDFJSSCRIPT_INCLUDE_BUNDLE/ r ../build/pdf.js' viewer-snippet-firefox-extension.html.bak > viewer-snippet-firefox-extension.html; \
-       cp viewer.html viewer.html.bak; \
-       sed '/PDFJSSCRIPT_REMOVE_CORE/d' viewer.html.bak > viewer.html; \
-       cp viewer.html viewer.html.bak; \
-       sed '/PDFJSSCRIPT_REMOVE_FIREFOX_EXTENSION/d' viewer.html.bak > viewer.html; \
-       cp viewer.html viewer.html.bak; \
-       sed '/PDFJSSCRIPT_INCLUDE_FIREFOX_EXTENSION/ r viewer-snippet-firefox-extension.html' viewer.html.bak > viewer.html; \
-       rm -f *.bak;
-       # We don't need pdf.js anymore since its inlined
-       @rm -Rf $(FIREFOX_BUILD_CONTENT)/$(BUILD_DIR)/;
-       # Update the build version number
-       cp $(FIREFOX_BUILD_DIR)/install.rdf $(FIREFOX_BUILD_DIR)/install.rdf.bak
-       @sed "s/PDFJSSCRIPT_VERSION/$(PDFJSSCRIPT_VERSION)/" $(FIREFOX_BUILD_DIR)/install.rdf.bak > $(FIREFOX_BUILD_DIR)/install.rdf
-       cp $(FIREFOX_BUILD_DIR)/install.rdf.in $(FIREFOX_BUILD_DIR)/install.rdf.in.bak
-       @sed "s/PDFJSSCRIPT_VERSION/$(PDFJSSCRIPT_VERSION)/" $(FIREFOX_BUILD_DIR)/install.rdf.in.bak > $(FIREFOX_BUILD_DIR)/install.rdf.in
-       cp $(FIREFOX_BUILD_DIR)/update.rdf $(FIREFOX_BUILD_DIR)/update.rdf.bak
-       @sed "s/PDFJSSCRIPT_VERSION/$(PDFJSSCRIPT_VERSION)/" $(FIREFOX_BUILD_DIR)/update.rdf.bak > $(FIREFOX_BUILD_DIR)/update.rdf
-       cp $(FIREFOX_BUILD_DIR)/README.mozilla $(FIREFOX_BUILD_DIR)/README.mozilla.bak
-       @sed "s/PDFJSSCRIPT_VERSION/$(PDFJSSCRIPT_VERSION)/" $(FIREFOX_BUILD_DIR)/README.mozilla.bak > $(FIREFOX_BUILD_DIR)/README.mozilla
-       @rm -f $(FIREFOX_BUILD_DIR)/*.bak
-       @find $(FIREFOX_BUILD_DIR) -name ".*" -delete
-       # Create the xpi
-       @cd $(FIREFOX_BUILD_DIR); zip -r $(FIREFOX_EXTENSION_NAME) $(FIREFOX_EXTENSION_FILES)
-       @echo "extension created: " $(FIREFOX_EXTENSION_NAME)
-       # Build the amo extension too (remove the updateUrl)
-       cp $(FIREFOX_BUILD_DIR)/install.rdf $(FIREFOX_BUILD_DIR)/install.rdf.bak
-       @sed "/updateURL/d" $(FIREFOX_BUILD_DIR)/install.rdf.bak > $(FIREFOX_BUILD_DIR)/install.rdf
-       @rm -f $(FIREFOX_BUILD_DIR)/*.bak
-       @cd $(FIREFOX_BUILD_DIR); zip -r $(FIREFOX_AMO_EXTENSION_NAME) $(FIREFOX_EXTENSION_FILES)
-       @echo "AMO extension created: " $(FIREFOX_AMO_EXTENSION_NAME)
-       # List all files for mozilla-central
-       @cd $(FIREFOX_BUILD_DIR); find $(FIREFOX_MC_EXTENSION_FILES) -type f > extension-files
-
-       # Clear out everything in the chrome extension build directory
-       @rm -Rf $(CHROME_BUILD_DIR)
-       @mkdir -p $(CHROME_BUILD_CONTENT)
-       @mkdir -p $(CHROME_BUILD_CONTENT)/$(BUILD_DIR)
-       @mkdir -p $(CHROME_BUILD_CONTENT)/web
-       @cp -R $(CHROME_EXTENSION_FILES) $(CHROME_BUILD_DIR)/
-       # Copy a standalone version of pdf.js inside the content directory
-       @cp $(BUILD_TARGET) $(CHROME_BUILD_CONTENT)/$(BUILD_DIR)/
-       @cp -r $(EXTENSION_WEB_FILES) $(CHROME_BUILD_CONTENT)/web/
-       @mv -f $(CHROME_BUILD_CONTENT)/web/viewer-production.html $(CHROME_BUILD_CONTENT)/web/viewer.html
-
-  # Create the crx
-  #TODO
-
-
-
-# Make sure there's a build directory.
-$(BUILD_DIR):
-       mkdir -p $(BUILD_DIR)
-
-clean:
-       rm -rf $(BUILD_DIR)
-
-# make help
-#
-# This target just prints out a message to read these comments. :)
-help:
-       @echo "Read the comments in the Makefile for guidance.";
-
-.PHONY:: production test browser-test font-test shell-test \
-       shell-msg lint clean web compiler help server
index 4c6fc1e189eee3a7ca19047ca4e0a17d106d07a0..9c242d0b84dae4ebda1a901d8c2a2d4cc126382a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ Also, note that the development extension is updated on every merge and by defau
 auto-update extensions on a daily basis (you can change this through the 
 `extensions.update.interval` option in `about:config`).
 
-For an experimental Chrome extension, get the code as explained below and issue `make extension`. 
+For an experimental Chrome extension, get the code as explained below and issue `node make extension`. 
 Then open Chrome, go to `Tools > Extension` and load the (unpackaged) extension
 from the directory `build/chrome`.
 
@@ -50,9 +50,10 @@ To get a local copy of the current code, clone it using git:
 Next, you need to start a local web server as some browsers don't allow opening
 PDF files for a file:// url:
 
-    $ make server
+    $ node make server
 
-If everything worked out, you can now serve 
+You can install Node via [nvm](https://github.com/creationix/nvm) or the 
+[official package](http://nodejs.org). If everything worked out, you can now serve 
 
 + http://localhost:8888/web/viewer.html
 
@@ -64,7 +65,7 @@ You can also view all the test pdf files on the right side serving
 
 In order to bundle all `src/` files into a final `pdf.js`, issue:
 
-    $ make
+    $ node make bundle
 
 This will generate the file `build/pdf.js` that can be included in your final project. (WARNING: That's a large file! Consider minifying it).