Date: Mon, 24 Jul 1995 01:38:28 -0700 (PDT) From: "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com> To: bde@zeta.org.au (Bruce Evans) Cc: bde@zeta.org.au, CVS-commiters@freefall.cdrom.com, cvs-usrbin@freefall.cdrom.com, rgrimes@freefall.cdrom.com Subject: Re: cvs commit: src/usr.bin/chflags Makefile Message-ID: <199507240838.BAA18018@gndrsh.aac.dev.com> In-Reply-To: <199507240439.OAA01596@godzilla.zeta.org.au> from "Bruce Evans" at Jul 24, 95 02:39:42 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > >> This should be `NOSHARED?= BELT_AND_SUSPENDERS_NOSHARED' where > >> ... > > >This will not work due to: > >.if defined(NOSHARED) > >LDFLAGS+= -static > >.endif > > >NOSHARED?= with any arg value will infact cause it to be defined, even > >a null value. > > The first test would have to be more complicated to fix this. NOSHARED should probably just die and LDFLAGS be used directly since it is at least a documented thing, and a standard bsd .mk thing too. No reason that /usr/src/bin/Makefile.inc can't say LDFLAGS+= -static, after all that is all that the NOSHARED does in bsd.prog.mk anyway. Who needs 2 knobs to do the same thing :-( > >> BTW, I haven't had any responses to my proposal to change `install' to > >> ${INSTALL} in >= 81 Makefiles. > > >I didn't see the proposal. Yes, please go do this, but it is a very > >small step in the cleanup of Makefiles. I stopped work on .mk stuff > > I need to do it to make a new install flag (-C for compare and don't > change the mtime or the atime if the file hasn't changed) the default > for installing everything the system without making it the default > for `install' itself. The only point I'm not sure is right is the > use of `${INSTALL}' instead of `${INSTALL} ${INSTALLFLAGS}' in all > Makefiles. The latter is more verbose and doesn't seem to have > any advantages. You can always use `install' instead of `${INSTALL}' > for special cases like >= 81 non-special cases already do. There INSTALLFLAGS is undocumented :-(. I also think it was something added to the FreeBSD .mk files, a quick grep shows it's main use to be to set -schng. Just use ${INSTALL} for now, I know my .mk stuff did not have a INSTALLFLAGS variable, but then it was done before all the schng stuff was done. > >We have tons of Makefile stuff that uses undocumented (via mk/bsd.README > >any way) internal features of the .mk files. This is seriously bad > >and needs a cleanup. > > By documenting it? :-) No, but there are things that do need documented, but a lot of what I am talking about should never be documented as far as Makefiles are concerned, it is .mk internals and should not be visible or used by Makefiles. > >sys.mk has stuff that should not be there, but is due to the design > >of bsd.*.mk. It should _not_ include bsd.own.mk, that is plain name > >space polution for anyone using make to build things other than BSD > >sources. It is there to make the current mess work, but needs to > >die. > > /etc/make.conf is worse. Agreed, but at least by default it does nothing since all lines are commented out as it is shipped. > >ECHO and ECHODIR are a hack at best and do no belong there in there > >current form. ECHO should be simply echo, the specialized cases > >for -s and -s -s belong else where. (Current design does not have > >the else where, my new design does). > > ECHO and INSTALL shouldn't be there. ECHODIR and the fancy `===> dir' > printing shouldn't exist. Gnu make supports printing the directory > being worked on (-w flag). Why shouldn't: ECHO?= echo INSTALL?= install be there? I can agree that ECHODIR should die, not so sure what to do with SUBDIRUSE and `===> path', pmake does not have a -w flag. Does gnu make have subdir processing built in? -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Reliable computers for FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199507240838.BAA18018>