mirror of
https://github.com/mapgears/ol3-google-maps.git
synced 2026-01-18 15:06:59 +00:00
In order to make the installation procedure much easier,
this patches makes openlayers no longer included as a git
submodule, but as a node module instead.
Also, the version of openlayers has been upgraded to
3.13.1, with an additional patch:
0a51e4ac32
125 lines
4.2 KiB
Makefile
125 lines
4.2 KiB
Makefile
ifeq ($(shell uname),Darwin)
|
|
SEDI := $(shell which sed) -i ''
|
|
else
|
|
SEDI := $(shell which sed) -i
|
|
endif
|
|
UNAME := $(shell uname)
|
|
SRC_JS_FILES := $(shell find src -type f -name '*.js')
|
|
EXAMPLES_JS_FILES := $(shell find examples -type f -name '*.js')
|
|
EXAMPLES_HTML_FILES := $(shell find examples -type f -name '*.html')
|
|
EXAMPLES_GEOJSON_FILES := $(shell find examples/data/ -name '*.geojson')
|
|
|
|
|
|
.PHONY: all
|
|
all: help
|
|
|
|
.PHONY: help
|
|
help:
|
|
@echo "Usage: make <target>"
|
|
@echo
|
|
@echo "Main targets:"
|
|
@echo
|
|
@echo "- dist Create a "distribution" for the library (dist/ol3gm.js)"
|
|
@echo "- check Perform a number of checks on the code (lint, compile, etc.)"
|
|
@echo "- lint Check the code with the linter"
|
|
@echo "- serve Run a development web server for running the examples"
|
|
@echo "- dist-examples Create a "distribution" for the examples (dist/examples/)"
|
|
@echo "- dist-apidoc Create a "distribution" for the api docs (dist/apidoc/)"
|
|
@echo "- clean Remove generated files"
|
|
@echo "- cleanall Remove all the build artefacts"
|
|
@echo "- help Display this help message"
|
|
@echo
|
|
|
|
.PHONY: npm-install
|
|
npm-install: .build/node_modules.timestamp
|
|
|
|
.PHONY: serve
|
|
serve: npm-install node_modules/openlayers/build/olX
|
|
node build/serve.js
|
|
|
|
.PHONY: dist
|
|
dist: dist/ol3gm.js dist/ol3gm-debug.js CHANGES.md
|
|
cp CHANGES.md dist/
|
|
|
|
.PHONY: dist-examples
|
|
dist-examples: .build/dist-examples.timestamp
|
|
|
|
.PHONY: dist-apidoc
|
|
dist-apidoc:
|
|
node node_modules/.bin/jsdoc -c build/jsdoc/api/conf.json -d dist/apidoc
|
|
|
|
.PHONY: lint
|
|
lint: .build/python-venv/bin/gjslint .build/gjslint.timestamp
|
|
|
|
.build/geojsonhint.timestamp: $(EXAMPLES_GEOJSON_FILES)
|
|
$(foreach file,$?, echo $(file); node_modules/geojsonhint/bin/geojsonhint $(file);)
|
|
touch $@
|
|
|
|
.PHONY: check
|
|
check: lint dist .build/geojsonhint.timestamp
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f dist/ol3gm.js
|
|
rm -f node_modules/openlayers/build/ol.js
|
|
rm -f node_modules/openlayers/build/ol-debug.js
|
|
rm -f node_modules/openlayers/build/ol.css
|
|
rm -f node_modules/openlayers/build/ol-externs.js
|
|
rm -rf dist/ol3
|
|
rm -rf dist/examples
|
|
|
|
.PHONY: cleanall
|
|
cleanall: clean
|
|
rm -rf .build
|
|
|
|
.build/node_modules.timestamp: package.json
|
|
npm install
|
|
mkdir -p $(dir $@)
|
|
touch $@
|
|
|
|
.build/gjslint.timestamp: $(SRC_JS_FILES)
|
|
.build/python-venv/bin/gjslint --jslint_error=all --strict --custom_jsdoc_tags=api $?
|
|
touch $@
|
|
|
|
.build/dist-examples.timestamp: node_modules/openlayers/build/olX dist/ol3gm.js $(EXAMPLES_JS_FILES) $(EXAMPLES_HTML_FILES)
|
|
node build/parse-examples.js
|
|
mkdir -p $(dir $@)
|
|
mkdir -p dist/ol3
|
|
cp node_modules/openlayers/build/ol-debug.js dist/ol3/
|
|
cp node_modules/openlayers/build/ol.js dist/ol3/
|
|
mkdir -p dist/ol3/css
|
|
cp node_modules/openlayers/build/ol.css dist/ol3/css/
|
|
cp -R examples dist/
|
|
for f in dist/examples/*.html; do $(SEDI) 'sY/@loaderY../ol3gm.jsY' $$f; done
|
|
for f in dist/examples/*.html; do $(SEDI) 'sY../node_modules/openlayers/build/ol.jsY../node_modules/openlayers/ol-debug.jsY' $$f; done
|
|
touch $@
|
|
|
|
.build/python-venv:
|
|
mkdir -p $(dir $@)
|
|
virtualenv --no-site-packages $@
|
|
|
|
.build/python-venv/bin/gjslint: .build/python-venv
|
|
.build/python-venv/bin/pip install "http://closure-linter.googlecode.com/files/closure_linter-latest.tar.gz"
|
|
touch $@
|
|
|
|
dist/ol3gm-debug.js: build/ol3gm-debug.json $(SRC_JS_FILES) node_modules/openlayers/build/ol-externs.js build/build.js npm-install
|
|
mkdir -p $(dir $@)
|
|
node build/build.js $< $@
|
|
|
|
# A sourcemap is prepared, the source is exected to be deployed in 'source' directory
|
|
dist/ol3gm.js: build/ol3gm.json $(SRC_JS_FILES) node_modules/openlayers/build/ol-externs.js build/build.js npm-install
|
|
mkdir -p $(dir $@)
|
|
node build/build.js $< $@
|
|
$(SEDI) 's!$(shell pwd)/dist!source!g' dist/ol3gm.js.map
|
|
$(SEDI) 's!$(shell pwd)!source!g' dist/ol3gm.js.map
|
|
# echo '//# sourceMappingURL=ol3gm.js.map' >> dist/ol3gm.js
|
|
# -ln -s .. dist/source
|
|
|
|
.PHONY: node_modules/openlayers/build/ol-externs.js
|
|
node_modules/openlayers/build/ol-externs.js:
|
|
(cd node_modules/openlayers && npm install && node tasks/generate-externs.js build/ol-externs.js)
|
|
|
|
.PHONY: node_modules/openlayers/build/olX
|
|
node_modules/openlayers/build/olX:
|
|
(cd node_modules/openlayers && npm install && make build)
|