Date: Sun, 23 Jul 1995 20:20:14 -0700 (PDT) From: "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com> To: bde@zeta.org.au (Bruce Evans) Cc: 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: <199507240320.UAA17693@gndrsh.aac.dev.com> In-Reply-To: <199507240245.MAA31145@godzilla.zeta.org.au> from "Bruce Evans" at Jul 24, 95 12:45:57 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > > Modified: usr.bin/chflags Makefile > > Log: > > Set NOSHARED=true, having this binary static makes it much easier to > > fix /usr/lib/*.so problems. > > This should be `NOSHARED?= BELT_AND_SUSPENDERS_NOSHARED' where > BELT_AND_SUSPENDERS_NOSHARED defaults to true but I set it to empty in > /etc/make.conf. Similarly for tar and gzip. Slightly differently for > /bin and /sbin. Better, use defaults for 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. > > ALL_STATICALLY_LINKED, > BIN_STATICALLY_LINKED > SBIN_STATICALLY_LINKED > USR_BIN_STATICALLY_LINKED > USR_SBIN_STATICALLY_LINKED > SH_STATICALLY_LINKED > ... Knobs are nice, but too many knobs and it gets to be a mess in a hurry. I'll keep this ``concept'' in the back of my mind for next time I go a hacking on .mk files (which may be pretty soon....). > 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 at the point I would have had to go modify 40% of the current Makefile files as they had internal knowledge (that they should not have) of the .mk stuff that my work seriously broke, and I did not want to add any more compatibility glue than I already had. 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. 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. 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). X11BASE does not belong there, name space pollution. Does someone have the Posix specs on just what the default sys.mk should define? A cleaned up sys.mk would probably greatly reduce our need for gmake, as many of the problems caused are due to missing or wrong functionality in our sys.mk file. -- 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?199507240320.UAA17693>