mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-04-06 14:21:43 +08:00
sim: ppc: hoist hw.[ch] creation to top-level
This commit is contained in:
parent
431d8a2ca4
commit
10f554512f
@ -280,21 +280,17 @@ TESTS = testsuite/common/bits32m0$(EXEEXT) \
|
||||
@SIM_ENABLE_ARCH_or1k_TRUE@am__append_87 = or1k/eng.h
|
||||
@SIM_ENABLE_ARCH_or1k_TRUE@am__append_88 = $(or1k_BUILD_OUTPUTS)
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@am__append_89 = common/libcommon.a \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/defines.h ppc/stamp-igen
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/defines.h ppc/stamp-igen \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/stamp-hw
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@am__append_90 = ppc/run
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@am__append_91 = ppc/defines.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/stamp-defines \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ $(ppc_BUILD_OUTPUTS) \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ $(ppc_IGEN_TOOLS) ppc/libigen.a
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@am__append_92 = ppc/libigen.a
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@am__append_93 = \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/icache.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/idecode.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/semantics.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/model.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/support.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/itable.h
|
||||
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@am__append_93 = ppc/icache.h ppc/idecode.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/semantics.h ppc/model.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/support.h ppc/itable.h ppc/hw.h
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@am__append_94 = $(ppc_IGEN_TOOLS)
|
||||
@SIM_ENABLE_ARCH_pru_TRUE@am__append_95 = pru/libsim.a
|
||||
@SIM_ENABLE_ARCH_pru_TRUE@am__append_96 = pru/run
|
||||
@ -2988,10 +2984,10 @@ testsuite_common_CPPFLAGS = \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/itable.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/itable.c
|
||||
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc_BUILD_OUTPUTS = \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc_BUILD_OUTPUTS = \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ $(ppc_BUILT_SRC_FROM_IGEN) \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/stamp-igen
|
||||
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/stamp-igen ppc/hw.c ppc/hw.h \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/stamp-hw
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc_IGEN_OPCODE_RULES = ppc/@sim_ppc_opcode@
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc_filter_SOURCES =
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc_filter_LDADD = ppc/filter-main.o ppc/libigen.a
|
||||
@ -3009,6 +3005,7 @@ testsuite_common_CPPFLAGS = \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/ld-insn
|
||||
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@IGEN_OPCODE_RULES = @sim_ppc_opcode@
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc_HW_SRC = $(sim_ppc_hw_src:%=ppc/%)
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppcdocdir = $(docdir)/ppc
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppcdoc_DATA = ppc/BUGS ppc/INSTALL ppc/README ppc/RUN
|
||||
@SIM_ENABLE_ARCH_pru_TRUE@nodist_pru_libsim_a_SOURCES = \
|
||||
@ -5857,6 +5854,37 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo
|
||||
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc/%-main.o: ppc/%.c
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_CC)$(COMPILE_FOR_BUILD) -DMAIN -c $< -o $@
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc/hw.c ppc/hw.h: ppc/stamp-hw ; @true
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc/stamp-hw: Makefile $(ppc_HW_SRC) $(srcroot)/move-if-change
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_GEN)\
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ f=""; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ for i in $(ppc_HW_SRC) ; do \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ case " $$f " in \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ *" $$i "*) ;; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ *) f="$$f $$i" ;; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ esac ; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ done ; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ for hw in $$f ; do echo $$hw ; done \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ | sed -e 's/^.*\(hw_.*\)\.c/\1/' \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ -e 's/^/extern const device_descriptor /' \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ -e 's/$$/_device_descriptor\[\];/' \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ > ppc/hw.hin; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ f=""; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ for i in $(ppc_HW_SRC) ; do \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ case " $$f " in \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ *" $$i "*) ;; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ *) f="$$f $$i" ;; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ esac ; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ done ; \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ for hw in $$f ; do echo $$hw ; done \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ | sed -e 's/^.*\(hw_.*\)\.c/\1/' \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ -e 's/^/ /' \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ -e 's/$$/_device_descriptor,/' \
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ > ppc/hw.cin
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_at)$(SHELL) $(srcroot)/move-if-change ppc/hw.hin ppc/hw.h
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_at)$(SHELL) $(srcroot)/move-if-change ppc/hw.cin ppc/hw.c
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_at)touch $@
|
||||
@SIM_ENABLE_ARCH_ppc_TRUE@ppc/hw.c ppc/hw.h: ppc/stamp-igen
|
||||
@SIM_ENABLE_ARCH_pru_TRUE@$(pru_libsim_a_OBJECTS) $(pru_libsim_a_LIBADD): pru/hw-config.h
|
||||
|
||||
@SIM_ENABLE_ARCH_pru_TRUE@pru/modules.o: pru/modules.c
|
||||
|
@ -362,8 +362,7 @@ INLINE = \
|
||||
inline.c
|
||||
|
||||
BUILT_SRC_WO_CONFIG = \
|
||||
pk.h \
|
||||
hw.h hw.c
|
||||
pk.h
|
||||
|
||||
BUILT_SRC = \
|
||||
$(BUILT_SRC_WO_CONFIG)
|
||||
@ -456,7 +455,7 @@ PACKAGE_SRC = pk_disklabel.c
|
||||
PACKAGE_OBJ = $(PACKAGE_SRC:.c=.o)
|
||||
|
||||
|
||||
$(TARGETLIB): tmp-hw defines.h $(LIB_OBJ) $(GDB_OBJ)
|
||||
$(TARGETLIB): defines.h $(LIB_OBJ) $(GDB_OBJ)
|
||||
$(ECHO_AR) $(AR) $(AR_FLAGS) $(TARGETLIB) $(LIB_OBJ) $(GDB_OBJ)
|
||||
$(ECHO_RANLIB) $(RANLIB) $(TARGETLIB)
|
||||
|
||||
@ -529,38 +528,6 @@ sim-fpu.o: $(srcdir)/../common/sim-fpu.c
|
||||
options.o: options.c $(CPU_H) $(OPTIONS_H) $(DEFINES_H) $(BASICS_H) $(IDECODE_H) $(INLINE) $(LIB_SRC) $(BUILT_SRC) ../config.status Makefile
|
||||
$(ECHO_CC) $(CC) -c $(STD_CFLAGS) '-DOPCODE_RULES="@sim_ppc_opcode@"' '-DIGEN_FLAGS="$(ppc_IGEN_FLAGS)"' $(srcdir)/options.c
|
||||
|
||||
# real hardware
|
||||
hw.c hw.h: tmp-hw; @true
|
||||
tmp-hw: Makefile $(HW_SRC) $(srcroot)/move-if-change
|
||||
$(ECHO_GEN)# The first for loop is to remove duplicates.
|
||||
$(SILENCE) f=""; \
|
||||
for i in $(HW_SRC) ; do \
|
||||
case " $$f " in \
|
||||
*" $$i "*) ;; \
|
||||
*) f="$$f $$i" ;; \
|
||||
esac ; \
|
||||
done ; \
|
||||
for hw in $$f ; do echo $$hw ; done \
|
||||
| sed -e 's/^.*\(hw_.*\)\.c/\1/' \
|
||||
-e 's/^/extern const device_descriptor /' \
|
||||
-e 's/$$/_device_descriptor\[\];/' \
|
||||
> tmp-hw.h
|
||||
$(SILENCE) f=""; \
|
||||
for i in $(HW_SRC) ; do \
|
||||
case " $$f " in \
|
||||
*" $$i "*) ;; \
|
||||
*) f="$$f $$i" ;; \
|
||||
esac ; \
|
||||
done ; \
|
||||
for hw in $$f ; do echo $$hw ; done \
|
||||
| sed -e 's/^.*\(hw_.*\)\.c/\1/' \
|
||||
-e 's/^/ /' \
|
||||
-e 's/$$/_device_descriptor,/' \
|
||||
> tmp-hw.c
|
||||
$(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-hw.h hw.h
|
||||
$(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-hw.c hw.c
|
||||
$(SILENCE) touch $@
|
||||
|
||||
hw_cpu.o: hw_cpu.c $(DEVICE_TABLE_H) $(HW_CPU_H) $(INTERRUPTS_H) $(CPU_H)
|
||||
hw_com.o: hw_com.c $(DEVICE_TABLE_H)
|
||||
hw_core.o: hw_core.c $(DEVICE_TABLE_H) $(COREFILE_H)
|
||||
|
@ -177,5 +177,48 @@ MOSTLYCLEANFILES += $(%C%_IGEN_TOOLS) %D%/libigen.a
|
||||
|
||||
IGEN_OPCODE_RULES = @sim_ppc_opcode@
|
||||
|
||||
## Real hardware.
|
||||
## NB: The first for loop is to remove duplicates.
|
||||
%C%_HW_SRC = $(sim_ppc_hw_src:%=%D%/%)
|
||||
%D%/hw.c %D%/hw.h: %D%/stamp-hw ; @true
|
||||
%D%/stamp-hw: Makefile $(%C%_HW_SRC) $(srcroot)/move-if-change
|
||||
$(AM_V_GEN)\
|
||||
f=""; \
|
||||
for i in $(%C%_HW_SRC) ; do \
|
||||
case " $$f " in \
|
||||
*" $$i "*) ;; \
|
||||
*) f="$$f $$i" ;; \
|
||||
esac ; \
|
||||
done ; \
|
||||
for hw in $$f ; do echo $$hw ; done \
|
||||
| sed -e 's/^.*\(hw_.*\)\.c/\1/' \
|
||||
-e 's/^/extern const device_descriptor /' \
|
||||
-e 's/$$/_device_descriptor\[\];/' \
|
||||
> %D%/hw.hin; \
|
||||
f=""; \
|
||||
for i in $(%C%_HW_SRC) ; do \
|
||||
case " $$f " in \
|
||||
*" $$i "*) ;; \
|
||||
*) f="$$f $$i" ;; \
|
||||
esac ; \
|
||||
done ; \
|
||||
for hw in $$f ; do echo $$hw ; done \
|
||||
| sed -e 's/^.*\(hw_.*\)\.c/\1/' \
|
||||
-e 's/^/ /' \
|
||||
-e 's/$$/_device_descriptor,/' \
|
||||
> %D%/hw.cin
|
||||
$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/hw.hin %D%/hw.h
|
||||
$(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/hw.cin %D%/hw.c
|
||||
$(AM_V_at)touch $@
|
||||
|
||||
BUILT_SOURCES += \
|
||||
%D%/hw.h
|
||||
%C%_BUILD_OUTPUTS += \
|
||||
%D%/hw.c \
|
||||
%D%/hw.h \
|
||||
%D%/stamp-hw
|
||||
SIM_ALL_RECURSIVE_DEPS += %D%/stamp-hw
|
||||
%D%/hw.c %D%/hw.h: %D%/stamp-igen
|
||||
|
||||
%C%docdir = $(docdir)/%C%
|
||||
%C%doc_DATA = %D%/BUGS %D%/INSTALL %D%/README %D%/RUN
|
||||
|
Loading…
x
Reference in New Issue
Block a user