From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id 31A4D3858289 for ; Wed, 21 Dec 2022 05:33:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 31A4D3858289 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 8D06B3415B7; Wed, 21 Dec 2022 05:33:28 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH 3/3] sim: hw-config.h: move generation to top-level Date: Wed, 21 Dec 2022 00:33:21 -0500 Message-Id: <20221221053321.18033-3-vapier@gentoo.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20221221053321.18033-1-vapier@gentoo.org> References: <20221221053321.18033-1-vapier@gentoo.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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. --- sim/Makefile.in | 45 ++++++++++++++++++++++++++++----------- sim/common/Make-common.in | 18 ---------------- sim/common/local.mk | 21 ++++++++++++++++++ 3 files changed, 54 insertions(+), 30 deletions(-) diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in index ff4e17102024..52cc3c926f7f 100644 --- a/sim/common/Make-common.in +++ b/sim/common/Make-common.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 diff --git a/sim/common/local.mk b/sim/common/local.mk index bf9b97d04d71..caffca9b02d3 100644 --- a/sim/common/local.mk +++ b/sim/common/local.mk @@ -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 -- 2.39.0