summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile489
1 files changed, 0 insertions, 489 deletions
diff --git a/Makefile b/Makefile
deleted file mode 100644
index cc34f003b1..0000000000
--- a/Makefile
+++ /dev/null
@@ -1,489 +0,0 @@
-export BUILDTYPE ?= Debug
-export IS_LOCAL_DEVELOPMENT ?= true
-export TARGET_BRANCH ?= master
-
-CMAKE ?= cmake
-
-
-ifeq ($(BUILDTYPE), Release)
-else ifeq ($(BUILDTYPE), RelWithDebInfo)
-else ifeq ($(BUILDTYPE), Sanitize)
-else ifeq ($(BUILDTYPE), Debug)
-else
- $(error BUILDTYPE must be Debug, Sanitize, Release or RelWithDebInfo)
-endif
-
-buildtype := $(shell echo "$(BUILDTYPE)" | tr "[A-Z]" "[a-z]")
-
-ifeq ($(shell uname -s), Darwin)
- HOST_PLATFORM = macos
- HOST_PLATFORM_VERSION = $(shell uname -m)
- export NINJA = platform/macos/ninja
- export JOBS ?= $(shell sysctl -n hw.ncpu)
-else ifeq ($(shell uname -s), Linux)
- HOST_PLATFORM = linux
- HOST_PLATFORM_VERSION = $(shell uname -m)
- export NINJA = platform/linux/ninja
- export JOBS ?= $(shell grep --count processor /proc/cpuinfo)
-else
- $(error Cannot determine host platform)
-endif
-
-ifeq ($(MASON_PLATFORM),)
- BUILD_PLATFORM = $(HOST_PLATFORM)
-else
- BUILD_PLATFORM = $(MASON_PLATFORM)
-endif
-
-ifeq ($(MASON_PLATFORM_VERSION),)
- BUILD_PLATFORM_VERSION = $(HOST_PLATFORM_VERSION)
-else
- BUILD_PLATFORM_VERSION = $(MASON_PLATFORM_VERSION)
-endif
-
-ifeq ($(MASON_PLATFORM),macos)
- MASON_PLATFORM=osx
-endif
-
-ifeq ($(V), 1)
- export XCPRETTY
- NINJA_ARGS ?= -v
-else
- export XCPRETTY ?= | tee '$(shell pwd)/build/xcodebuild-$(shell date +"%Y-%m-%d_%H%M%S").log' | xcpretty
- NINJA_ARGS ?=
-endif
-
-.PHONY: default
-default: test
-
-BUILD_DEPS += Makefile
-BUILD_DEPS += CMakeLists.txt
-
-BUILD_DOCS ?= true
-
-#### macOS targets ##############################################################
-
-ifeq ($(HOST_PLATFORM), macos)
-
-export PATH := $(shell pwd)/platform/macos:$(PATH)
-
-MACOS_OUTPUT_PATH = build/macos
-MACOS_PROJ_PATH = $(MACOS_OUTPUT_PATH)/mbgl.xcodeproj
-MACOS_WORK_PATH = platform/macos/macos.xcworkspace
-MACOS_USER_DATA_PATH = $(MACOS_WORK_PATH)/xcuserdata/$(USER).xcuserdatad
-MACOS_COMPDB_PATH = $(MACOS_OUTPUT_PATH)/compdb/$(BUILDTYPE)
-
-MACOS_XCODEBUILD = xcodebuild \
- -derivedDataPath $(MACOS_OUTPUT_PATH) \
- -configuration $(BUILDTYPE) \
- -workspace $(MACOS_WORK_PATH) \
- -jobs $(JOBS)
-
-ifneq ($(CI),)
- MACOS_XCODEBUILD += -xcconfig platform/darwin/ci.xcconfig
-endif
-
-$(MACOS_PROJ_PATH): $(BUILD_DEPS) $(MACOS_USER_DATA_PATH)/WorkspaceSettings.xcsettings
- mkdir -p $(MACOS_OUTPUT_PATH)
- (cd $(MACOS_OUTPUT_PATH) && $(CMAKE) -G Xcode ../.. \
- -DWITH_EGL=${WITH_EGL})
-
-$(MACOS_USER_DATA_PATH)/WorkspaceSettings.xcsettings: platform/macos/WorkspaceSettings.xcsettings
- mkdir -p "$(MACOS_USER_DATA_PATH)"
- cp platform/macos/WorkspaceSettings.xcsettings "$@"
-
-.PHONY: macos
-macos: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'CI' build $(XCPRETTY)
-
-.PHONY: xproj
-xproj: $(MACOS_PROJ_PATH)
- xed $(MACOS_WORK_PATH)
-
-.PHONY: test
-test: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'mbgl-test' build $(XCPRETTY)
-
-.PHONY: benchmark
-benchmark: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'mbgl-benchmark' build $(XCPRETTY)
-
-.PHONY: run-test
-run-test: run-test-*
-
-run-test-%: test
- ulimit -c unlimited && ($(MACOS_OUTPUT_PATH)/$(BUILDTYPE)/mbgl-test --gtest_catch_exceptions=0 --gtest_filter=$* & pid=$$! && wait $$pid \
- || (lldb -c /cores/core.$$pid --batch --one-line 'thread backtrace all' --one-line 'quit' && exit 1))
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'CI' test $(XCPRETTY)
-
-.PHONY: run-benchmark
-run-benchmark: run-benchmark-.
-
-run-benchmark-%: benchmark
- $(MACOS_OUTPUT_PATH)/$(BUILDTYPE)/mbgl-benchmark --benchmark_filter=$* ${BENCHMARK_ARGS}
-
-.PHONY: node-benchmark
-node-benchmark: node
-
-.PHONY: run-node-benchmark
-run-node-benchmark: node-benchmark
- node platform/node/test/benchmark.js
-
-.PHONY: glfw-app
-glfw-app: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'mbgl-glfw' build $(XCPRETTY)
-
-.PHONY: run-glfw-app
-run-glfw-app: glfw-app
- "$(MACOS_OUTPUT_PATH)/$(BUILDTYPE)/mbgl-glfw"
-
-.PHONY: render
-render: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'mbgl-render' build $(XCPRETTY)
-
-.PHONY: offline
-offline: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'mbgl-offline' build $(XCPRETTY)
-
-.PHONY: node
-node: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'mbgl-node (Active ABI)' build $(XCPRETTY)
-
-.PHONY: node-all
-node-all: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'mbgl-node (All ABIs)' build $(XCPRETTY)
-
-.PHONY: macos-test
-macos-test: $(MACOS_PROJ_PATH)
- set -o pipefail && $(MACOS_XCODEBUILD) -scheme 'CI' test $(XCPRETTY)
-
-.PHONY: macos-lint
-macos-lint:
- find platform/macos -type f -name '*.plist' | xargs plutil -lint
-
-.PHONY: xpackage
-xpackage: $(MACOS_PROJ_PATH)
- SYMBOLS=$(SYMBOLS) ./platform/macos/scripts/package.sh
-
-.PHONY: xdeploy
-xdeploy:
- caffeinate -i ./platform/macos/scripts/deploy-packages.sh
-
-.PHONY: xdocument
-#xdocument:
-# OUTPUT=$(OUTPUT) ./platform/macos/scripts/document.sh
-
-.PHONY: genstrings
-genstrings:
- genstrings -u -o platform/macos/sdk/Base.lproj platform/darwin/src/*.{m,mm}
- genstrings -u -o platform/macos/sdk/Base.lproj platform/macos/src/*.{m,mm}
- genstrings -u -o platform/ios/resources/Base.lproj platform/ios/src/*.{m,mm}
- -find platform/ios/resources platform/macos/sdk -path '*/Base.lproj/*.strings' -exec \
- textutil -convert txt -extension strings -inputencoding UTF-16 -encoding UTF-8 {} \;
- mv platform/macos/sdk/Base.lproj/Foundation.strings platform/darwin/resources/Base.lproj/
-
-$(MACOS_COMPDB_PATH)/Makefile:
- mkdir -p $(MACOS_COMPDB_PATH)
- (cd $(MACOS_COMPDB_PATH) && $(CMAKE) ../../../.. \
- -DCMAKE_BUILD_TYPE=$(BUILDTYPE) \
- -DWITH_EGL=${WITH_EGL})
-
-.PHONY:
-compdb: $(BUILD_DEPS) $(TEST_DEPS) $(MACOS_COMPDB_PATH)/Makefile
- @$(MAKE) -C $(MACOS_COMPDB_PATH) cmake_check_build_system
-
-.PHONY: tidy
-tidy: compdb
- scripts/clang-tools.sh $(MACOS_COMPDB_PATH) $(TARGET_BRANCH)
-
-.PHONY: check
-check: compdb
- scripts/clang-tools.sh $(MACOS_COMPDB_PATH) $(TARGET_BRANCH) --diff
-endif
-
-#### iOS targets ##############################################################
-
-ifeq ($(HOST_PLATFORM), macos)
-
-IOS_OUTPUT_PATH = build/ios
-IOS_PROJ_PATH = $(IOS_OUTPUT_PATH)/mbgl.xcodeproj
-IOS_WORK_PATH = platform/ios/ios.xcworkspace
-IOS_USER_DATA_PATH = $(IOS_WORK_PATH)/xcuserdata/$(USER).xcuserdatad
-
-IOS_XCODEBUILD_SIM = xcodebuild \
- ARCHS=x86_64 ONLY_ACTIVE_ARCH=YES \
- -derivedDataPath $(IOS_OUTPUT_PATH) \
- -configuration $(BUILDTYPE) -sdk iphonesimulator \
- -workspace $(IOS_WORK_PATH) \
- -jobs $(JOBS)
-
-ifneq ($(MORE_SIMULATORS),)
- IOS_LATEST = true
- IOS_11 = true
- IOS_10 = true
- IOS_9 = true
-endif
-
-ifdef IOS_LATEST
- IOS_XCODEBUILD_SIM += \
- -destination 'platform=iOS Simulator,OS=latest,name=iPhone 8' \
- -destination 'platform=iOS Simulator,OS=latest,name=iPhone Xs Max' \
- -destination 'platform=iOS Simulator,OS=latest,name=iPhone Xr' \
- -destination 'platform=iOS Simulator,OS=latest,name=iPad Pro (11-inch)'
-endif
-
-ifdef IOS_11
- IOS_XCODEBUILD_SIM += \
- -destination 'platform=iOS Simulator,OS=11.4,name=iPhone 7' \
- -destination 'platform=iOS Simulator,OS=11.4,name=iPhone X' \
- -destination 'platform=iOS Simulator,OS=11.4,name=iPad (5th generation)'
-endif
-
-ifdef IOS_10
- IOS_XCODEBUILD_SIM += \
- -destination 'platform=iOS Simulator,OS=10.3.1,name=iPhone SE' \
- -destination 'platform=iOS Simulator,OS=10.3.1,name=iPhone 7 Plus' \
- -destination 'platform=iOS Simulator,OS=10.3.1,name=iPad Pro (9.7-inch)'
-endif
-
-ifdef IOS_9
- IOS_XCODEBUILD_SIM += \
- -destination 'platform=iOS Simulator,OS=9.3,name=iPhone 6s Plus' \
- -destination 'platform=iOS Simulator,OS=9.3,name=iPhone 6s' \
- -destination 'platform=iOS Simulator,OS=9.3,name=iPad Air 2'
-endif
-
-# If IOS_XCODEBUILD_SIM does not contain a simulator destination, add the default.
-ifeq (, $(findstring destination, $(IOS_XCODEBUILD_SIM)))
- IOS_XCODEBUILD_SIM += \
- -destination 'platform=iOS Simulator,OS=latest,name=iPhone 8'
-else
- IOS_XCODEBUILD_SIM += -parallel-testing-enabled YES
-endif
-
-ifneq ($(ONLY_TESTING),)
- IOS_XCODEBUILD_SIM += -only-testing:$(ONLY_TESTING)
-endif
-
-ifneq ($(SKIP_TESTING),)
- IOS_XCODEBUILD_SIM += -skip-testing:$(SKIP_TESTING)
-endif
-
-ifneq ($(CI),)
- IOS_XCODEBUILD_SIM += -xcconfig platform/darwin/ci.xcconfig
-endif
-
-$(IOS_PROJ_PATH): $(IOS_USER_DATA_PATH)/WorkspaceSettings.xcsettings $(BUILD_DEPS)
- mkdir -p $(IOS_OUTPUT_PATH)
- (cd $(IOS_OUTPUT_PATH) && $(CMAKE) -G Xcode ../.. \
- -DCMAKE_TOOLCHAIN_FILE=../../platform/ios/toolchain.cmake \
- -DMBGL_PLATFORM=ios \
- -DMASON_PLATFORM=ios)
-
-$(IOS_USER_DATA_PATH)/WorkspaceSettings.xcsettings: platform/ios/WorkspaceSettings.xcsettings
- mkdir -p "$(IOS_USER_DATA_PATH)"
- cp platform/ios/WorkspaceSettings.xcsettings "$@"
-
-.PHONY: ios
-ios: $(IOS_PROJ_PATH)
- set -o pipefail && $(IOS_XCODEBUILD_SIM) -scheme 'CI' build $(XCPRETTY)
-
-.PHONY: iproj
-iproj: $(IOS_PROJ_PATH)
- xed $(IOS_WORK_PATH)
-
-.PHONY: ios-lint
-ios-lint: ios-pod-lint
- find platform/ios/framework -type f -name '*.plist' | xargs plutil -lint
- find platform/ios/app -type f -name '*.plist' | xargs plutil -lint
-
-.PHONY: ios-pod-lint
-ios-pod-lint:
- ./platform/ios/scripts/lint-podspecs.js
-
-.PHONY: ios-test
-ios-test: $(IOS_PROJ_PATH)
- set -o pipefail && $(IOS_XCODEBUILD_SIM) -scheme 'CI' test $(XCPRETTY)
-
-.PHONY: ios-integration-test
-ios-integration-test: $(IOS_PROJ_PATH)
- set -o pipefail && $(IOS_XCODEBUILD_SIM) -scheme 'Integration Test Harness' test $(XCPRETTY)
-
-.PHONY: ios-sanitize
-ios-sanitize: $(IOS_PROJ_PATH)
- set -o pipefail && $(IOS_XCODEBUILD_SIM) -scheme 'CI' -enableThreadSanitizer YES -enableUndefinedBehaviorSanitizer YES test $(XCPRETTY)
-
-.PHONY: ios-sanitize-address
-ios-sanitize-address: $(IOS_PROJ_PATH)
- set -o pipefail && $(IOS_XCODEBUILD_SIM) -scheme 'CI' -enableAddressSanitizer YES test $(XCPRETTY)
-
-.PHONY: ios-static-analyzer
-ios-static-analyzer: $(IOS_PROJ_PATH)
- set -o pipefail && $(IOS_XCODEBUILD_SIM) analyze -scheme 'CI' test $(XCPRETTY)
-
-.PHONY: ios-install-simulators
-ios-install-simulators:
- xcversion simulators --install="iOS 11.4" || true
- xcversion simulators --install="iOS 10.3.1" || true
- xcversion simulators --install="iOS 9.3" || true
-
-.PHONY: ios-check-events-symbols
-ios-check-events-symbols:
- ./platform/ios/scripts/check-events-symbols.sh
-
-.PHONY: ipackage
-ipackage: ipackage*
-ipackage%:
- @echo make ipackage is deprecated — use make iframework.
-
-.PHONY: iframework
-iframework: $(IOS_PROJ_PATH)
- FORMAT=$(FORMAT) BUILD_DEVICE=$(BUILD_DEVICE) SYMBOLS=$(SYMBOLS) BUILD_DOCS=$(BUILD_DOCS) \
- ./platform/ios/scripts/package.sh
-
-.PHONY: ideploy
-ideploy:
- caffeinate -i ./platform/ios/scripts/deploy-packages.sh
-
-.PHONY: idocument
-#idocument:
-# OUTPUT=$(OUTPUT) ./platform/ios/scripts/document.sh
-
-.PHONY: darwin-style-code
-darwin-style-code:
- node platform/darwin/scripts/generate-style-code.js
- node platform/darwin/scripts/update-examples.js
-style-code: darwin-style-code
-
-.PHONY: darwin-update-examples
-darwin-update-examples:
- node platform/darwin/scripts/update-examples.js
-
-.PHONY: darwin-check-public-symbols
-darwin-check-public-symbols:
- node platform/darwin/scripts/check-public-symbols.js macOS iOS
-
-endif
-
-#### Linux targets #####################################################
-
-ifeq ($(HOST_PLATFORM), linux)
-
-export PATH := $(shell pwd)/platform/linux:$(PATH)
-export LINUX_OUTPUT_PATH = build/linux-$(shell uname -m)/$(BUILDTYPE)
-LINUX_BUILD = $(LINUX_OUTPUT_PATH)/build.ninja
-
-$(LINUX_BUILD): $(BUILD_DEPS)
- mkdir -p $(LINUX_OUTPUT_PATH)
- (cd $(LINUX_OUTPUT_PATH) && $(CMAKE) -G Ninja ../../.. \
- -DCMAKE_BUILD_TYPE=$(BUILDTYPE) \
- -DWITH_COVERAGE=${WITH_COVERAGE} \
- -DWITH_OSMESA=${WITH_OSMESA} \
- -DWITH_EGL=${WITH_EGL})
-
-.PHONY: linux
-linux: glfw-app render offline
-
-.PHONY: linux-core
-linux-core: $(LINUX_BUILD)
- $(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-core mbgl-loop-uv mbgl-filesource
-
-.PHONY: test
-test: $(LINUX_BUILD)
- $(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-test
-
-.PHONY: benchmark
-benchmark: $(LINUX_BUILD)
- $(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-benchmark
-
-GDB ?= gdb \
- -batch -return-child-result \
- -ex 'set print thread-events off' \
- -ex 'set disable-randomization off' \
- -ex 'run' \
- -ex 'thread apply all bt' --args
-
-.PHONY: run-test
-run-test: run-test-*
-
-run-test-%: test
- $(GDB) $(LINUX_OUTPUT_PATH)/mbgl-test --gtest_catch_exceptions=0 --gtest_filter=$*
-
-.PHONY: run-benchmark
-run-benchmark: run-benchmark-.
-
-run-benchmark-%: benchmark
- $(LINUX_OUTPUT_PATH)/mbgl-benchmark --benchmark_filter=$*
-
-.PHONY: render
-render: $(LINUX_BUILD)
- $(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-render
-
-.PHONY: offline
-offline: $(LINUX_BUILD)
- $(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-offline
-
-.PHONY: glfw-app
-glfw-app: $(LINUX_BUILD)
- $(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-glfw
-
-.PHONY: run-glfw-app
-run-glfw-app: glfw-app
- cd $(LINUX_OUTPUT_PATH) && ./mbgl-glfw
-
-.PHONY: node
-node: $(LINUX_BUILD)
- $(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-node.active
-
-.PHONY: node-all
-node-all: $(LINUX_BUILD)
- $(NINJA) $(NINJA_ARGS) -j$(JOBS) -C $(LINUX_OUTPUT_PATH) mbgl-node.all
-
-.PHONY: compdb
-compdb: $(LINUX_BUILD)
- # Ninja generator already outputs the file at the right location
-
-.PHONY: tidy
-tidy: compdb
- scripts/clang-tools.sh $(LINUX_OUTPUT_PATH) $(TARGET_BRANCH)
-
-.PHONY: check
-check: compdb
- scripts/clang-tools.sh $(LINUX_OUTPUT_PATH) $(TARGET_BRANCH) --diff
-
-endif
-
-#### Node targets ##############################################################
-
-.PHONY: test-node
-test-node: node
- npm test
- npm run test-memory
-
-#### Miscellaneous targets #####################################################
-
-.PHONY: style-code
-style-code:
- node scripts/generate-style-code.js
- node scripts/generate-shaders.js
-
-.PHONY: codestyle
-codestyle:
- scripts/codestyle.sh
-
-.PHONY: clean
-clean:
- -rm -rf ./build \
- ./lib/*.node \
- ./platform/android/gradle/configuration.gradle \
- ./platform/android/MapboxGLAndroidSDK/build \
- ./platform/android/MapboxGLAndroidSDK/.externalNativeBuild \
- ./platform/android/MapboxGLAndroidSDKTestApp/build \
- ./platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/gen \
- ./platform/android/MapboxGLAndroidSDK/src/main/assets \
- ./platform/android/MapboxGLAndroidSDKTestApp/src/main/assets/integration
-
-.PHONY: distclean
-distclean: clean
- -rm -rf ./mason_packages
- -rm -rf ./node_modules