Re: Makefile for parser
От | Chris Bitmead |
---|---|
Тема | Re: Makefile for parser |
Дата | |
Msg-id | 395D636C.AB6E5762@bitmead.com обсуждение исходный текст |
Ответ на | Re: Makefile for parser (Peter Eisentraut <peter_e@gmx.net>) |
Ответы |
Re: Makefile for parser
Re: Makefile for parser |
Список | pgsql-hackers |
On the topic of make, have you all read "Recursive Make Considered Harmful" at http://www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html He makes a good point that most people write makefiles wrong. Certainly the pgsql makefiles are broken for parallel make. -- Chris Bitmead mailto:chris@bitmead.com Peter Eisentraut wrote: > > Tom Lane writes: > > > > I've started doing a bit of work on gram.y, and am noticing some new > > > cruftiness in the Makefile: if I add tokens to gram.y/keywords.c then I > > > can't just remake in that directory since parse.h is not updated > > > elsewhere in the tree. > > > > Uh ... what's your point? If the changes to parse.h affect anything > > else then you ought to be doing a top-level make --- or at the very > > least a make in src/backend --- and that will rebuild > > include/parser/parse.h. > > I'm having a feeling that this will not work too well with parallel > make. Every directory needs to know how to make all the files that it > needs. For the case of parse.h it would not be too difficult to teach the > few places that need it: > > src/backend$ find -name '*.c' | xargs fgrep 'parse.h' | fgrep -v './parser/' > ./commands/command.c:#include "parser/parse.h" > ./commands/comment.c:#include "parser/parse.h" > ./nodes/outfuncs.c:#include "parser/parse.h" > ./tcop/utility.c:#include "parser/parse.h" > > fmgroids.h on the other hand would be trickier. We might need a > backend/Makefile.inc (perhaps as a wrapper around Makefile.global) to do > it right. But I haven't gotten to the backend tree at all yet. > > -- > Peter Eisentraut Sernanders väg 10:115 > peter_e@gmx.net 75262 Uppsala > http://yi.org/peter-e/ Sweden
В списке pgsql-hackers по дате отправления: