Files
MapLibreParticleLab/platform/node/Makefile
2015-08-31 16:44:08 -07:00

79 lines
1.5 KiB
Makefile

BUILDTYPE ?= Release
MBGL ?= vendor/mbgl
DEBUG_FLAG =
ifeq ($(BUILDTYPE), Debug)
DEBUG_FLAG = -d
endif
ifeq ($(shell uname -s), Darwin)
HOST ?= osx
ifeq ($(JOBS),)
JOBS = $(shell sysctl -n hw.ncpu)
endif
endif
ifeq ($(shell uname -s), Linux)
HOST ?= linux
ifeq ($(JOBS),)
JOBS = $(shell nproc)
endif
endif
NODE_PRE_GYP = $(shell which node-pre-gyp)
ifeq ($(NODE_PRE_GYP),)
NODE_PRE_GYP = $(shell npm bin)/node-pre-gyp
endif
# Explicitly disable the default FileSource implementation
ASSET = none
HTTP = none
CACHE = none
include $(MBGL)/config/defaults.mk
global: build
.PHONY: build
build: build/Makefile
@$(NODE_PRE_GYP) build $(DEBUG_FLAG) --clang -- -j$(JOBS)
vendor/mbgl:
git submodule update --init
GYP_SETTINGS = -Dmbgl=$(MBGL) \
-Dhost=$(HOST) \
-I$(MBGL)/config/$(HOST).gypi \
$(LIBS_$(HOST)) \
-Duv_static_libs= -Duv_ldflags=
.PHONY: build/Makefile
build/Makefile: $(MBGL)/config/$(HOST).gypi
@$(NODE_PRE_GYP) configure --clang -- $(GYP_SETTINGS) -f make
.PHONY: build/binding.xcodeproj
build/binding.xcodeproj: $(MBGL)/config/$(HOST).gypi
@$(NODE_PRE_GYP) configure --clang -- $(GYP_SETTINGS) -f xcode
.PHONY: xproj
xproj: build/binding.xcodeproj
open build/binding.xcodeproj
$(MBGL)/config/%.gypi: $(MBGL) $(MBGL)/configure
make -C $(MBGL) config/$*.gypi geojsonvt
.PHONY: test-suite
test-suite:
-@(`npm bin`/tape test/render.test.js)
.PHONY: test-js
test-js:
@(`npm bin`/tape test/js/**/*.test.js)
.PHONY: test
test: test-js test-suite
.PHONY: clean
clean:
rm -rf build lib
rm -f $(MBGL)/config/$(HOST).gypi