Skip site navigation (1)Skip section navigation (2)
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>