diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in index f6236d909..cb9924b3a 100644 --- a/winsup/cygwin/Makefile.in +++ b/winsup/cygwin/Makefile.in @@ -783,13 +783,16 @@ $(VERSION_OFILES): version.cc Makefile: ${srcdir}/Makefile.in /bin/sh ./config.status -$(DEF_FILE) sigfe.s: gendef $(srcdir)/$(TLSOFFSETS_H) $(DIN_FILE) - $(word 1,$^) --cpu=${target_cpu} --output-def=$(DEF_FILE) --tlsoffsets=$(word 2,$^) $(wordlist 3,4,$^) +$(DEF_FILE): gendef $(srcdir)/$(TLSOFFSETS_H) $(DIN_FILE) + $(word 1,$^) --cpu=${target_cpu} --output-def=$@ --tlsoffsets=$(word 2,$^) $(wordlist 3,99,$^) $(srcdir)/$(TLSOFFSETS_H): gentls_offsets cygtls.h $^ $@ $(target_cpu) $(COMPILE.cc) -c || rm $@ sigfe.s: $(DEF_FILE) + @[ -s $@ ] || \ + { rm -f $(DEF_FILE); $(MAKE) -s -j1 $(DEF_FILE); }; \ + [ -s $@ ] && touch $@ sigfe.o: sigfe.s $(srcdir)/$(TLSOFFSETS_H) $(CC) ${CFLAGS} -c -o $@ $<