Add stamp files for generated files in sim/ppc
[binutils-gdb.git] / sim / ppc / Makefile.in
index 8c586350b9dcf8baae53847341bc089170b9ec12..7686937f421362f317826a8efaf974153abe7c97 100644 (file)
@@ -107,11 +107,11 @@ STD_CFLAGS        = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(INC
 NOWARN_CFLAGS  = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(INCLUDES) $(SIM_FPU_CFLAGS)
 BUILD_CFLAGS   = $(CFLAGS_FOR_BUILD) $(INCLUDES) $(WARNING_CFLAGS)
 
-BUILD_LDFLAGS  =
+LDFLAGS_FOR_BUILD      =
 LIBS = @LIBS@
 
 COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(BUILD_CFLAGS)
-LINK_FOR_BUILD = $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@
+LINK_FOR_BUILD = $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(LDFLAGS_FOR_BUILD) -o $@
 
 CONFIG_FILE = @sim_config@
 IGEN_OPCODE_RULES = @sim_opcode@
@@ -133,6 +133,12 @@ IGEN_FLAGS = \
        $(IGEN_SMP) \
        $(IGEN_LINE_NR)
 
+# igen/dgen leak memory, and therefore makes AddressSanitizer unhappy.  Disable
+# leak detection while running them.
+
+IGEN = ASAN_OPTIONS=detect_leaks=0 ./igen
+DGEN = ASAN_OPTIONS=detect_leaks=0 ./dgen
+
 .NOEXPORT:
 MAKEOVERRIDES=
 
@@ -629,15 +635,19 @@ targ-vals.def: $(srcdir)/../common/nltvals.def
        cat $(srcdir)/../common/nltvals.def > tmp-vals.def
        $(SHELL) $(srcdir)/../../move-if-change tmp-vals.def targ-vals.def
 
-targ-vals.h: Makefile gentmap $(srcdir)/../../move-if-change
+targ-vals.h: stamp-vals ; @true
+stamp-vals: Makefile gentmap $(srcdir)/../../move-if-change
        rm -f tmp-vals.h
        ./gentmap -h > tmp-vals.h
        $(SHELL) $(srcdir)/../../move-if-change tmp-vals.h targ-vals.h
+       @echo stamp > stamp-vals
 
-targ-map.c: Makefile gentmap $(srcdir)/../../move-if-change
+targ-map.c: stamp-map; @true
+stamp-map: Makefile gentmap $(srcdir)/../../move-if-change
        rm -f tmp-map.c
        ./gentmap -c > tmp-map.c
        $(SHELL) $(srcdir)/../../move-if-change tmp-map.c targ-map.c
+       @echo stamp > stamp-map
 
 callback.o: $(srcdir)/../common/callback.c $(TARG_VALS_H) $(CONFIG_H)
        $(CC) -c $(STD_CFLAGS) -DHAVE_CONFIG_H $(srcdir)/../common/callback.c
@@ -666,7 +676,7 @@ ppc-config.h: $(CONFIG_FILE)
 
 
 tmp-dgen: dgen ppc-spr-table $(srcdir)/../../move-if-change
-       ./dgen $(DGEN_FLAGS) \
+       $(DGEN) $(DGEN_FLAGS) \
                -r $(srcdir)/ppc-spr-table \
                -n spreg.h -hp tmp-spreg.h \
                -n spreg.c -p  tmp-spreg.c
@@ -675,7 +685,7 @@ tmp-dgen: dgen ppc-spr-table $(srcdir)/../../move-if-change
        touch tmp-dgen
 
 tmp-igen: igen $(srcdir)/ppc-instructions $(srcdir)/altivec.igen $(srcdir)/e500.igen $(IGEN_OPCODE_RULES) $(srcdir)/../../move-if-change tmp-ld-decode tmp-ld-cache tmp-ld-insn tmp-filter
-       ./igen  $(IGEN_FLAGS) \
+       $(IGEN) $(IGEN_FLAGS) \
                -o $(srcdir)/$(IGEN_OPCODE_RULES) \
                -I $(srcdir) -i $(srcdir)/ppc-instructions \
                -n icache.h    -hc tmp-icache.h \
@@ -865,6 +875,7 @@ TAGS: $(BUILT_SRC)
 
 clean mostlyclean:
        rm -f tmp-* *.[oasi] core psim$(EXEEXT) run$(EXEEXT) igen dgen $(BUILT_SRC_WO_CONFIG) gentmap
+       rm -f stamp-vals targ-vals.h stamp-map targ-map.c
 
 distclean realclean: clean
        rm -f TAGS Makefile config.cache config.status config.h defines.h stamp-h config.log
@@ -885,11 +896,15 @@ config.status: configure
 check:
 
 install: installdirs
+       a=`basename "$$(pwd)"`; \
        n=`echo run | sed '$(program_transform_name)'`; \
+       [ "$(SIM_PRIMARY_TARGET)" = "$$a" ] || n="$$n-$$a"; \
        $(INSTALL_PROGRAM) run$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
 
 install-strip: installdirs
+       a=`basename "$$(pwd)"`; \
        n=`echo run | sed '$(program_transform_name)'`; \
+       [ "$(SIM_PRIMARY_TARGET)" = "$$a" ] || n="$$n-$$a"; \
        $(INSTALL_PROGRAM) run$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
        $(STRIP) $(DESTDIR)$(bindir)/$$n$(EXEEXT)