#    Makefile template for Configure for the 68HC11 sim library.
#    Copyright (C) 1999-2019 Free Software Foundation, Inc.
#    Written by Cygnus Support.
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

## COMMON_PRE_CONFIG_FRAG

M68HC11_OBJS = interp.o m68hc11int.o m68hc12int.o \
		emulos.o interrupts.o m68hc11_sim.o

SIM_OBJS = $(M68HC11_OBJS) \
	$(SIM_NEW_COMMON_OBJS) \
	sim-resume.o

SIM_PROFILE= -DPROFILE=1 -DWITH_PROFILE=-1
# We must use 32-bit addresses to support memory bank switching.
# The WORD_BITSIZE is normally 16 but must be switched (temporarily)
# to 32 to avoid a bug in the sim-common which uses 'unsigned_word'
# instead of 'address_word' in some places (the result is a truncation
# of the 32-bit address to 16-bit; and this breaks the simulator).
SIM_EXTRA_CFLAGS = -DWITH_TARGET_WORD_BITSIZE=32 \
		   -DWITH_TARGET_CELL_BITSIZE=32 \
		   -DWITH_TARGET_ADDRESS_BITSIZE=32 \
		   -DWITH_TARGET_WORD_MSB=31
SIM_EXTRA_CLEAN = clean-extra

INCLUDE = $(srcdir)/../../include/gdb/callback.h \
	  interrupts.h sim-main.h


## COMMON_POST_CONFIG_FRAG

m68hc11int.c: gencode
	./gencode -m6811 > $@

m68hc12int.c: gencode
	./gencode -m6812 > $@

gencode:	gencode.c
	$(CC_FOR_BUILD) $(BUILD_CFLAGS) -o gencode $(srcdir)/gencode.c

interp.o: interp.c $(INCLUDE)

clean-extra:
	rm -f gencode m68hc11int.c
