From owner-freebsd-commit Sun Jul 23 20:21:56 1995 Return-Path: commit-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id UAA27022 for commit-outgoing; Sun, 23 Jul 1995 20:21:56 -0700 Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id UAA27009 for cvs-usrbin-outgoing; Sun, 23 Jul 1995 20:21:43 -0700 Received: from gndrsh.aac.dev.com (gndrsh.aac.dev.com [198.145.92.241]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id UAA27001 ; Sun, 23 Jul 1995 20:21:29 -0700 Received: (from rgrimes@localhost) by gndrsh.aac.dev.com (8.6.11/8.6.9) id UAA17693; Sun, 23 Jul 1995 20:20:15 -0700 From: "Rodney W. Grimes" Message-Id: <199507240320.UAA17693@gndrsh.aac.dev.com> Subject: Re: cvs commit: src/usr.bin/chflags Makefile To: bde@zeta.org.au (Bruce Evans) Date: Sun, 23 Jul 1995 20:20:14 -0700 (PDT) Cc: CVS-commiters@freefall.cdrom.com, cvs-usrbin@freefall.cdrom.com, rgrimes@freefall.cdrom.com In-Reply-To: <199507240245.MAA31145@godzilla.zeta.org.au> from "Bruce Evans" at Jul 24, 95 12:45:57 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2590 Sender: commit-owner@FreeBSD.org Precedence: bulk > > > 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