Home | History | Annotate | Download | only in goldfish-opengl
      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