This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] sim: generate build dependencies on the fly


Lift the code that GDB is using to generate dependencies on the fly and
port it over to the sim.  Now people shouldn't have to manually maintain
these in their Makefile's (for the most part).  Generated header files
still need to be manually tracked.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>

sim/bfin/:
2011-07-11  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.in: Replace all dependency rules with a single rule
	for interp.o.
	* aclocal.m4, configure: Regenerate.

sim/arm/:
sim/avr/:
sim/cr16/:
sim/cris/:
sim/d10v/:
sim/erc32/:
sim/frv/:
sim/h8300/:
sim/igen/:
sim/iq2000/:
sim/lm32/:
sim/m32c/:
sim/m32r/:
sim/m68hc11/:
sim/mcore/:
sim/microblaze/:
sim/mips/:
sim/mn10300/:
sim/moxie/:
sim/ppc/:
sim/rx/:
sim/sh/:
sim/sh64/:
sim/v850/:
2011-07-11  Mike Frysinger  <vapier@gentoo.org>

	* aclocal.m4: New file.
	* configure: Regenerate.

sim/common/:
2011-07-11  Mike Frysinger  <vapier@gentoo.org>

	* Make-common.in (VPATH): Add $(srccom).
	(DEP): Delete.
	(DEPMODE, DEPDIR, depcomp, COMPILE.pre, COMPILE.post, COMPILE,
	POSTCOMPILE): New variables.
	(run.o, sim-command.o, sim-core.o, sim-cpu.o, sim-endian.o,
	sim-engine.o, sim-hw.o, sim-memopt.o, sim-module.o, sim-options.o,
	sim-reason.o, sim-reg.o, sim-resume.o, sim-run.o, sim-signal.o,
	sim-stop.o, sim-trace.o, sim-profile.o, sim-model.o, sim-utils.o,
	sim-watch.o, sim-load.o, hw-alloc.o, hw-device.o, hw-events.o,
	hw-instances.o, hw-handles.o, hw-ports.o, hw-properties.o, hw-tree.o,
	dv-cfi.o, dv-core.o, dv-glue.o, dv-pal.o, dv-sockser.o, nrun.o,
	cgen-run.o, cgen-scache.o, cgen-trace.o, cgen-fpu.o, cgen-accfp.o,
	cgen-utils.o, cgen-par.o): Delete rules.
	(sim-abort.o, sim-arange.o, sim-bits.o, sim-config.o, sim-events.o,
	sim-fpu.o, sim-hload.o, sim-hrw.o, sim-info.o): Replace build recipe
	with dependency rule on $(SIM_EXTRA_DEPS).
	(callback.o, syscall.o, sim-io.o): Replace build recipe with
	dependency rule on targ-vals.h.
	(hw-base.o): Replace build recipe with dependency rule on hw-config.h.
	(.c.o): Replace recipe with call to $(COMPILE) and $(POSTCOMPILE).
	Include dependency files, when using GNU Make.
	* aclocal.m4: Include ../../config/depstand.m4.  Call
	ZW_CREATE_DEPDIR and ZW_PROG_COMPILER_DEPENDENCIES.
	(MAKE, GMAKE): New substs.
---
 sim/bfin/Makefile.in      |   43 +-------
 sim/common/Make-common.in |  264 +++++++++++++--------------------------------
 sim/common/acinclude.m4   |   15 +++
 3 files changed, 91 insertions(+), 231 deletions(-)

diff --git a/sim/bfin/Makefile.in b/sim/bfin/Makefile.in
index 67e73c0..20e438f 100644
--- a/sim/bfin/Makefile.in
+++ b/sim/bfin/Makefile.in
@@ -65,45 +65,4 @@ $(srcdir)/linux-fixed-code.h: $(srcdir)/linux-fixed-code.s Makefile.in
 	rm -f linux-fixed-code.o
 	mv $@.tmp $@
 
-interp.o: interp.c targ-vals.h linux-targ-map.h linux-fixed-code.h devices.h $(INCLUDE)
-bfin-sim.o: bfin-sim.c $(INCLUDE)
-gui.o: gui.c $(INCLUDE)
-machs.o: machs.c $(INCLUDE)
-dv-bfin_cec.o: dv-bfin_cec.c devices.h $(INCLUDE)
-dv-bfin_cgu.o: dv-bfin_cgu.c devices.h $(INCLUDE)
-dv-bfin_ctimer.o: dv-bfin_ctimer.c devices.h $(INCLUDE)
-dv-bfin_dde.o: dv-bfin_dde.c devices.h $(INCLUDE)
-dv-bfin_dma.o: dv-bfin_dma.c devices.h $(INCLUDE)
-dv-bfin_dma_pmap.o: dv-bfin_dma_pmap.c devices.h $(INCLUDE)
-dv-bfin_ebiu_amc.o: dv-bfin_ebiu_amc.c devices.h $(INCLUDE)
-dv-bfin_ebiu_ddrc.o: dv-bfin_ebiu_ddrc.c devices.h $(INCLUDE)
-dv-bfin_ebiu_sdc.o: dv-bfin_ebiu_sdc.c devices.h $(INCLUDE)
-dv-bfin_efs.o: dv-bfin_efs.c devices.h $(INCLUDE)
-dv-bfin_emac.o: dv-bfin_emac.c devices.h $(INCLUDE)
-dv-bfin_eppi.o: dv-bfin_eppi.c devices.h $(INCLUDE)
-dv-bfin_evt.o: dv-bfin_evt.c devices.h $(INCLUDE)
-dv-bfin_gpio.o: dv-bfin_gpio.c devices.h $(INCLUDE)
-dv-bfin_gpio2.o: dv-bfin_gpio2.c devices.h $(INCLUDE)
-dv-bfin_gptimer.o: dv-bfin_gptimer.c devices.h $(INCLUDE)
-dv-bfin_jtag.o: dv-bfin_jtag.c devices.h $(INCLUDE)
-dv-bfin_mmu.o: dv-bfin_mmu.c devices.h $(INCLUDE)
-dv-bfin_nfc.o: dv-bfin_nfc.c devices.h $(INCLUDE)
-dv-bfin_otp.o: dv-bfin_otp.c devices.h $(INCLUDE)
-dv-bfin_pfmon.o: dv-bfin_pfmon.c devices.h $(INCLUDE)
-dv-bfin_pint.o: dv-bfin_pint.c devices.h $(INCLUDE)
-dv-bfin_pll.o: dv-bfin_pll.c devices.h $(INCLUDE)
-dv-bfin_ppi.o: dv-bfin_ppi.c devices.h $(INCLUDE)
-dv-bfin_rtc.o: dv-bfin_rtc.c devices.h $(INCLUDE)
-dv-bfin_sec.o: dv-bfin_sec.c devices.h $(INCLUDE)
-dv-bfin_sic.o: dv-bfin_sic.c devices.h $(INCLUDE)
-dv-bfin_smc.o: dv-bfin_smc.c devices.h $(INCLUDE)
-dv-bfin_spi.o: dv-bfin_spi.c devices.h $(INCLUDE)
-dv-bfin_spu.o: dv-bfin_spu.c devices.h $(INCLUDE)
-dv-bfin_trace.o: dv-bfin_trace.c devices.h $(INCLUDE)
-dv-bfin_twi.o: dv-bfin_twi.c devices.h $(INCLUDE)
-dv-bfin_uart.o: dv-bfin_uart.c devices.h $(INCLUDE)
-dv-bfin_uart2.o: dv-bfin_uart2.c devices.h $(INCLUDE)
-dv-bfin_uart4.o: dv-bfin_uart4.c devices.h $(INCLUDE)
-dv-bfin_wdog.o: dv-bfin_wdog.c devices.h $(INCLUDE)
-dv-bfin_wp.o: dv-bfin_wp.c devices.h $(INCLUDE)
-dv-eth_phy.o: devices.h $(INCLUDE)
+interp.o: targ-vals.h
diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in
index 42e3192..b6d9573 100644
--- a/sim/common/Make-common.in
+++ b/sim/common/Make-common.in
@@ -35,7 +35,7 @@
 
 ## COMMON_PRE_CONFIG_FRAG
 
-VPATH = @srcdir@
+VPATH = @srcdir@:$(srccom)
 srcdir = @srcdir@
 srccom = $(srcdir)/../common
 srcroot = $(srcdir)/../..
@@ -109,7 +109,17 @@ AR_FLAGS = rc
 RANLIB = @RANLIB@
 MAKEINFO = makeinfo
 
-DEP = $(srcroot)/mkdep
+# Dependency tracking information.
+DEPMODE = @CCDEPMODE@
+DEPDIR = @DEPDIR@
+depcomp = $(SHELL) $(srcdir)/../depcomp
+
+# Note that these are overridden by GNU make-specific code below if
+# GNU make is used.  The overrides implement dependency tracking.
+COMPILE.pre = $(CC)
+COMPILE.post = -c -o $@
+COMPILE = $(COMPILE.pre) $(ALL_CFLAGS) $(COMPILE.post)
+POSTCOMPILE = @true
 
 # Each simulator's Makefile.in defines one or more of these variables
 # to override our settings as necessary.  There is no need to define these
@@ -272,19 +282,13 @@ run$(EXEEXT): $(SIM_RUN_OBJS) libsim.a $(LIBDEPS)
 	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o run$(EXEEXT) \
 	  $(SIM_RUN_OBJS) libsim.a $(EXTRA_LIBS)
 
-run.o: $(srccom)/run.c config.h tconfig.h $(remote_sim_h) $(callback_h)
-	$(CC) -c $(srccom)/run.c $(ALL_CFLAGS)
-
 # FIXME: Ideally, callback.o and friends live in a library outside of
 # both the gdb and simulator source trees (e.g. devo/remote.  Not
 # devo/libremote because this directory would contain more than just
 # a library).
 
-callback.o: $(srccom)/callback.c config.h tconfig.h $(callback_h) targ-vals.h
-	$(CC) -c $(srccom)/callback.c $(ALL_CFLAGS)
-
-syscall.o: $(srccom)/syscall.c config.h tconfig.h $(callback_h) targ-vals.h
-	$(CC) -c $(srccom)/syscall.c $(ALL_CFLAGS)
+callback.o: targ-vals.h
+syscall.o: targ-vals.h
 
 targ-map.o: targ-map.c targ-vals.h
 
@@ -409,127 +413,68 @@ hw_main_headers = \
 	$(hw-ports_h) \
 	$(hw-properties_h) \
 
-# FIXME: If this complicated way of building .o files from ../common is
-# necessary, the reason should be documented here.
+#
+# Dependency tracking.  Most of this is conditional on GNU Make being
+# found by configure; if GNU Make is not found, we fall back to a
+# simpler scheme.
+#
+
+@GMAKE_TRUE@ifeq ($(DEPMODE),depmode=gcc3)
+# Note that we put the dependencies into a .Tpo file, then move them
+# into place if the compile succeeds.  We need this because gcc does
+# not atomically write the dependency output file.
+@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
+@GMAKE_TRUE@	-MF $(DEPDIR)/$(basename $(@F)).Tpo
+@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
+@GMAKE_TRUE@	$(DEPDIR)/$(basename $(@F)).Po
+@GMAKE_TRUE@else
+@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
+@GMAKE_TRUE@	DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
+# depcomp handles atomicity for us, so we don't need a postcompile
+# step.
+@GMAKE_TRUE@override POSTCOMPILE =
+@GMAKE_TRUE@endif
 
 BUILT_SRC_FROM_COMMON= \
 	sim-inline.c
 
-sim-abort.o: $(srccom)/sim-abort.c \
-	  $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-abort.c $(ALL_CFLAGS)
-
-sim-arange.o: $(srccom)/sim-arange.c $(sim-arange_h) $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-arange.c $(ALL_CFLAGS)
-
-sim-bits.o: $(srccom)/sim-bits.c $(sim-bits_h) $(sim-n-bits_h) \
-	  $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-bits.c $(ALL_CFLAGS)
-
-sim-command.o: $(srccom)/sim-command.c $(sim_main_headers)
-	$(CC) -c $(srccom)/sim-command.c $(ALL_CFLAGS)
-
-sim-config.o: $(srccom)/sim-config.c $(sim-config_h) sim-main.h \
-	  $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-config.c $(ALL_CFLAGS)
-
-sim-core.o: $(srccom)/sim-core.c $(sim_main_headers) \
-	  $(sim-core_h) $(sim-n-core_h)
-	$(CC) -c $(srccom)/sim-core.c $(ALL_CFLAGS)
-
-sim-cpu.o: $(srccom)/sim-cpu.c $(sim_main_headers)
-	$(CC) -c $(srccom)/sim-cpu.c $(ALL_CFLAGS)
-
-sim-endian.o: $(srccom)/sim-endian.c $(sim-endian_h) $(sim-n-endian_h)
-	$(CC) -c $(srccom)/sim-endian.c $(ALL_CFLAGS)
-
-sim-engine.o: $(srccom)/sim-engine.c $(sim_main_headers) $(sim-engine_h)
-	$(CC) -c $(srccom)/sim-engine.c $(ALL_CFLAGS)
-
-sim-events.o: $(srccom)/sim-events.c $(sim-events_h) sim-main.h \
-	  $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-events.c $(ALL_CFLAGS)
-
-sim-fpu.o: $(srccom)/sim-fpu.c $(sim-fpu_h) \
-	  $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-fpu.c $(ALL_CFLAGS)
-
-sim-hload.o: $(srccom)/sim-hload.c $(sim-assert_h) $(remote_sim_h) \
-	  $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-hload.c $(ALL_CFLAGS)
-
-sim-hrw.o: $(srccom)/sim-hrw.c $(sim-assert_h) $(sim_core_h) $(remote_sim_h) \
-	  $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-hrw.c $(ALL_CFLAGS)
-
-sim-hw.o: $(srccom)/sim-hw.c $(sim_main_headers)
-	$(CC) -c $(srccom)/sim-hw.c $(ALL_CFLAGS)
-
-sim-info.o: $(srccom)/sim-info.c $(sim-assert_h) $(remote_sim_h) \
-	  $(SIM_EXTRA_DEPS)
-	$(CC) -c $(srccom)/sim-info.c $(ALL_CFLAGS)
-
 sim-inline.c: $(srccom)/sim-inline.c
 	rm -f $@ tmp-$@
 	echo "# 1 \"$(srccom)/$@\"" > tmp-$@
 	cat $(srccom)/$@ >> tmp-$@
 	$(SHELL) $(srcdir)/../../move-if-change tmp-$@ $@
 
-sim-io.o: $(srccom)/sim-io.c $(sim_main_headers) $(sim-io_h) $(remote_sim_h) \
-	  targ-vals.h
-	$(CC) -c $(srccom)/sim-io.c $(ALL_CFLAGS)
-
-sim-memopt.o: $(srccom)/sim-memopt.c $(sim_main_headers) \
-	  $(sim-io_h)
-	$(CC) -c $(srccom)/sim-memopt.c $(ALL_CFLAGS)
-
-sim-module.o: $(srccom)/sim-module.c $(sim_main_headers) \
-	  $(sim-io_h)
-	$(CC) -c $(srccom)/sim-module.c $(ALL_CFLAGS)
-
-sim-options.o: $(srccom)/sim-options.c $(sim_main_headers) \
-	  $(sim-options_h) $(sim-io_h)
-	$(CC) -c $(srccom)/sim-options.c $(ALL_CFLAGS)
-
-sim-reason.o: $(srccom)/sim-reason.c $(sim_main_headers) $(remote_sim_h)
-	$(CC) -c $(srccom)/sim-reason.c $(ALL_CFLAGS)
-
-sim-reg.o: $(srccom)/sim-reg.c $(sim_main_headers) $(remote_sim_h)
-	$(CC) -c $(srccom)/sim-reg.c $(ALL_CFLAGS)
-
-sim-resume.o: $(srccom)/sim-resume.c $(sim_main_headers) $(remote_sim_h)
-	$(CC) -c $(srccom)/sim-resume.c $(ALL_CFLAGS)
-
-sim-run.o: $(srccom)/sim-run.c $(sim_main_headers)
-	$(CC) -c $(srccom)/sim-run.c $(ALL_CFLAGS)
-
-sim-signal.o: $(srccom)/sim-signal.c $(sim_main_headers) $(sim-signal_h)
-	$(CC) -c $(srccom)/sim-signal.c $(ALL_CFLAGS)
-
-sim-stop.o: $(srccom)/sim-stop.c $(sim_main_headers)
-	$(CC) -c $(srccom)/sim-stop.c $(ALL_CFLAGS)
-
-sim-trace.o: $(srccom)/sim-trace.c $(sim_main_headers) \
-	  $(sim-options_h) $(sim-io_h)
-	$(CC) -c $(srccom)/sim-trace.c $(ALL_CFLAGS)
-
-sim-profile.o: $(srccom)/sim-profile.c $(sim_main_headers) \
-	  $(sim-options_h) $(sim-io_h)
-	$(CC) -c $(srccom)/sim-profile.c $(ALL_CFLAGS)
-
-sim-model.o: $(srccom)/sim-model.c $(sim_main_headers) \
-	  $(sim-io_h)
-	$(CC) -c $(srccom)/sim-model.c $(ALL_CFLAGS)
-
-sim-utils.o: $(srccom)/sim-utils.c $(sim_main_headers)
-	$(CC) -c $(srccom)/sim-utils.c $(ALL_CFLAGS)
-
-sim-watch.o: $(srccom)/sim-watch.c $(sim_main_headers)
-	$(CC) -c $(srccom)/sim-watch.c $(ALL_CFLAGS)
-
-sim-load.o: $(srccom)/sim-load.c $(callback_h) $(sim-basics_h) $(remote_sim_h)
-	$(CC) -c $(srccom)/sim-load.c $(ALL_CFLAGS)
-
+sim-abort.o \
+sim-arange.o \
+sim-bits.o \
+sim-command.o \
+sim-config.o \
+sim-core.o \
+sim-cpu.o \
+sim-engine.o \
+sim-events.o \
+sim-fpu.o \
+sim-hload.o \
+sim-hw.o \
+sim-hrw.o \
+sim-info.o \
+sim-io.o \
+sim-memopt.o \
+sim-module.o \
+sim-options.o \
+sim-reason.o \
+sim-reg.o \
+sim-resume.o \
+sim-run.o \
+sim-signal.o \
+sim-stop.o \
+sim-trace.o \
+sim-profile.o \
+sim-model.o \
+sim-utils.o \
+sim-watch.o \
+sim-load.o: $(SIM_EXTRA_DEPS)
+sim-io.o: targ-vals.h
 
 # FIXME This is one very simple-minded way of generating the file hw-config.h
 hw-config.h: Makefile.in $(srccom)/Make-common.in config.status Makefile
@@ -546,58 +491,21 @@ hw-config.h: Makefile.in $(srccom)/Make-common.in config.status Makefile
 	echo "};" >> tmp-hw.h
 	mv tmp-hw.h hw-config.h
 
-hw-alloc.o: $(srccom)/hw-alloc.c $(hw_main_headers)
-	$(CC) -c $(srccom)/hw-alloc.c $(ALL_CFLAGS)
-
-hw-base.o: $(srccom)/hw-base.c $(hw_main_headers) hw-config.h
-	$(CC) -c $(srccom)/hw-base.c $(ALL_CFLAGS)
-
-hw-device.o: $(srccom)/hw-device.c $(hw_main_headers)
-	$(CC) -c $(srccom)/hw-device.c $(ALL_CFLAGS)
-
-hw-events.o: $(srccom)/hw-events.c $(hw_main_headers) $(sim_main_headers)
-	$(CC) -c $(srccom)/hw-events.c $(ALL_CFLAGS)
+hw-base.o: hw-config.h
 
 test-hw-events: $(srccom)/hw-events.c libsim.a
 	$(CC) $(ALL_CFLAGS) -DMAIN -o test-hw-events$(EXEEXT) \
 		$(srccom)/hw-events.c libsim.a $(EXTRA_LIBS)
 
-hw-instances.o: $(srccom)/hw-instances.c $(hw_main_headers)
-	$(CC) -c $(srccom)/hw-instances.c $(ALL_CFLAGS)
-
-hw-handles.o: $(srccom)/hw-handles.c $(hw_main_headers)
-	$(CC) -c $(srccom)/hw-handles.c $(ALL_CFLAGS)
-
-hw-ports.o: $(srccom)/hw-ports.c $(hw_main_headers)
-	$(CC) -c $(srccom)/hw-ports.c $(ALL_CFLAGS)
-
-hw-properties.o: $(srccom)/hw-properties.c $(hw_main_headers)
-	$(CC) -c $(srccom)/hw-properties.c $(ALL_CFLAGS)
-
-hw-tree.o: $(srccom)/hw-tree.c $(hw_main_headers) $(hw-tree_h)
-	$(CC) -c $(srccom)/hw-tree.c $(ALL_CFLAGS)
-
 # Devices.
 
-dv-cfi.o: $(srccom)/dv-cfi.c $(hw_main_headers) $(sim_main_headers)
-	$(CC) -c $(srccom)/dv-cfi.c $(ALL_CFLAGS)
-
-dv-core.o: $(srccom)/dv-core.c $(hw_main_headers) $(sim_main_headers)
-	$(CC) -c $(srccom)/dv-core.c $(ALL_CFLAGS)
-
-dv-glue.o: $(srccom)/dv-glue.c $(hw_main_headers) $(sim_main_headers)
-	$(CC) -c $(srccom)/dv-glue.c $(ALL_CFLAGS)
-
-dv-pal.o: $(srccom)/dv-pal.c $(hw_main_headers) $(sim_main_headers)
-	$(CC) -c $(srccom)/dv-pal.c $(ALL_CFLAGS)
-
-dv-sockser.o: $(srccom)/dv-sockser.h $(sim_main_headers)
-	$(CC) -c $(srccom)/dv-sockser.c $(ALL_CFLAGS)
-
+dv-cfi.o \
+dv-core.o \
+dv-glue.o \
+dv-pal.o \
+dv-sockser.o: $(SIM_EXTRA_DEPS)
 
-nrun.o: $(srccom)/nrun.c config.h tconfig.h $(remote_sim_h) $(callback_h) \
-	  $(sim_main_headers)
-	$(CC) -c $(srccom)/nrun.c $(ALL_CFLAGS)
+nrun.o: $(SIM_EXTRA_DEPS)
 
 # CGEN support.
 
@@ -607,29 +515,6 @@ CGEN_MAIN_CPU_DEPS = \
 	$(srccom)/cgen-ops.h \
 	$(srccom)/cgen-mem.h
 
-cgen-run.o: $(srccom)/cgen-run.c $(sim_main_headers)
-	$(CC) -c $(srccom)/cgen-run.c $(ALL_CFLAGS)
-
-cgen-scache.o: $(srccom)/cgen-scache.c $(sim_main_headers)
-	$(CC) -c $(srccom)/cgen-scache.c $(ALL_CFLAGS)
-
-cgen-trace.o: $(srccom)/cgen-trace.c $(sim_main_headers)
-	$(CC) -c $(srccom)/cgen-trace.c $(ALL_CFLAGS)
-
-cgen-fpu.o: $(srccom)/cgen-fpu.c $(sim_main_headers) $(sim-fpu_h)
-	$(CC) -c $(srccom)/cgen-fpu.c $(ALL_CFLAGS)
-
-cgen-accfp.o: $(srccom)/cgen-accfp.c $(sim_main_headers) $(sim-fpu_h)
-	$(CC) -c $(srccom)/cgen-accfp.c $(ALL_CFLAGS)
-
-cgen-utils.o: $(srccom)/cgen-utils.c $(sim_main_headers) \
-	  $(srccom)/cgen-mem.h $(srccom)/cgen-ops.h $(srccom)/cgen-engine.h
-	$(CC) -c $(srccom)/cgen-utils.c $(ALL_CFLAGS)
-
-cgen-par.o: $(srccom)/cgen-par.c $(sim_main_headers) \
-	  $(srccom)/cgen-mem.h $(srccom)/cgen-par.h
-	$(CC) -c $(srccom)/cgen-par.c $(ALL_CFLAGS)
-
 # Support targets.
 
 install: install-common $(SIM_EXTRA_INSTALL)
@@ -680,7 +565,8 @@ distclean mostlyclean maintainer-clean realclean: clean $(SIM_EXTRA_DISTCLEAN)
 	rm -f targ-vals.def
 
 .c.o:
-	$(CC) -c $(ALL_CFLAGS) $<
+	$(COMPILE) $<
+	$(POSTCOMPILE)
 
 # Dummy target to force execution of dependent targets.
 force:
diff --git a/sim/common/acinclude.m4 b/sim/common/acinclude.m4
index 11398f5..70feca4 100644
--- a/sim/common/acinclude.m4
+++ b/sim/common/acinclude.m4
@@ -21,6 +21,7 @@
 # Include global overrides and fixes for Autoconf.
 m4_include(../../config/override.m4)
 sinclude([../../config/zlib.m4])
+sinclude([../../config/depstand.m4])
 
 AC_DEFUN([SIM_AC_COMMON],
 [
@@ -45,6 +46,20 @@ AR=${AR-ar}
 AC_SUBST(AR)
 AC_PROG_RANLIB
 
+# Dependency checking.
+ZW_CREATE_DEPDIR
+ZW_PROG_COMPILER_DEPENDENCIES([CC])
+
+# Check for the 'make' the user wants to use.
+AC_CHECK_PROGS(MAKE, make)
+MAKE_IS_GNU=
+case "`$MAKE --version 2>&1 | sed 1q`" in
+  *GNU*)
+    MAKE_IS_GNU=yes
+    ;;
+esac
+AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
+
 dnl We don't use gettext, but bfd does.  So we do the appropriate checks
 dnl to see if there are intl libraries we should link against.
 ALL_LINGUAS=
-- 
1.7.6


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]