incubator-nuttx/drivers/segger/Make.defs

108 lines
3.3 KiB
Plaintext

############################################################################
# drivers/segger/Make.defs
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
TARGET_ZIP =
SGDIR = segger
ifeq ($(CONFIG_SEGGER_RTT),y)
CSRCS += segger/RTT/RTT/SEGGER_RTT.c
CFLAGS += -Wno-shadow -Wno-array-bounds
ifneq ($(CONFIG_SEGGER_RTT_SECTION),"")
CFLAGS += ${DEFINE_PREFIX}SEGGER_RTT_SECTION=CONFIG_SEGGER_RTT_SECTION
endif
ifneq ($(CONFIG_SEGGER_RTT_BUFFER_SECTION),"")
CFLAGS += ${DEFINE_PREFIX}SEGGER_RTT_BUFFER_SECTION=CONFIG_SEGGER_RTT_BUFFER_SECTION
endif
CFLAGS += ${INCDIR_PREFIX}segger$(DELIM)config
CFLAGS += ${INCDIR_PREFIX}segger$(DELIM)RTT$(DELIM)RTT
ifeq ($(CONFIG_ARCH_ARMV7M),y)
AFLAGS += ${INCDIR_PREFIX}segger$(DELIM)config
ASRCS += segger/RTT/RTT/SEGGER_RTT_ASM_ARMv7M.S
endif
RTT_VERSION ?= 7.54
# Download and unpack tarball if no git repo found
ifeq ($(wildcard $(SGDIR)/RTT/.git),)
$(SGDIR)/RTT.zip:
$(call DOWNLOAD,https://github.com/SEGGERMicro/RTT/archive/refs/tags,V$(RTT_VERSION).zip,$(SGDIR)/RTT.zip)
$(Q) unzip -o $(SGDIR)/RTT.zip -d $(SGDIR)
$(Q) mv $(SGDIR)/RTT-$(RTT_VERSION) $(SGDIR)/RTT
$(Q) patch -p0 < segger/0001-segger-RTT-include-the-SEGGER_RTT_Conf.h-from-custom.patch
TARGET_ZIP += $(SGDIR)/RTT.zip
endif
endif
ifeq ($(CONFIG_STREAM_RTT),y)
CSRCS += segger/stream_rtt.c
endif
ifeq ($(CONFIG_SYSLOG_RTT),y)
CSRCS += segger/syslog_rtt.c
endif
ifeq ($(CONFIG_NOTE_RTT),y)
CSRCS += segger/note_rtt.c
endif
ifeq ($(CONFIG_SERIAL_RTT),y)
CSRCS += segger/serial_rtt.c
endif
ifeq ($(CONFIG_SEGGER_SYSVIEW),y)
CSRCS += segger/note_sysview.c
CSRCS += segger/SystemView/SYSVIEW/SEGGER_SYSVIEW.c
CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)sched
CFLAGS += ${INCDIR_PREFIX}segger$(DELIM)SystemView$(DELIM)SEGGER
CFLAGS += ${INCDIR_PREFIX}segger$(DELIM)SystemView$(DELIM)SYSVIEW
SYSVIEW_VERSION ?= 3.30
# Download and unpack tarball if no git repo found
ifeq ($(wildcard $(SGDIR)/SystemView/.git),)
$(SGDIR)/SystemView.zip:
$(call DOWNLOAD,https://github.com/SEGGERMicro/SystemView/archive/refs/tags,V$(SYSVIEW_VERSION).zip,$(SGDIR)/SystemView.zip)
$(Q) unzip -o $(SGDIR)/SystemView.zip -d $(SGDIR)
$(Q) mv $(SGDIR)/SystemView-$(SYSVIEW_VERSION) $(SGDIR)/SystemView
TARGET_ZIP += $(SGDIR)/SystemView.zip
endif
endif
context:: $(TARGET_ZIP)
distclean::
ifeq ($(wildcard $(SGDIR)/SystemView/.git),)
$(call DELDIR, $(SGDIR)/SystemView)
endif
ifeq ($(wildcard $(SGDIR)/RTT/.git),)
$(call DELDIR, $(SGDIR)/RTT)
endif
$(call DELFILE, $(TARGET_ZIP))