diff -r 59f0e6de54b3 Makefile.pre.in --- a/Makefile.pre.in Thu Mar 15 13:05:41 2012 +0100 +++ b/Makefile.pre.in Thu Mar 15 18:06:00 2012 +0100 @@ -58,6 +58,8 @@ # Also, making them read-only seems to be a good idea... INSTALL_SHARED= ${INSTALL} -m 555 +MKDIR_P= @MKDIR_P@ + MAKESETUP= $(srcdir)/Modules/makesetup # Compiler options @@ -233,6 +235,18 @@ # Parser PGEN= Parser/pgen$(EXE) +PSRCS= \ + Parser/acceler.c \ + Parser/grammar1.c \ + Parser/listnode.c \ + Parser/node.c \ + Parser/parser.c \ + Parser/bitset.c \ + Parser/metagrammar.c \ + Parser/firstsets.c \ + Parser/grammar.c \ + Parser/pgen.c + POBJS= \ Parser/acceler.o \ Parser/grammar1.o \ @@ -247,6 +261,16 @@ PARSER_OBJS= $(POBJS) Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o +PGSRCS= \ + Objects/obmalloc.c \ + Python/dynamic_annotations.c \ + Python/mysnprintf.c \ + Python/pyctype.c \ + Parser/tokenizer_pgen.c \ + Parser/printgrammar.c \ + Parser/parsetok_pgen.c \ + Parser/pgenmain.c + PGOBJS= \ Objects/obmalloc.o \ Python/dynamic_annotations.o \ @@ -262,7 +286,8 @@ $(srcdir)/Include/parsetok.h \ $(srcdir)/Parser/tokenizer.h -PGENOBJS= $(PGENMAIN) $(POBJS) $(PGOBJS) +PGENSRCS= $(PSRCS) $(PGSRCS) +PGENOBJS= $(POBJS) $(PGOBJS) ########################################################################## # AST @@ -591,12 +616,13 @@ $(IO_OBJS): $(IO_H) -# Use a stamp file to prevent make -j invoking pgen twice -$(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp -Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT) - -@$(INSTALL) -d Include +$(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS) + @$(MKDIR_P) Include + $(MAKE) $(PGEN) $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) - -touch Parser/pgen.stamp +$(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS) + $(MAKE) $(GRAMMAR_H) + touch $(GRAMMAR_C) $(PGEN): $(PGENOBJS) $(CC) $(OPT) $(PY_LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) diff -r 59f0e6de54b3 configure.ac --- a/configure.ac Thu Mar 15 13:05:41 2012 +0100 +++ b/configure.ac Thu Mar 15 18:06:00 2012 +0100 @@ -848,6 +848,7 @@ fi esac AC_PROG_INSTALL +AC_PROG_MKDIR_P # Not every filesystem supports hard links AC_SUBST(LN)