forked from Imagelibrary/binutils-gdb
The sim-hardware configure option allows builders to select a set of device models to enable. But this seems like unnecessary overkill: the existence of individual device models doesn't affect performance at all as they are only enabled at runtime if the config uses them, and individually these are all <5KB a piece. Stripping off a total of ~50KB from a ~1MB binary doesn't seem useful, and it's extremely unlikely anyone will ever bother. So let's simplify the configure/make logic by turning sim-hardware into a boolean option like many of the other sim options. Any ports that have unique device models will declare them in their Makefile instead of at configure time. This will allow us to (eventually) unify the setting into the common dir.
68 lines
1.9 KiB
Makefile
68 lines
1.9 KiB
Makefile
# Makefile for Lattice Mico32 simulator.
|
|
# Contributed by Jon Beniston <jon@beniston.com>
|
|
|
|
## COMMON_PRE_CONFIG_FRAG
|
|
|
|
# List of object files, less common parts.
|
|
SIM_OBJS = \
|
|
$(SIM_NEW_COMMON_OBJS) \
|
|
cgen-utils.o cgen-trace.o cgen-scache.o \
|
|
cgen-run.o \
|
|
sim-if.o arch.o \
|
|
cpu.o decode.o sem.o model.o mloop.o \
|
|
lm32.o traps.o user.o
|
|
|
|
SIM_EXTRA_HW_DEVICES = lm32cpu lm32timer lm32uart
|
|
|
|
# List of extra dependencies.
|
|
# Generally this consists of simulator specific files included by sim-main.h.
|
|
SIM_EXTRA_DEPS = $(CGEN_INCLUDE_DEPS) $(srcdir)/../../opcodes/lm32-desc.h \
|
|
eng.h
|
|
|
|
# List of flags to always pass to $(CC).
|
|
#SIM_EXTRA_CFLAGS =
|
|
|
|
SIM_EXTRA_CLEAN = lm32-clean
|
|
|
|
# Code doesn't build cleanly yet.
|
|
SIM_WERROR_CFLAGS =
|
|
|
|
## COMMON_POST_CONFIG_FRAG
|
|
|
|
arch = lm32
|
|
|
|
LM32BF_INCLUDE_DEPS = \
|
|
$(CGEN_MAIN_CPU_DEPS) \
|
|
cpu.h decode.h eng.h
|
|
|
|
# FIXME: Use of `mono' is wip.
|
|
mloop.c eng.h: stamp-mloop
|
|
stamp-mloop: $(srcdir)/../common/genmloop.sh mloop.in Makefile
|
|
$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
|
|
-mono -fast -pbb -switch sem-switch.c \
|
|
-cpu lm32bf -infile $(srcdir)/mloop.in
|
|
$(SHELL) $(srcroot)/move-if-change eng.hin eng.h
|
|
$(SHELL) $(srcroot)/move-if-change mloop.cin mloop.c
|
|
touch stamp-mloop
|
|
|
|
lm32-clean:
|
|
rm -f mloop.c eng.h stamp-mloop
|
|
rm -f stamp-arch stamp-cpu
|
|
rm -f tmp-*
|
|
|
|
stamp-arch: $(CGEN_READ_SCM) $(CGEN_ARCH_SCM) $(CPU_DIR)/lm32.cpu
|
|
$(MAKE) cgen-arch $(CGEN_FLAGS_TO_PASS) mach=all \
|
|
archfile=$(CPU_DIR)/lm32.cpu \
|
|
FLAGS="with-scache with-profile=fn"
|
|
touch stamp-arch
|
|
arch.h arch.c cpuall.h: $(CGEN_MAINT) stamp-arch
|
|
|
|
stamp-cpu: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(CPU_DIR)/lm32.cpu
|
|
$(MAKE) cgen-cpu-decode $(CGEN_FLAGS_TO_PASS) \
|
|
cpu=lm32bf mach=lm32 SUFFIX= \
|
|
archfile=$(CPU_DIR)/lm32.cpu \
|
|
FLAGS="with-scache with-profile=fn" \
|
|
EXTRAFILES="$(CGEN_CPU_SEM) $(CGEN_CPU_SEMSW)"
|
|
touch stamp-cpu
|
|
cpu.h sem.c sem-switch.c model.c decode.c decode.h: $(CGEN_MAINT) stamp-cpu
|