[56/83] sim: m68hc11: move arch-specific file compilation to top-level

Message ID 20230103075605.13606-57-vapier@gentoo.org
State Committed
Headers
Series sim: merge subdir makefiles into top-level |

Commit Message

Mike Frysinger Jan. 3, 2023, 7:55 a.m. UTC
  The arch-specific compiler flags are duplicated, but they'll be cleaned
up once we move all subdir compiles to the top-level.
---
 sim/Makefile.in      |  9 ++++++---
 sim/m68hc11/local.mk | 14 +++++++++++---
 2 files changed, 17 insertions(+), 6 deletions(-)
  

Patch

diff --git a/sim/m68hc11/local.mk b/sim/m68hc11/local.mk
index 9b52df6b533c..79350c8fc270 100644
--- a/sim/m68hc11/local.mk
+++ b/sim/m68hc11/local.mk
@@ -16,6 +16,17 @@ 
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+## 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).
+AM_CPPFLAGS_%C% = \
+	-DWITH_TARGET_WORD_BITSIZE=32 \
+	-DWITH_TARGET_CELL_BITSIZE=32 \
+	-DWITH_TARGET_ADDRESS_BITSIZE=32 \
+	-DWITH_TARGET_WORD_MSB=31
+
 %C%_libsim_a_SOURCES =
 %C%_libsim_a_LIBADD = \
 	$(common_libcommon_a_OBJECTS) \
@@ -34,9 +45,6 @@  $(%C%_libsim_a_OBJECTS) $(%C%_libsim_a_LIBADD): %D%/hw-config.h
 
 noinst_LIBRARIES += %D%/libsim.a
 
-%D%/%.o: %D%/%.c
-	$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
-
 %D%/%.o: common/%.c
 	$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)