https://bugs.gentoo.org/779445 commit ed1030d9b6a98e06aa293d18c49da18169918b8b Author: orbea Date: Tue Mar 30 18:57:37 2021 -0700 Fix the build with parallel make and slibtool. There is no dependency on the $(OBJECTS) files on the 'build' directory which causes slibtool to fail when the directory does not yet exist. GNU libtool avoids this by being slower than mkdir(1). diff --git a/Makefile.in b/Makefile.in index ab51035..90940d4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -51,7 +51,7 @@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ LT_LDFLAGS = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) +all: $(srcdir)/configure Makefile $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(srcdir)/configure: $(srcdir)/configure.in @echo "Warning, configure.in is out of date" @@ -61,8 +61,9 @@ $(srcdir)/configure: $(srcdir)/configure.in Makefile: $(srcdir)/Makefile.in $(SHELL) config.status $@ -$(objects): - $(SHELL) $(auxdir)/mkinstalldirs $@ +$(objects)/.created: + $(SHELL) $(auxdir)/mkinstalldirs $(objects) + touch $@ .PHONY: all depend install install-bin install-hdrs install-lib install-data install-man uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man clean distclean dist depend: @@ -71,6 +72,8 @@ depend: include $(depend) +$(OBJECTS) $(SDLMAIN_OBJECTS): $(objects)/.created + $(objects)/$(TARGET): $(OBJECTS) $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) @@ -88,7 +91,7 @@ install-hdrs: $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL/$$file; \ done $(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL/SDL_config.h -install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) +install-lib: $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir) $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET) $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET)