############################################################################
# libs/libc/machine/sim/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.
#
############################################################################

# XXX ELF relocations are not actually sim-dependent.
# We should share the code with eg. ../x86/arch_elf.c.

ifeq ($(CONFIG_HOST_X86_64),y)
ifeq ($(CONFIG_SIM_M32),y)
ifeq ($(CONFIG_LIBC_ARCH_ELF),y)
CSRCS += arch_elf.c
endif
ifeq ($(CONFIG_ARCH_SETJMP_H),y)
  ifeq ($(CONFIG_HOST_WINDOWS),y)
    ASRCS += arch_setjmp_x86.asm
  else
    ASRCS += arch_setjmp_x86.S
  endif
endif
else
ifeq ($(CONFIG_LIBC_ARCH_ELF),y)
CSRCS += arch_elf64.c
endif
ifeq ($(CONFIG_ARCH_SETJMP_H),y)
ASRCS += arch_setjmp_x86_64.S
endif
endif
else ifeq ($(CONFIG_HOST_X86),y)
ifeq ($(CONFIG_LIBC_ARCH_ELF),y)
CSRCS += arch_elf.c
endif
ifeq ($(CONFIG_ARCH_SETJMP_H),y)
  ifeq ($(CONFIG_HOST_WINDOWS),y)
    ASRCS += arch_setjmp_x86.asm
  else
    ASRCS += arch_setjmp_x86.S
  endif
endif
else ifeq ($(CONFIG_HOST_ARM),y)
ifeq ($(CONFIG_ARCH_SETJMP_H),y)
ASRCS += arch_setjmp_arm.S
endif
else ifeq ($(CONFIG_HOST_ARM64),y)
ifeq ($(CONFIG_ARCH_SETJMP_H),y)
ASRCS += arch_setjmp_arm64.S
endif
endif

DEPPATH += --dep-path machine/sim
VPATH += :machine/sim
