#                                                              -*- Makefile -*-
# Copyright (c) Virtutech AB, All Rights Reserved
#
# Simics module makefile
#

MODULE_CLASSES = cheetah+mmu

SRC_FILES= cheetah-mmu.c common-mmu.c

MODULE_DIR=cheetah-mmu

MODULE_CFLAGS = -DCHEETAH_PLUS                   \
                -DTARGET_ULTRAIII_PLUS           \
                -DULTRA_HAS_LDD_PHYS             \
                -DULTRA_HAS_PARTIAL_STORE        \
                -DULTRA_HAS_SHORT_FP             \
                -DULTRA_HAS_BLOCK_COMMIT         \
                -DTARGET_ULTRA                   \
                -DTARGET_ULTRAIII                \
                -DMMU_INCLUDE=\"cheetah-mmu.h\"  \
                -DMMU_NAME=\"Cheetah+\ MMU\"     \
                -DDEVICE_NAME=\"cheetah+mmu\"    \
                -DDEVICE_IS_BIG_ENDIAN

EXTRA_VPATH=$(SIMICS_BASE)/src/devices/spitfire-mmu/

ifeq ($(BUILD_PARTIALLY_LINKED_OBJECT),yes)
ifeq ($(PROFILE_DRIVEN_CC),yes)
ifneq ($(PROFILE_DRIVEN_CC_PHASE_2),yes)
# Phase1: collect statistics
MODULE_LDFLAGS		     += $(PROFILE_COLLECT_FLAGS)
MODULE_CFLAGS                += $(PROFILE_COLLECT_FLAGS)
MODULE_CXXFLAGS              += $(PROFILE_COLLECT_FLAGS)
else
# Phase2: rebuild using generated profile
MODULE_LDFLAGS		     += $(PROFILE_USE_FLAGS)
MODULE_CFLAGS                += $(PROFILE_USE_FLAGS)
MODULE_CXXFLAGS              += $(PROFILE_USE_FLAGS)
endif
endif # PROFILE_DRIVEN_CC
endif # BUILD_PARTIALLY_LINKED_OBJECT

include $(SIMICS_BASE)/src/devices/common/device-makefile

ifneq ($(SIMICS_DISTRIB),yes)
MODULE_CFLAGS += -DUSE_STC_IFACE
endif
