PR#6729: Makefile: remove suffix rules to avoid -jN race conditions

(Peter Zotov)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15751 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Gabriel Scherer 2014-12-27 08:44:48 +00:00
parent c550f4b858
commit f22564b84d
5 changed files with 24 additions and 46 deletions

View File

@ -173,33 +173,27 @@ LINKEDFILES=misc.c freelist.c major_gc.c minor_gc.c memory.c alloc.c array.c \
clean::
rm -f $(LINKEDFILES)
.SUFFIXES: .S .d.o .p.o
.S.o:
$(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) -o $*.o $*.S || \
%.o: %.S
$(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) -o $@ $< || \
{ echo "If your assembler produced syntax errors, it is probably";\
echo "unhappy with the preprocessor. Check your assembler, or";\
echo "try producing $*.o by hand.";\
exit 2; }
.S.p.o:
$(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) $(ASPPPROFFLAGS) -o $*.p.o $*.S
%.p.o: %.S
$(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) $(ASPPPROFFLAGS) -o $@ $<
.c.d.o:
ln -s -f $*.c $*.d.c
$(CC) -c $(DFLAGS) $*.d.c
rm -f $*.d.c
%.d.o: %.c
$(CC) -c $(DFLAGS) -o $@ $<
.c.p.o:
ln -s -f $*.c $*.p.c
$(CC) -c $(PFLAGS) $*.p.c
rm -f $*.p.c
%.p.o: %.c
$(CC) -c $(PFLAGS) -o $@ $<
.s.o:
$(ASPP) -DSYS_$(SYSTEM) -o $*.o $*.s
%.o: %.s
$(ASPP) -DSYS_$(SYSTEM) -o $@ $<
.s.p.o:
$(ASPP) -DSYS_$(SYSTEM) $(ASPPPROFFLAGS) -o $*.p.o $*.s
%.p.o: %.s
$(ASPP) -DSYS_$(SYSTEM) $(ASPPPROFFLAGS) -o $@ $<
clean::
rm -f *.o *.a *~

View File

@ -68,10 +68,8 @@ $(LINKEDFILES): %.c: ../byterun/%.c
win32.$(O): ../byterun/win32.c
$(CC) -c $(NATIVECCCOMPOPTS) -DNATIVE_CODE $(IFLEXDIR) ../byterun/win32.c
.SUFFIXES: .c .$(O)
.c.$(O):
$(CC) $(CFLAGS) -c $<
%.c: %.$(O)
$(CC) $(CFLAGS) -c -o $@ $<
clean::
rm -f $(LINKEDFILES)

View File

@ -51,20 +51,11 @@ install::
clean::
rm -f libcamlrun_shared.so
.SUFFIXES: .d.o .pic.o
%.d.o: %.c
$(CC) -c $(DFLAGS) $< -o $@
.c.d.o:
ln -s -f $*.c $*.d.c
$(CC) -c $(DFLAGS) $*.d.c
rm $*.d.c
.c.pic.o:
ln -s -f $*.c $*.pic.c
$(CC) -c $(CFLAGS) $(SHAREDCCCOMPOPTS) $*.pic.c
rm $*.pic.c
clean::
rm -f *.pic.c *.d.c
%.pic.o: %.c
$(CC) -c $(CFLAGS) $(SHAREDCCCOMPOPTS) $< -o $@
depend : prims.c opnames.h jumptbl.h version.h
-gcc -MM $(BYTECCCOMPOPTS) *.c > .depend

View File

@ -33,14 +33,11 @@ libcamlrun.$(A): $(OBJS)
libcamlrund.$(A): $(DOBJS)
$(call MKLIB,libcamlrund.$(A),$(DOBJS))
.SUFFIXES: .$(O) .$(DBGO)
%.c: %.$(O)
$(CC) $(CFLAGS) $(BYTECCCOMPOPTS) -c -o $@ $<
.c.$(O):
$(CC) $(CFLAGS) $(BYTECCCOMPOPTS) -c $<
.c.$(DBGO):
$(CC) $(CFLAGS) $(BYTECCDBGCOMPOPTS) -c $<
mv $*.$(O) $*.$(DBGO)
%.c: %.$(DBGO)
$(CC) $(CFLAGS) $(BYTECCDBGCOMPOPTS) -c -o $@ $<
.depend.nt: .depend
rm -f .depend.win32

View File

@ -29,10 +29,8 @@ version.h : ../VERSION
clean:
rm -f *.$(O) ocamlyacc.exe *~ version.h
.SUFFIXES: .c .$(O)
.c.$(O):
$(BYTECC) -DNDEBUG -DNO_UNIX $(BYTECCCOMPOPTS) -c $<
%.$(O): %.c
$(BYTECC) -DNDEBUG -DNO_UNIX $(BYTECCCOMPOPTS) -c -o $@ $<
depend: