Erwin Jansen | f96db3c | 2018-10-25 23:28:54 -0700 | [diff] [blame^] | 1 | # Copyright 2018 The Android Open Source Project |
| 2 | # |
| 3 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | # you may not use this file except in compliance with the License. |
| 5 | # You may obtain a copy of the License at |
| 6 | # |
| 7 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 8 | # |
| 9 | # Unless required by applicable law or agreed to in writing, software |
| 10 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | # See the License for the specific language governing permissions and |
| 13 | # limitations under the License. |
| 14 | # |
| 15 | |
| 16 | # Check that we have at least GNU Make 3.81 |
| 17 | # We do this by detecting whether 'lastword' is supported |
| 18 | # |
| 19 | MAKE_TEST := $(lastword a b c d e f) |
| 20 | ifneq ($(MAKE_TEST),f) |
| 21 | $(error,This build system requires GNU Make 3.81 or higher to run !) |
| 22 | endif |
| 23 | |
| 24 | # Find the source installation path, should be this file's location. |
| 25 | _BUILD_ROOT := $(dir $(lastword $(MAKEFILE_LIST))) |
| 26 | _BUILD_ROOT := $(_BUILD_ROOT:%/=%) |
| 27 | |
| 28 | # Complain if the path contains spaces |
| 29 | ifneq ($(words $(_BUILD_ROOT)),1) |
| 30 | $(info,The source installation path contains spaces: '$(_BUILD_ROOT)') |
| 31 | $(error,Please fix the problem by reinstalling to a different location.) |
| 32 | endif |
| 33 | |
| 34 | # We are going to generate a JSON representation from the build |
| 35 | GOLDFISH_OPENGL_BUILD_FOR_HOST := true |
| 36 | CMAKE_GENERATE := true |
| 37 | _BUILD_CORE_DIR := ../../../external/qemu/android/build |
| 38 | |
| 39 | # We need the emulator's android makefile defs, so we can understand |
| 40 | # the makefiles. |
| 41 | include $(_BUILD_CORE_DIR)/emulator/definitions.make |
| 42 | |
| 43 | # We need the ability to dump json. |
| 44 | include $(_BUILD_ROOT)/json-dump.mk |
| 45 | |
| 46 | # And we are going to build like we are an emulator host. |
| 47 | include $(_BUILD_ROOT)/common.mk |
| 48 | include $(_BUILD_ROOT)/Android.mk |
| 49 | |
| 50 | JSON_FILE := /tmp/build.json |
| 51 | JSON_DUMP := [ "" $(JSON_DUMP) ] |
| 52 | |
| 53 | # And we are going to transform our generated json list into a set of |
| 54 | # cmake files. |
| 55 | |
| 56 | # This is the first target, so also the default target |
| 57 | cmake: |
| 58 | @rm -f $(JSON_FILE) |
| 59 | $(call write-to-file,$(JSON_FILE),30,$(JSON_DUMP)) |
| 60 | $(hide) python cmake_transform.py -i $(JSON_FILE) -c $(JSON_FILE) -o ${_BUILD_ROOT} |