seen when doing 'make -j i386-tcc tcc', as explained in the comment.
Unified · Split
| @@ -236,7 +236,13 @@ tcc$(EXESUF): tcc.o $(LIBTCC) · 235 unmodified lines | |||
| 236 | $S$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) $(LINK_LIBTCC) | 236 | $S$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) $(LINK_LIBTCC) |
| 237 | 237 | ||
| 238 | # Cross Tiny C Compilers | 238 | # Cross Tiny C Compilers |
| 239 | %-tcc$(EXESUF): FORCE | 239 | # (the TCCDEFS_H dependency is only necessary for parallel makes, |
| 240 | # ala 'make -j x86_64-tcc i386-tcc tcc', which would create multiple | ||
| 241 | # c2str.exe and tccdefs_.h files in parallel, leading to access errors. | ||
| 242 | # This forces it to be made only once. Make normally tracks multiple paths | ||
| 243 | # to the same goals and only remakes it once, but that doesn't work over | ||
| 244 | # sub-makes like in this target) | ||
| 245 | %-tcc$(EXESUF): $(TCCDEFS_H) FORCE | ||
| 240 | @$(MAKE) --no-print-directory $@ CROSS_TARGET=$* ONE_SOURCE=$(or $(ONE_SOURCE),yes) | 246 | @$(MAKE) --no-print-directory $@ CROSS_TARGET=$* ONE_SOURCE=$(or $(ONE_SOURCE),yes) |
| 241 | 247 | ||
| 242 | $(CROSS_TARGET)-tcc$(EXESUF): $(TCC_FILES) | 248 | $(CROSS_TARGET)-tcc$(EXESUF): $(TCC_FILES) |