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} 61