cvs commit: src/usr.bin/make Makefile main.c nonints.h var.c

Hartmut Brandt harti at FreeBSD.org
Tue Aug 3 11:56:31 PDT 2004


harti       2004-08-03 18:56:31 UTC

  FreeBSD src repository

  Modified files:
    usr.bin/make         Makefile main.c nonints.h var.c 
  Log:
  Put variable assignments from the command line into the MAKEFLAGS
  variable as required by POSIX. This causes such variables to be
  pushed into all sub-makes called by the make (except when the MAKEFLAGS
  variable is explicitely changed in the sub-make's environment).
  This makes them also mostly un-overrideable in sub-makes except on the
  sub-make's command line. Therefor specifying 'make CC=icc' will cause
  icc to be used as C compiler in all sub-makes no matter what the Makefiles
  itself try to do to the CC variable.
  
  This patch also corrects the handling of the MFLAGS variable. MFLAGS
  contains all the command line flags but not the command line variable
  assignments. The evaluation of the .MFLAGS or .MAKEFLAGS target now
  changes both MFLAGS and MAKEFLAGS (they used to change MAKEFLAGS only).
  Makefiles can use MFLAGS for their own purposes given that they do not
  except MFLAGS to be undefined at the beginning and that they don't evaluate
  .MFLAGS or .MAKEFLAGS. MFLAGS should be removed for POSIX compliance,
  but it is unfortunately heavily used by the X makefiles.
  
  This has been extensively tested by port builds (thanks to portmgr), new
  worlds and kernels.
  
  PR:             standards/57295 (1st part above)
  Submitted by:   James E. Flemer <jflemer at alum.rpi.edu>
  Approved by:    portmgr
  Obtained from:  NetBSD (1st part above)
  MFC after:      4 weeks
  
  Revision  Changes    Path
  1.32      +1 -1      src/usr.bin/make/Makefile
  1.90      +39 -31    src/usr.bin/make/main.c
  1.22      +1 -0      src/usr.bin/make/nonints.h
  1.47      +38 -0     src/usr.bin/make/var.c


More information about the cvs-all mailing list