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>
