3 ## Copyright (C) 2009-2024 Free Software Foundation, Inc.
4 ## Contributed by Jon Beniston <jon@beniston.com>
6 ## This program is free software; you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation; either version 3 of the License, or
9 ## (at your option) any later version.
11 ## This program is distributed in the hope that it will be useful,
12 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 ## GNU General Public License for more details.
16 ## You should have received a copy of the GNU General Public License
17 ## along with this program. If not, see <http://www.gnu.org/licenses/>.
19 nodist_
%C
%_libsim_a_SOURCES
= \
21 %C
%_libsim_a_SOURCES
= \
22 $(common_libcommon_a_SOURCES
)
23 %C
%_libsim_a_LIBADD
= \
24 $(patsubst %,%D
%/%,$(SIM_NEW_COMMON_OBJS
)) \
25 $(patsubst %,%D
%/dv-
%.o
,$(SIM_HW_DEVICES
)) \
26 $(patsubst %,%D
%/dv-
%.o
,$(%C
%_SIM_EXTRA_HW_DEVICES
)) \
44 $(%C
%_libsim_a_OBJECTS
) $(%C
%_libsim_a_LIBADD
): %D
%/hw-config.h
46 noinst_LIBRARIES
+= %D
%/libsim.a
48 ## Override wildcards that trigger common/modules.c to be (incorrectly) used.
49 %D
%/modules.o
: %D
%/modules.c
51 %D
%/%.o
: common
/%.c
; $(SIM_COMPILE
)
52 -@am__include@
%D
%/$(DEPDIR
)/*.Po
60 noinst_PROGRAMS
+= %D
%/run
62 %C
%_SIM_EXTRA_HW_DEVICES
= lm32cpu lm32timer lm32uart
64 ## List all generated headers to help Automake dependency tracking.
65 BUILT_SOURCES
+= %D
%/eng.h
70 ## Generating modules.c requires all sources to scan.
71 %D
%/modules.c
: |
$(%C
%_BUILD_OUTPUTS
)
73 ## FIXME: Use of `mono' is wip.
74 %D
%/mloop.c
%D
%/eng.h
: %D
%/stamp-mloop
; @true
75 %D
%/stamp-mloop
: %D
%/mloop.in
$(srccom
)/genmloop.sh
76 $(AM_V_GEN
)$(CGEN_GEN_MLOOP
) \
77 -mono
-fast
-pbb
-switch sem-switch.c \
79 $(AM_V_at
)$(SHELL
) $(srcroot
)/move-if-change
%D
%/eng.hin
%D
%/eng.h
80 $(AM_V_at
)$(SHELL
) $(srcroot
)/move-if-change
%D
%/mloop.cin
%D
%/mloop.c
83 CLEANFILES
+= %D
%/eng.h
84 MOSTLYCLEANFILES
+= $(%C
%_BUILD_OUTPUTS
)
86 ## Target that triggers all cgen targets that works when --disable-cgen-maint.
87 %D
%/cgen
: %D
%/cgen-arch
%D
%/cgen-cpu-decode
90 $(AM_V_GEN
)mach
=all FLAGS
="with-scache with-profile=fn"; $(CGEN_GEN_ARCH
)
91 $(srcdir)/%D
%/arch.h
$(srcdir)/%D
%/arch.c
$(srcdir)/%D
%/cpuall.h
: @CGEN_MAINT@
%D
%/cgen-arch
94 $(AM_V_GEN
)cpu
=lm32bf mach
=lm32 FLAGS
="with-scache with-profile=fn" EXTRAFILES
="$(CGEN_CPU_SEM) $(CGEN_CPU_SEMSW)"; $(CGEN_GEN_CPU_DECODE
)
95 $(srcdir)/%D
%/cpu.h
$(srcdir)/%D
%/sem.c
$(srcdir)/%D
%/sem-switch.c
$(srcdir)/%D
%/model.c
$(srcdir)/%D
%/decode.c
$(srcdir)/%D
%/decode.h
: @CGEN_MAINT@
%D
%/cgen-cpu-decode