https://gcc.gnu.org/g:064601918219d2ca414a49df5aa8c99083471e5e
commit r17-3975-g064601918219d2ca414a49df5aa8c99083471e5e Author: Gaius Mulley <[email protected]> Date: Mon Sep 7 14:26:42 2026 +0100 PR modula2/126847: Fix make install to avoid rebuilding cc1gm2 Rewrite many of the build rules to use order-only dependancies when encountering generated sources. The generated sources should not be regenerated if header files (such as command line option headers) are rebuilt. gcc/m2/ChangeLog: PR modula2/126847 * Make-lang.in (TEXILIBSRC): New define. (m2/stage1/cc1gm2$(exeext)): Rewrite. (m2/gm2-gcc/$(SRC_PREFIX)%.h): Add order-only dependancy. (m2/gm2-libs-boot/M2RTS.o): Ditto. (m2/gm2-libs-boot/%.o): Ditto. (m2/gm2-libs-boot/$(SRC_PREFIX)%.h): Ditto. (m2/gm2-libs-boot/RTintdummy.o): Ditto. (m2/gm2-libs-boot/wrapc.o): Ditto. (m2/gm2-libs-boot/UnixArgs.o): Ditto. (m2/gm2-libs-boot/choosetemp.o): Ditto. (m2/gm2-libs-boot/errno.o): Ditto. (m2/gm2-libs-boot/dtoa.o): Ditto. (m2/gm2-libs-boot/ldtoa.o): Ditto. (m2/gm2-libs-boot/termios.o): Ditto. (m2/gm2-libs-boot/SysExceptions.o): Ditto. (m2/gm2-libs-boot/SysStorage.o): Ditto. (m2/gm2-libs-boot/Selective.o): Ditto. (m2/gm2-compiler-boot/M2GCCDeclare.o): Ditto. (m2/gm2-compiler-boot/M2Error.o): Ditto. (m2/gm2-compiler-boot/%.o): Ditto. (m2/gm2-compiler-boot/$(SRC_PREFIX)%.h): Ditto. (m2/gm2-compiler-boot/P0SyntaxCheck.c): Ditto. (m2/gm2-compiler-boot/P0SyntaxCheck.o): Ditto. (m2/gm2-compiler-boot/P1Build.c): Ditto. (m2/gm2-compiler-boot/P1Build.o): Ditto. (m2/gm2-compiler-boot/P2Build.c): Ditto. (m2/gm2-compiler-boot/P2Build.o): Ditto. (m2/gm2-compiler-boot/P3Build.c): Ditto. (m2/gm2-compiler-boot/P3Build.o): Ditto. (m2/gm2-compiler-boot/PCBuild.c): Ditto. (m2/gm2-compiler-boot/PCBuild.o): Ditto. (m2/gm2-compiler-boot/PHBuild.c): Ditto. (m2/gm2-compiler-boot/PHBuild.o): Ditto. (m2/gm2-compiler-boot/m2flex.o): Ditto. (m2/gm2-libiberty/$(SRC_PREFIX)%.h): Ditto. (m2/gm2-compiler/%.o): Ditto. (m2/gm2-compiler/m2flex.o): Ditto. (m2/gm2-libs/choosetemp.o): Ditto. (m2/gm2-libs-boot/libgm2.a): Ditto. (m2/gm2-compiler-boot/gm2.a): Ditto. Signed-off-by: Gaius Mulley <[email protected]> Diff: --- gcc/m2/Make-lang.in | 109 +++++++++++++++++++++++++++++----------------------- 1 file changed, 61 insertions(+), 48 deletions(-) diff --git a/gcc/m2/Make-lang.in b/gcc/m2/Make-lang.in index d5635a7cdfa6..d7a27d3422c9 100644 --- a/gcc/m2/Make-lang.in +++ b/gcc/m2/Make-lang.in @@ -49,14 +49,15 @@ else PLUGINLDFLAGS += -lc endif -TEXISRC = $(srcdir)/doc/gm2.texi \ - m2/gm2-libs.texi \ +TEXILIBSRC = m2/gm2-libs.texi \ m2/gm2-ebnf.texi \ m2/SYSTEM-pim.texi \ m2/SYSTEM-iso.texi \ m2/Builtins.texi \ m2/gpl_v3_without_node.texi +TEXISRC = $(srcdir)/doc/gm2.texi + # Define the names for selecting modula-2 in LANGUAGES. m2 modula-2 modula2: gm2$(exeext) xgcc$(exeext) cc1gm2$(exeext) $(GCC_PASSES) m2.serial = cc1gm2$(exeext) @@ -85,6 +86,7 @@ m2.srcman: doc/gm2.1 # Tell GNU make to ignore these if they exist. .PHONY: m2 modula-2 modula2 +.SECONDARY: $(TEXILIBSRC) m2/gm2-compiler/m2flex.c m2/gm2-compiler-boot/m2flex.o m2/gm2-compiler/m2flex.o GM2_PROG_DEP=gm2$(exeext) xgcc$(exeext) cc1gm2$(exeext) @@ -151,7 +153,7 @@ $(DESTDIR)$(man1dir)/$(GM2_INSTALL_NAME)$(man1ext): doc/m2.1 installdirs m2.dvi: doc/m2.dvi -doc/m2.dvi: $(TEXISRC) $(objdir)/m2/images/gnu.eps +doc/m2.dvi: $(objdir)/m2/images/gnu.eps $(TEXI2DVI) -c -I $(objdir)/m2 -I $(srcdir)/doc/include -o $@ $(srcdir)/doc/gm2.texi M2_DVIFILES = doc/m2.dvi @@ -171,7 +173,7 @@ doc/m2.ps: doc/m2.dvi m2.pdf: doc/m2.pdf -doc/m2.pdf: $(TEXISRC) $(objdir)/m2/images/gnu.eps +doc/m2.pdf: $(TEXISRC) | $(objdir)/m2/images/gnu.eps $(TEXILIBSRC) $(TEXI2PDF) -I $(objdir)/m2 -I $(srcdir)/doc/include \ $(srcdir)/doc/gm2.texi -o $@ @@ -189,10 +191,10 @@ m2.install-pdf: $(M2_PDFFILES) .INTERMEDIATE: m2.pod -m2.pod: $(TEXISRC) $(objdir)/m2/images/gnu.eps +m2.pod: $(TEXISRC) | $(objdir)/m2/images/gnu.eps $(TEXILIBSRC) -$(TEXI2POD) -I $(objdir)/m2 -D m2 < $< > $@ -doc/m2.info: $(TEXISRC) $(objdir)/m2/images/gnu.eps +doc/m2.info: $(TEXISRC) | $(objdir)/m2/images/gnu.eps $(TEXILIBSRC) if test "x$(BUILD_INFO)" = xinfo; then \ rm -f doc/m2.info*; \ $(MAKEINFO) -I$(objdir)/m2 -I$(srcdir)/doc/include \ @@ -205,7 +207,7 @@ $(objdir)/m2/images/gnu.eps: $(srcdir)/m2/images/gnupng m2.html: $(build_htmldir)/m2/index.html -$(build_htmldir)/m2/index.html: $(TEXISRC) $(objdir)/m2/images/gnu.eps +$(build_htmldir)/m2/index.html: $(TEXISRC) | $(objdir)/m2/images/gnu.eps $(TEXILIBSRC) $(mkinstalldirs) $(@D) rm -f $(@D)/* $(TEXI2HTML) -I $(objdir)/m2 -I $(srcdir)/m2 -I $(gcc_docdir)/include -o $(@D) $< @@ -269,7 +271,7 @@ endif # SYSTEM-iso.texi -m2/SYSTEM-iso.texi: SYSTEM-iso.texi-check; @true +m2/SYSTEM-iso.texi: SYSTEM-iso.texi-check; @true ifeq ($(HAVE_PYTHON),yes) SYSTEM-iso.texi-check: m2/gm2-libs-iso-common/SYSTEM.def @@ -530,9 +532,20 @@ m2/stage2/cc1gm2$(exeext): m2/stage1/cc1gm2$(exeext) m2/gm2-compiler/m2flex.o \ $(BACKENDLIBS) $(LIBSTDCXX) -lm @$(call LINK_PROGRESS,$(INDEX.m2),end) -m2/stage1/cc1gm2$(exeext): gm2$(exeext) m2/gm2-compiler-boot/m2flex.o \ - $(GM2_C_OBJS) $(BACKEND) $(LIBDEPS) \ - $(GM2_LIBS_BOOT) $(MC_LIBS) \ + +# The objects contained in GM2_SRC_GEN_OBJ should not be rebuilt if the headers +# or sources change as they are automatically generated. For this reason +# they are built using order-only dependancies so not to rebuild on +# make/make install. + +GM2_SRC_GEN_OBJ=m2/gm2-compiler-boot/gm2.a \ + m2/gm2-libs-boot/libgm2.a \ + m2/gm2-compiler-boot/m2flex.o + +m2/stage1/cc1gm2$(exeext): gm2 $(GM2_SRC_GEN_OBJ) $(GM2-BOOT-O) \ + $(GM2_C_OBJS) \ + $(MC_LIBS) \ + $(BACKEND) $(LIBDEPS) \ m2/gm2-gcc/rtegraph.o $(M2RTE_PLUGIN_SO) \ $(m2.prev) -test -d $(@D) || $(mkinstalldirs) $(@D) @@ -583,7 +596,7 @@ m2/gm2-gcc/rtegraph.o: $(srcdir)/m2/gm2-gcc/rtegraph.cc $(GCC_HEADER_DEPENDENCIE $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) $(POSTCOMPILE) -m2/gm2-gcc/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-gcc/%.def $(MCDEPS) +m2/gm2-gcc/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-gcc/%.def | $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=$@ $(srcdir)/m2/gm2-gcc/$*.def @@ -1435,25 +1448,25 @@ mcflex.o: mcflex.c m2/gm2-libs/gm2-libs-host.h mcflex.c: $(srcdir)/m2/mc/mc.flex flex -t $< > $@ -m2/gm2-libs-boot/M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-libs-boot/M2RTS.o: $(srcdir)/m2/gm2-libs/M2RTS.mod | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-libs-boot/M2RTS.c $(srcdir)/m2/gm2-libs/M2RTS.mod $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -I$(srcdir)/m2/gm2-libs-ch $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/M2RTS.c -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs-boot/%.mod $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs-boot/%.mod | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-libs-boot/$*.c $(srcdir)/m2/gm2-libs-boot/$*.mod $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(MCINCLUDES) -I$(srcdir)/m2/gm2-libs-ch m2/gm2-libs-boot/$*.c -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs/%.mod $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-libs-boot/%.o: $(srcdir)/m2/gm2-libs/%.mod | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-libs-boot/$*.c $(srcdir)/m2/gm2-libs/$*.mod $(COMPILER) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -I$(srcdir)/m2/gm2-libs-ch $(MCINCLUDES) $(INCLUDES) m2/gm2-libs-boot/$*.c -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def $(MCDEPS) +m2/gm2-libs-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libs/%.def | $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=$@ $(srcdir)/m2/gm2-libs/$*.def @@ -1469,57 +1482,57 @@ m2/gm2-libs-boot/RTintdummy.o: $(srcdir)/m2/gm2-libs-ch/RTintdummy.c $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/wrapc.o: $(srcdir)/m2/gm2-libs-ch/wrapc.c m2/gm2-libs-boot/$(SRC_PREFIX)wrapc.h $(GM2-LIBS-BOOT-H) +m2/gm2-libs-boot/wrapc.o: $(srcdir)/m2/gm2-libs-ch/wrapc.c | m2/gm2-libs-boot/$(SRC_PREFIX)wrapc.h $(GM2-LIBS-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c -DHAVE_CONFIG_H $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libs $(INCLUDES) $< -o $@ $(POSTCOMPILE) MC_BOOT_INCLUDES = -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -I$(srcdir)/m2/mc-boot-ch -m2/gm2-libs-boot/UnixArgs.o: $(srcdir)/m2/gm2-libs-ch/UnixArgs.cc m2/gm2-libs-boot/$(SRC_PREFIX)UnixArgs.h $(GM2-LIBS-BOOT-H) +m2/gm2-libs-boot/UnixArgs.o: $(srcdir)/m2/gm2-libs-ch/UnixArgs.cc | m2/gm2-libs-boot/$(SRC_PREFIX)UnixArgs.h $(GM2-LIBS-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c -DIN_GCC $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) \ $(MC_BOOT_INCLUDES) $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/choosetemp.o: m2/gm2-libs-ch/choosetemp.c m2/gm2-libiberty/Gchoosetemp.h $(GM2-LIBS-BOOT-H) +m2/gm2-libs-boot/choosetemp.o: m2/gm2-libs-ch/choosetemp.c | m2/gm2-libiberty/Gchoosetemp.h $(GM2-LIBS-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(MC_BOOT_INCLUDES) \ -Im2/gm2-libiberty -I$(srcdir)/m2/gm2-libiberty/ $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/errno.o: $(srcdir)/m2/gm2-libs-ch/errno.c m2/gm2-libs-boot/$(SRC_PREFIX)errno.h $(GM2-LIBS-BOOT-H) +m2/gm2-libs-boot/errno.o: $(srcdir)/m2/gm2-libs-ch/errno.c | m2/gm2-libs-boot/$(SRC_PREFIX)errno.h $(GM2-LIBS-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) \ $(MC_BOOT_INCLUDES) $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/dtoa.o: $(srcdir)/m2/gm2-libs-ch/dtoa.cc $(GM2-LIBS-BOOT-H) +m2/gm2-libs-boot/dtoa.o: $(srcdir)/m2/gm2-libs-ch/dtoa.cc | $(GM2-LIBS-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(MC_BOOT_INCLUDES) \ $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/ldtoa.o: $(srcdir)/m2/gm2-libs-ch/ldtoa.cc $(GM2-LIBS-BOOT-H) +m2/gm2-libs-boot/ldtoa.o: $(srcdir)/m2/gm2-libs-ch/ldtoa.cc | $(GM2-LIBS-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(MC_BOOT_INCLUDES) \ $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/termios.o: $(srcdir)/m2/gm2-libs-ch/termios.c $(BUILD-LIBS-BOOT-H) $(GM2-LIBS-BOOT-H) +m2/gm2-libs-boot/termios.o: $(srcdir)/m2/gm2-libs-ch/termios.c | $(BUILD-LIBS-BOOT-H) $(GM2-LIBS-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(MC_BOOT_INCLUDES) \ $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/SysExceptions.o: $(srcdir)/m2/gm2-libs-ch/SysExceptions.c \ +m2/gm2-libs-boot/SysExceptions.o: $(srcdir)/m2/gm2-libs-ch/SysExceptions.c | \ m2/gm2-libs-boot/$(SRC_PREFIX)SysExceptions.h $(GM2-LIBS-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) $(MC_BOOT_INCLUDES) \ $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/SysStorage.o: $(srcdir)/m2/gm2-libs/SysStorage.mod $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-libs-boot/SysStorage.o: $(srcdir)/m2/gm2-libs/SysStorage.mod | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-libs-boot/SysStorage.c $(srcdir)/m2/gm2-libs/SysStorage.mod $(COMPILER) $(CM2DEP) -DIN_GCC -c $(CFLAGS) $(GM2_PICFLAGS) $(MC_SRC_FLAGS) \ @@ -1527,34 +1540,34 @@ m2/gm2-libs-boot/SysStorage.o: $(srcdir)/m2/gm2-libs/SysStorage.mod $(MCDEPS) $( m2/gm2-libs-boot/SysStorage.c -o m2/gm2-libs-boot/SysStorage.o $(POSTCOMPILE) -m2/gm2-libs-boot/Selective.o: $(srcdir)/m2/gm2-libs-ch/Selective.c \ - m2/gm2-libs-boot/$(SRC_PREFIX)Selective.h m2/gm2-libs/gm2-libs-host.h +m2/gm2-libs-boot/Selective.o: $(srcdir)/m2/gm2-libs-ch/Selective.c | \ + m2/gm2-libs-boot/$(SRC_PREFIX)Selective.h m2/gm2-libs/gm2-libs-host.h -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/M2GCCDeclare.o: $(srcdir)/m2/gm2-compiler/M2GCCDeclare.mod $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/M2GCCDeclare.o: $(srcdir)/m2/gm2-compiler/M2GCCDeclare.mod | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) $(MC_EXTENDED_OPAQUE) -o=m2/gm2-compiler-boot/M2GCCDeclare.c $< $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2GCCDeclare.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/M2Error.o: $(srcdir)/m2/gm2-compiler/M2Error.mod $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/M2Error.o: $(srcdir)/m2/gm2-compiler/M2Error.mod | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) $(MC_EXTENDED_OPAQUE) -o=m2/gm2-compiler-boot/M2Error.c $< $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/M2Error.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/%.o: $(srcdir)/m2/gm2-compiler/%.mod $(BUILD-BOOT-H) $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/%.o: $(srcdir)/m2/gm2-compiler/%.mod | $(BUILD-BOOT-H) $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/$*.c $(srcdir)/m2/gm2-compiler/$*.mod $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/$*.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/%.o: m2/gm2-compiler-boot/%.mod $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/%.o: m2/gm2-compiler-boot/%.mod | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/$*.c m2/gm2-compiler-boot/$*.mod $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ @@ -1565,67 +1578,67 @@ m2/gm2-compiler-boot/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-compiler/%.def $(MCDEPS) -test -d $(@D) || $(mkinstalldirs) $(@D) $(MC) -o=$@ $(srcdir)/m2/gm2-compiler/$*.def -m2/gm2-compiler-boot/P0SyntaxCheck.c: m2/gm2-compiler-boot/P0SyntaxCheck.mod $(MCDEPS) +m2/gm2-compiler-boot/P0SyntaxCheck.c: m2/gm2-compiler-boot/P0SyntaxCheck.mod | $(MCDEPS) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/P0SyntaxCheck.c m2/gm2-compiler-boot/P0SyntaxCheck.mod -m2/gm2-compiler-boot/P0SyntaxCheck.o: m2/gm2-compiler-boot/P0SyntaxCheck.c $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/P0SyntaxCheck.o: m2/gm2-compiler-boot/P0SyntaxCheck.c | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/P0SyntaxCheck.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/P1Build.c: m2/gm2-compiler-boot/P1Build.mod $(MCDEPS) +m2/gm2-compiler-boot/P1Build.c: m2/gm2-compiler-boot/P1Build.mod | $(MCDEPS) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/P1Build.c m2/gm2-compiler-boot/P1Build.mod -m2/gm2-compiler-boot/P1Build.o: m2/gm2-compiler-boot/P1Build.c $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/P1Build.o: m2/gm2-compiler-boot/P1Build.c | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/P1Build.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/P2Build.c: m2/gm2-compiler-boot/P2Build.mod $(MCDEPS) +m2/gm2-compiler-boot/P2Build.c: m2/gm2-compiler-boot/P2Build.mod | $(MCDEPS) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/P2Build.c m2/gm2-compiler-boot/P2Build.mod -m2/gm2-compiler-boot/P2Build.o: m2/gm2-compiler-boot/P2Build.c $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/P2Build.o: m2/gm2-compiler-boot/P2Build.c | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/P2Build.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/P3Build.c: m2/gm2-compiler-boot/P3Build.mod $(MCDEPS) +m2/gm2-compiler-boot/P3Build.c: m2/gm2-compiler-boot/P3Build.mod | $(MCDEPS) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/P3Build.c m2/gm2-compiler-boot/P3Build.mod -m2/gm2-compiler-boot/P3Build.o: m2/gm2-compiler-boot/P3Build.c $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/P3Build.o: m2/gm2-compiler-boot/P3Build.c | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/P3Build.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/PCBuild.c: m2/gm2-compiler-boot/PCBuild.mod $(MCDEPS) +m2/gm2-compiler-boot/PCBuild.c: m2/gm2-compiler-boot/PCBuild.mod | $(MCDEPS) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/PCBuild.c m2/gm2-compiler-boot/PCBuild.mod -m2/gm2-compiler-boot/PCBuild.o: m2/gm2-compiler-boot/PCBuild.c $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/PCBuild.o: m2/gm2-compiler-boot/PCBuild.c | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/PCBuild.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/PHBuild.c: m2/gm2-compiler-boot/PHBuild.mod $(MCDEPS) +m2/gm2-compiler-boot/PHBuild.c: m2/gm2-compiler-boot/PHBuild.mod | $(MCDEPS) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(MC) -o=m2/gm2-compiler-boot/PHBuild.c m2/gm2-compiler-boot/PHBuild.mod -m2/gm2-compiler-boot/PHBuild.o: m2/gm2-compiler-boot/PHBuild.c $(MCDEPS) $(BUILD-BOOT-H) +m2/gm2-compiler-boot/PHBuild.o: m2/gm2-compiler-boot/PHBuild.c | $(MCDEPS) $(BUILD-BOOT-H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(COMPILER) $(CM2DEP) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(GM2GCC) \ $(GM2_BOOT_INCLUDES) $(MCINCLUDES) $(INCLUDES) m2/gm2-compiler-boot/PHBuild.c -o $@ $(POSTCOMPILE) -m2/gm2-compiler-boot/m2flex.o: m2/gm2-compiler/m2flex.c $(BUILD-BOOT-H) $(TIMEVAR_H) \ +m2/gm2-compiler-boot/m2flex.o: m2/gm2-compiler/m2flex.c | $(BUILD-BOOT-H) $(TIMEVAR_H) \ $(BUILD-LIBS-BOOT-H) m2/gm2-compiler-boot/$(SRC_PREFIX)NameKey.h \ $(CONFIG_H) m2/gm2config.h $(TARGET_H) $(PLUGIN_HEADERS) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) @@ -1643,12 +1656,12 @@ m2/gm2-libiberty/$(SRC_PREFIX)%.h: $(srcdir)/m2/gm2-libiberty/%.def $(MCDEPS) # The rules to build objects in gm2-compiler and gm2-libs directories. -m2/gm2-compiler/%.o: $(srcdir)/m2/gm2-compiler/%.mod +m2/gm2-compiler/%.o: | $(srcdir)/m2/gm2-compiler/%.mod -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(GM2_1) $(GM2_FLAGS) -c -I$(srcdir)/m2/gm2-compiler -I$(srcdir)/m2/gm2-libs -I$(srcdir)/m2/gm2-gcc -I$(srcdir)/m2/gm2-libiberty $< -o $@ $(POSTCOMPILE) -m2/gm2-compiler/m2flex.o: m2/gm2-compiler/m2flex.c m2/gm2-libs/gm2-libs-host.h $(TIMEVAR_H) +m2/gm2-compiler/m2flex.o: | m2/gm2-compiler/m2flex.c m2/gm2-libs/gm2-libs-host.h $(TIMEVAR_H) -test -d $(@D)/$(DEPDIR) || $(mkinstalldirs) $(@D)/$(DEPDIR) $(COMPILER) $(CM2DEP) -c -g $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(GM2GCC) -Im2/gm2-compiler-boot -Im2/gm2-libs-boot $< -o $@ @@ -1837,14 +1850,14 @@ m2/gm2-libs/choosetemp.o: m2/gm2-libs-ch/choosetemp.c m2/gm2-libiberty/Gchoosete $(CXX) $(CM2DEP) -c $(CFLAGS) $(GM2_PICFLAGS) -Im2/gm2-libs -I$(srcdir)/m2 -Im2 -I. -Im2/gm2-libs-boot -Im2/gm2-libiberty -I$(srcdir)/m2/gm2-libiberty/ $(INCLUDES) $< -o $@ $(POSTCOMPILE) -m2/gm2-libs-boot/libgm2.a: m2/boot-bin/mc$(exeext) $(BUILD-LIBS-BOOT) +m2/gm2-libs-boot/libgm2.a: | m2/boot-bin/mc$(exeext) $(BUILD-LIBS-BOOT) -test -d $(@D) || $(mkinstalldirs) $(@D) $(AR) cr $@ $(GM2-LIBS-BOOT-MODS:%.mod=m2/gm2-libs-boot/%.o) \ $(GM2-LIBS-BOOT-CC:%.cc=m2/gm2-libs-boot/%.o) \ $(GM2-LIBS-BOOT-C:%.c=m2/gm2-libs-boot/%.o) $(RANLIB) $@ -m2/gm2-compiler-boot/gm2.a: m2/boot-bin/mc$(exeext) m2/boot-bin/mklink$(exeext) \ +m2/gm2-compiler-boot/gm2.a: | m2/boot-bin/mc$(exeext) m2/boot-bin/mklink$(exeext) \ $(BUILD-LIBS-BOOT) $(BUILD-COMPILER-BOOT) -test -d $(@D) || $(mkinstalldirs) $(@D) $(AR) cr $@ $(GM2-COMP-BOOT-MODS:%.mod=m2/gm2-compiler-boot/%.o) \
