sim: erc32: link sis to run program
authorMike Frysinger <vapier@gentoo.org>
Thu, 3 Nov 2022 17:25:32 +0000 (00:25 +0700)
committerMike Frysinger <vapier@gentoo.org>
Thu, 3 Nov 2022 18:37:07 +0000 (01:37 +0700)
The erc32 sim does a lot itself, including handling of the CLI.  It
used to provide a run-compatible interface in the pre-nrun days, but
it was dropped when the old run interface was punted.  Since the old
commit 465fb143c87076b6416a8d0d5dd79bb016060fe3 ("sim: make nrun the
default run program"), the erc32 run & sis programs have been the
same, and erc32 hasn't provide a real run-compatible interface.

Simplify this by linking the two programs via ln/cp instead of running
the linking phase twice to produce the same result.  If/when we fix up
the erc32 port to have a proper run interface, it should be easy to
split these back apart into real programs.

Note: the interf.o reference in here is a bit of a misdirect.  Since
that object is placed into libsim.a, it's never been linked into the
programs since the linker ignores objects that aren't referenced, and
only gdb uses those symbols.

sim/erc32/Makefile.in

index 41830aab726ff4fe3e03c33df225d43cac9651ff..013b604be49ada95fd1878eb40bbb0e7f70e5573 100644 (file)
@@ -34,13 +34,10 @@ SIM_EXTRA_CFLAGS += -DFAST_UART -I$(srcroot)
 
 ## COMMON_POST_CONFIG_FRAG
 
-# `sis' doesn't need interf.o.
-SIS_OFILES = exec.o erc32.o func.o help.o float.o
-
 all: sis$(EXEEXT)
-sis$(EXEEXT): sis.o $(SIS_OFILES) libsim.a $(LIBDEPS)
-       $(ECHO_CCLD) $(CC) $(ALL_CFLAGS) -o sis$(EXEEXT) \
-         sis.o $(SIS_OFILES) libsim.a $(EXTRA_LIBS)
+sis$(EXEEXT): run$(EXEEXT)
+       $(SILENCE) rm -f $@
+       $(ECHO_GEN) ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@
 
 # Copy the files into directories where they will be run.
 install-sis: installdirs