Обсуждение: Re: [HACKERS] Configure problem, redux (was Re: TCL installation troubles)
[Charset iso-8859-1 unsupported, filtering to ASCII...] > > We do insist on gmake. Can't compile without it. > > Then can we use the gmake 'include' instead of the configure *.in files? > > > Like the term "sed monsters"? > > Yes :) So you output all defines into a single file, and include that in every Makefile. That is interesting. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
So you output all defines into a single file, and include that in every Makefile. That is interesting. I guess this isn't too clear. Here is what I am trying to advocate: configure output -> Makefile.global + config.h substituting as appropriate. all Makefiles include Makefile.global (which includes Makefile.custom if it exists? and other things like the shared library Makefile). one of the included Makefiles has a generic rule for *.sql.in -> *.sql that depends on Makefile.global also. If a directory has *.sql.in it will automatically be converted with the correct substitutions; after all, the substitution is the same in each case so one rule suffices (even if several variables need substituting); note that sed will not substitute for patterns not found in individual *.sql.in files even if the general rule says otherwise. Same mechanism for any other general substitutions, if necessary (probably not). Makefiles do not have any sed monsters, just one rule involving sed in a generally included Makefile.sed_monsters. :) The individual *.sql.in files would be written in exactly the same way as if configure was doing the substitution. All configure information is in one place (Makefile.global and config.h). All dependencies do the right thing, even if those are changed post-configure. Cheers, Brook
Re: [HACKERS] Configure problem, redux (was Re: TCL installation troubles)
От
The Hermit Hacker
Дата:
On Tue, 27 Oct 1998, Bruce Momjian wrote: > [Charset iso-8859-1 unsupported, filtering to ASCII...] > > > We do insist on gmake. Can't compile without it. > > > > Then can we use the gmake 'include' instead of the configure *.in files? > > > > > Like the term "sed monsters"? > > > > Yes :) > > So you output all defines into a single file, and include that in every > Makefile. That is interesting. Technically, we are doing that now with Makefile.global ... its included in every Makefile in the system, and has CFLAGS and such defined in it. It wouldn't be unreasonable to have a MISSING_OBJ= put into Makefile.global, and remove the Makefile.in in the backend/ports directory... *shrug* Marc G. Fournier Systems Administrator @ hub.org primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
> Technically, we are doing that now with Makefile.global ... its > included in every Makefile in the system, and has CFLAGS and such defined > in it. It wouldn't be unreasonable to have a MISSING_OBJ= put into > Makefile.global, and remove the Makefile.in in the backend/ports > directory... *shrug* Yes. I think that kind of thing would make sense, and would allow Makefile.custom to over-rule it, though that is more of an affect rather than a feature I would promote. configure flags should do most of the work. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
Re: [HACKERS] Configure problem, redux (was Re: TCL installation troubles)
От
"Billy G. Allie"
Дата:
Brook Milligan wrote: > So you output all defines into a single file, and include that in every > Makefile. That is interesting. > > I guess this isn't too clear. Here is what I am trying to advocate: > > configure output -> Makefile.global + config.h substituting as > appropriate. > > all Makefiles include Makefile.global (which includes Makefile.custom > if it exists? and other things like the shared library Makefile). > > one of the included Makefiles has a generic rule for *.sql.in -> *.sql > that depends on Makefile.global also. > > If a directory has *.sql.in it will automatically be converted with > the correct substitutions; after all, the substitution is the same in > each case so one rule suffices (even if several variables need > substituting); note that sed will not substitute for patterns not > found in individual *.sql.in files even if the general rule says > otherwise. > > Same mechanism for any other general substitutions, if necessary > (probably not). > > Makefiles do not have any sed monsters, just one rule involving sed in > a generally included Makefile.sed_monsters. :) The individual > *.sql.in files would be written in exactly the same way as if > configure was doing the substitution. > > All configure information is in one place (Makefile.global and > config.h). All dependencies do the right thing, even if those are > changed post-configure. > > Cheers, > Brook > This would seem to work, although we would at least need a rule for *.sh.in -> *.sh for the mkMakefile.[tcl|tk]defs.sh files needed for TCL/TK support. I still have a problem with editing files to curcumvent configure. But I could live with a solution as outlined above. I don't have to edit the makefiles and if someone else wants to, well they roll the die and take their chances :-) -- ____ | Billy G. Allie | Domain....: Bill.Allie@mug.org | /| | 7436 Hartwell | Compuserve: 76337,2061 |-/-|----- | Dearborn, MI 48126| MSN.......: B_G_Allie@email.msn.com |/ |LLIE | (313) 582-1540 |