forked from Imagelibrary/binutils-gdb
sim: hw-config.h: move generation to top-level
In order to compile arch objects from the top-level, we need to generate the hw-config.h header, so move that logic up to the top level first.
This commit is contained in:
@@ -197,7 +197,6 @@ endif
|
||||
all_object_files = $(LIB_OBJS) $(SIM_RUN_OBJS)
|
||||
generated_files = \
|
||||
$(SIM_EXTRA_DEPS) \
|
||||
hw-config.h \
|
||||
modules.c
|
||||
|
||||
# Ensure that generated files are created early. Use order-only
|
||||
@@ -212,22 +211,6 @@ endif
|
||||
# Dependencies.
|
||||
-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
|
||||
|
||||
# FIXME This is one very simple-minded way of generating the file hw-config.h
|
||||
hw-config.h: stamp-hw ; @true
|
||||
stamp-hw: Makefile.in $(srccom)/Make-common.in $(config.status) Makefile
|
||||
$(ECHO_STAMP) hw-config.h
|
||||
$(SILENCE) ( \
|
||||
sim_hw="$(SIM_HW_DEVICES)" ; \
|
||||
echo "/* generated by Makefile */" ; \
|
||||
printf "extern const struct hw_descriptor dv_%s_descriptor[];\n" $$sim_hw ; \
|
||||
echo "const struct hw_descriptor * const hw_descriptors[] = {" ; \
|
||||
printf " dv_%s_descriptor,\n" $$sim_hw ; \
|
||||
echo " NULL," ; \
|
||||
echo "};" \
|
||||
) > tmp-hw.h
|
||||
$(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-hw.h hw-config.h
|
||||
$(SILENCE) touch $@
|
||||
|
||||
test-hw-events: $(srccom)/hw-events.c libsim.a
|
||||
$(ECHO_CCLD) $(LIBTOOL) $(AM_V_lt) --tag=CC --mode=link \
|
||||
$(CC) $(ALL_CFLAGS) -DMAIN -o test-hw-events$(EXEEXT) \
|
||||
@@ -290,7 +273,6 @@ TAGS: force
|
||||
mostlyclean clean: $(SIM_EXTRA_CLEAN)
|
||||
rm -f *.[oa] *~ core \
|
||||
run$(EXEEXT) libsim.a \
|
||||
hw-config.h stamp-hw \
|
||||
modules.c stamp-modules \
|
||||
tmp-mloop.hin tmp-mloop.h tmp-mloop.cin tmp-mloop.c
|
||||
|
||||
|
||||
@@ -110,6 +110,27 @@ SIM_NEW_COMMON_OBJS += \
|
||||
AM_MAKEFLAGS += SIM_HW_DEVICES_="$(SIM_HW_DEVICES)"
|
||||
endif
|
||||
|
||||
# FIXME This is one very simple-minded way of generating the file hw-config.h.
|
||||
%/hw-config.h: %/stamp-hw ; @true
|
||||
%/stamp-hw: Makefile
|
||||
$(AM_V_GEN)set -e; \
|
||||
( \
|
||||
sim_hw="$(SIM_HW_DEVICES) $($(@D)_SIM_EXTRA_HW_DEVICES)" ; \
|
||||
echo "/* generated by Makefile */" ; \
|
||||
printf "extern const struct hw_descriptor dv_%s_descriptor[];\n" $$sim_hw ; \
|
||||
echo "const struct hw_descriptor * const hw_descriptors[] = {" ; \
|
||||
printf " dv_%s_descriptor,\n" $$sim_hw ; \
|
||||
echo " NULL," ; \
|
||||
echo "};" \
|
||||
) > $@.tmp; \
|
||||
$(SHELL) $(srcroot)/move-if-change $@.tmp $(@D)/hw-config.h; \
|
||||
touch $@
|
||||
.PRECIOUS: %/stamp-hw
|
||||
|
||||
%C%_HW_CONFIG_H_TARGETS = $(patsubst %,%/hw-config.h,$(SIM_ENABLED_ARCHES))
|
||||
MOSTLYCLEANFILES += $(%C%_HW_CONFIG_H_TARGETS) $(patsubst %,%/stamp-hw,$(SIM_ENABLED_ARCHES))
|
||||
SIM_ALL_RECURSIVE_DEPS += $(%C%_HW_CONFIG_H_TARGETS)
|
||||
|
||||
LIBIBERTY_LIB = ../libiberty/libiberty.a
|
||||
BFD_LIB = ../bfd/libbfd.la
|
||||
OPCODES_LIB = ../opcodes/libopcodes.la
|
||||
|
||||
Reference in New Issue
Block a user