From: Nobuyoshi Nakada Date: 2008-04-02T10:13:59+09:00 Subject: Re: [PATCH] fix build with -j Hi, At Tue, 1 Apr 2008 23:36:47 +0900, Paul Brannan wrote in [ruby-core:16102]: > Currently, if I try to build ruby from scratch with make -j, I get: > > ... > distcc gcc -g -O2 -I. -I.ext/include/i686-linux -I./include -I. -DRUBY_EXPORT -D_GNU_SOURCE=1 -o strlcat.o -c ./missing/strlcat.c > distcc gcc -g -O2 -I. -I.ext/include/i686-linux -I./include -I. -DRUBY_EXPORT -D_GNU_SOURCE=1 -o dmyext.o -c dmyext.c > ./miniruby -I./lib ./enc/make_encdb.rb ./enc encdb.h > make: ./miniruby: Command not found > make: *** [encdb.h] Error 127 > make: *** Waiting for unfinished jobs.... It works for me, with GNU make 3.81. > -encs: enc.mk > +encs: enc.mk $(PREP) > $(MINIRUBY) -run -e mkdir -- -p "$(EXTOUT)/$(arch)/enc/trans" enc/trans > $(MAKE) -f enc.mk $(MFLAGS) > > enc.mk: $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \ > - $(srcdir)/lib/mkmf.rb $(RBCONFIG) > + $(srcdir)/lib/mkmf.rb $(RBCONFIG) $(PREP) > $(MINIRUBY) $(srcdir)/enc/make_encmake.rb --builtin-encs="$(BUILTIN_ENCOBJS)" $@ $(RBCONFIG) already depends on $(PREP). > -encdb.h: > +encdb.h: $(PREP) > $(MINIRUBY) $(srcdir)/enc/make_encdb.rb $(srcdir)/enc $@ encdb.h and transdb.h don't depend on $(PREP) to get rid of recompiling encoding.c and transcode.c always. encdb and transdb are used as dependencies instead. -- Nobu Nakada