1 # 2 # Copyright (C) 2015 The Android Open Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 17 # Build time settings used by system services 18 # ======================================================== 19 ifdef OSRELEASED_DIRECTORY 20 21 include $(CLEAR_VARS) 22 LOCAL_MODULE := product_id 23 LOCAL_MODULE_CLASS := FAKE 24 LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/$(OSRELEASED_DIRECTORY) 25 include $(BUILD_SYSTEM)/base_rules.mk 26 27 $(LOCAL_BUILT_MODULE): 28 $(hide) mkdir -p $(dir $@) 29 echo $(BRILLO_PRODUCT_ID) > $@ 30 $(hide) mkdir -p $(TARGET_OUT_ETC)/$(OSRELEASED_DIRECTORY) 31 ln -sf /oem/$(OSRELEASED_DIRECTORY)/product_id $(TARGET_OUT_ETC)/$(OSRELEASED_DIRECTORY) 32 33 include $(CLEAR_VARS) 34 LOCAL_MODULE := system_id 35 LOCAL_MODULE_CLASS := ETC 36 LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/$(OSRELEASED_DIRECTORY) 37 include $(BUILD_SYSTEM)/base_rules.mk 38 39 $(LOCAL_BUILT_MODULE): 40 $(hide) mkdir -p $(dir $@) 41 echo $(BRILLO_SYSTEM_ID) > $@ 42 43 44 include $(CLEAR_VARS) 45 LOCAL_MODULE := product_version 46 LOCAL_MODULE_CLASS := FAKE 47 LOCAL_MODULE_PATH := $(TARGET_OUT_OEM)/$(OSRELEASED_DIRECTORY) 48 include $(BUILD_SYSTEM)/base_rules.mk 49 50 # The version is set to 0.0.0.0 if the user did not set the actual version. 51 # This allows us to have a valid version number while being easy to filter. 52 BRILLO_PRODUCT_VERSION ?= "0.0.0.0" 53 ifeq ($(shell echo $(BRILLO_PRODUCT_VERSION) | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$$'),) 54 $(error Invalid BRILLO_PRODUCT_VERSION "$(BRILLO_PRODUCT_VERSION)", must be \ 55 four numbers separated by dots. Example: "1.2.0.0") 56 endif 57 58 $(LOCAL_BUILT_MODULE): 59 $(hide) mkdir -p $(dir $@) 60 echo $(BRILLO_PRODUCT_VERSION) > $@ 61 $(hide) mkdir -p $(TARGET_OUT_ETC)/$(OSRELEASED_DIRECTORY) 62 ln -sf /oem/$(OSRELEASED_DIRECTORY)/product_version $(TARGET_OUT_ETC)/$(OSRELEASED_DIRECTORY) 63 64 65 include $(CLEAR_VARS) 66 LOCAL_MODULE := system_version 67 LOCAL_MODULE_CLASS := ETC 68 LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/$(OSRELEASED_DIRECTORY) 69 include $(BUILD_SYSTEM)/base_rules.mk 70 71 # The version is set to 0.0.0 if the user did not set the actual version. 72 # This allows us to have a valid version number while being easy to filter. 73 BRILLO_SYSTEM_VERSION ?= "0.0.0" 74 ifeq ($(shell echo $(BRILLO_SYSTEM_VERSION) | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$$'),) 75 $(error Invalid BRILLO_SYSTEM_VERSION "$(BRILLO_SYSTEM_VERSION)", must be \ 76 three numbers separated by dots. Example: "1.2.0") 77 endif 78 79 # Append BUILD_NUMBER if it is a number or a build timestamp otherwise. 80 # We don't want to use BUILD_DATETIME_FROM_FILE as this timestamp must be 81 # different at every build. 82 # If you don' want this to change at every build, you can define BUILD_NUMBER in 83 # your product makefile and increase it manually. 84 $(LOCAL_BUILT_MODULE): 85 $(hide) mkdir -p $(dir $@) 86 ifeq ($(shell echo $(BUILD_NUMBER) | grep -E '[^0-9]'),) 87 echo $(BRILLO_SYSTEM_VERSION).$(BUILD_NUMBER) > $@ 88 else 89 echo $(BRILLO_SYSTEM_VERSION).$(BUILD_DATETIME) > $@ 90 endif 91 92 endif 93