Use locally installed node-pre-gyp if there's no global one. This is necessary to be able to run make outside of npm. Make example executable. Change path to the request include file. Bump mbgl to master.
79 lines
1.5 KiB
Makefile
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
|
|
|
|
.PHONY: test-suite
|
|
test-suite:
|
|
-@(`npm bin`/tape test/render.test.js | `npm bin`/tap-spec)
|
|
|
|
.PHONY: test-js
|
|
test-js:
|
|
@(`npm bin`/tape test/js/**/*.test.js | `npm bin`/tap-spec)
|
|
|
|
.PHONY: test
|
|
test: test-js test-suite
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -rf build lib
|
|
rm -f $(MBGL)/config/$(HOST).gypi
|