[build] add ninja + compilation database support
This commit is contained in:
7
Makefile
7
Makefile
@@ -22,9 +22,10 @@ default: ; @printf "You must specify a valid target\n"
|
||||
#### OS X targets ##############################################################
|
||||
|
||||
ifeq ($(BUILD),osx)
|
||||
.PHONY: osx xosx run-osx run-xosx
|
||||
.PHONY: osx xosx nosx run-osx run-xosx
|
||||
osx: ; $(RUN) HOST=osx HOST_VERSION=x86_64 Makefile/osxapp
|
||||
xosx: ; $(RUN) HOST=osx HOST_VERSION=x86_64 Xcode/osxapp
|
||||
nosx: ; $(RUN) HOST=osx HOST_VERSION=x86_64 Ninja/osxapp
|
||||
run-osx: osx ; @"build/osx-x86_64/$(BUILDTYPE)/Mapbox GL.app/Contents/MacOS/Mapbox GL"
|
||||
run-xosx: xosx ; @"gyp/build/$(BUILDTYPE)/Mapbox GL.app/Contents/MacOS/Mapbox GL"
|
||||
|
||||
@@ -61,10 +62,14 @@ endif
|
||||
|
||||
.PHONY: linux run-linux run-valgrind-linux
|
||||
linux: ; $(RUN) Makefile/linuxapp
|
||||
nlinux: ; $(RUN) Ninja/linuxapp
|
||||
run-linux: linux ; (cd build/linux-x86_64/$(BUILDTYPE) && ./mapbox-gl)
|
||||
run-valgrind-linux: linux
|
||||
(cd build/linux-x86_64/$(BUILDTYPE) && valgrind --leak-check=full --suppressions=../../../scripts/valgrind.sup ./mapbox-gl)
|
||||
|
||||
# Generates a compilation database with ninja for use in clang tooling
|
||||
compdb: ; $(RUN) Ninja/compdb
|
||||
|
||||
.PHONY: android android-lib
|
||||
# Builds a particular android architecture.
|
||||
android-lib-%: ; $(RUN) HOST=android HOST_VERSION=$* Makefile/androidapp
|
||||
|
||||
BIN
deps/ninja/ninja-linux
vendored
Executable file
BIN
deps/ninja/ninja-linux
vendored
Executable file
Binary file not shown.
BIN
deps/ninja/ninja-osx
vendored
Executable file
BIN
deps/ninja/ninja-osx
vendored
Executable file
Binary file not shown.
@@ -94,6 +94,12 @@ Xcode/__project__: print-env $(SUBMODULES) config/$(HOST_SLUG).gypi
|
||||
$(QUIET)$(ENV) deps/run_gyp gyp/$(HOST).gyp $(GYP_FLAGS) \
|
||||
-f xcode$(GYP_FLAVOR_SUFFIX)
|
||||
|
||||
.PHONY: Ninja/__project__
|
||||
Ninja/__project__: print-env $(SUBMODULES) config/$(HOST_SLUG).gypi
|
||||
@printf "$(TEXT_BOLD)$(COLOR_GREEN)* Recreating project...$(FORMAT_END)\n"
|
||||
$(QUIET)$(ENV) deps/run_gyp gyp/$(HOST).gyp -Gconfig=$(BUILDTYPE) $(GYP_FLAGS) \
|
||||
-f ninja
|
||||
|
||||
#### Build individual targets ##################################################
|
||||
|
||||
NODE_PRE_GYP = $(shell npm bin)/node-pre-gyp
|
||||
@@ -136,6 +142,17 @@ Xcode/%: Xcode/__project__
|
||||
-jobs $(JOBS) \
|
||||
$(XCPRETTY)
|
||||
|
||||
Ninja/%: Ninja/__project__
|
||||
@printf "$(TEXT_BOLD)$(COLOR_GREEN)* Building target $*...$(FORMAT_END)\n"
|
||||
$(QUIET)$(ENV) deps/ninja/ninja-$(HOST) -C build/$(HOST_SLUG)/$(BUILDTYPE) $*
|
||||
|
||||
|
||||
Ninja/compdb: OUTPUT=build/$(HOST_SLUG)/$(BUILDTYPE)/compile_commands.json
|
||||
Ninja/compdb: Ninja/__project__
|
||||
@printf "$(TEXT_BOLD)$(COLOR_GREEN)* Writing to $(OUTPUT)$(FORMAT_END)\n"
|
||||
$(QUIET)$(ENV) deps/ninja/ninja-$(HOST) -C build/$(HOST_SLUG)/$(BUILDTYPE) \
|
||||
-t compdb cc cc_s cxx objc objcxx > $(OUTPUT)
|
||||
|
||||
#### Run tests #################################################################
|
||||
|
||||
test-%: Makefile/test
|
||||
|
||||
Reference in New Issue
Block a user