1*61c4878aSAndroid Build Coastguard Worker# Copyright 2023 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Worker# BUILD.bazel file for cmsis_device_xxx. 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Worker# buildifier: disable=module-docstring 18*61c4878aSAndroid Build Coastguard Worker# Should point to the corresponding cmsis_core library. Hidden behind a label 19*61c4878aSAndroid Build Coastguard Worker# flag so that it can be overriden in projects that build for more than one 20*61c4878aSAndroid Build Coastguard Worker# family of STM processors. 21*61c4878aSAndroid Build Coastguard Workerlabel_flag( 22*61c4878aSAndroid Build Coastguard Worker name = "cmsis_core", 23*61c4878aSAndroid Build Coastguard Worker build_setting_default = ":unspecified", 24*61c4878aSAndroid Build Coastguard Worker) 25*61c4878aSAndroid Build Coastguard Worker 26*61c4878aSAndroid Build Coastguard Worker# Special target used as a default value of the cmsis_core label_flag. It's not 27*61c4878aSAndroid Build Coastguard Worker# compatible with any platform: To use Pigweed's STM32Cube integration, you 28*61c4878aSAndroid Build Coastguard Worker# must provide a path to cmsis_core. 29*61c4878aSAndroid Build Coastguard Workercc_library( 30*61c4878aSAndroid Build Coastguard Worker name = "unspecified", 31*61c4878aSAndroid Build Coastguard Worker target_compatible_with = ["@platforms//:incompatible"], 32*61c4878aSAndroid Build Coastguard Worker) 33*61c4878aSAndroid Build Coastguard Worker 34*61c4878aSAndroid Build Coastguard Workercc_library( 35*61c4878aSAndroid Build Coastguard Worker name = "default_cmsis_init", 36*61c4878aSAndroid Build Coastguard Worker srcs = glob(["Source/Templates/system_*.c"]), 37*61c4878aSAndroid Build Coastguard Worker deps = [":cmsis_device"], 38*61c4878aSAndroid Build Coastguard Worker) 39*61c4878aSAndroid Build Coastguard Worker 40*61c4878aSAndroid Build Coastguard Workercc_library( 41*61c4878aSAndroid Build Coastguard Worker name = "cmsis_device", 42*61c4878aSAndroid Build Coastguard Worker hdrs = glob( 43*61c4878aSAndroid Build Coastguard Worker [ 44*61c4878aSAndroid Build Coastguard Worker "Include/*.h", 45*61c4878aSAndroid Build Coastguard Worker ], 46*61c4878aSAndroid Build Coastguard Worker ), 47*61c4878aSAndroid Build Coastguard Worker defines = [ 48*61c4878aSAndroid Build Coastguard Worker "__ARMCC_VERSION=0", 49*61c4878aSAndroid Build Coastguard Worker ], 50*61c4878aSAndroid Build Coastguard Worker includes = ["Include"], 51*61c4878aSAndroid Build Coastguard Worker deps = [ 52*61c4878aSAndroid Build Coastguard Worker ":cmsis_core", 53*61c4878aSAndroid Build Coastguard Worker ], 54*61c4878aSAndroid Build Coastguard Worker) 55