cvs commit: src/usr.bin/make globals.h job.c job.h main.c make.1
 make.h parse.c
    Max Khon 
    fjoe at FreeBSD.org
       
    Thu Mar  8 09:16:11 UTC 2007
    
    
  
fjoe        2007-03-08 09:16:11 UTC
  FreeBSD src repository
  Modified files:
    usr.bin/make         globals.h job.c job.h main.c make.1 
                         make.h parse.c 
  Log:
  Implement "Remaking Makefiles" feature:
  
  After reading Makefile and all the files that are included using .include
  or .sinclude directives (source Makefiles) make considers each source
  Makefile as a target and tries to rebuild it.  Both explicit and implicit
  rules are checked and all source Makefiles are updated if necessary. If
  any of the source Makefiles were rebuilt, make restarts from clean state.
  
  To prevent infinite loops the following source Makefile targets are
  ignored:
  - :: targets that have no prerequisites but have commands
  - ! targets
  - targets that have .PHONY or .EXEC attributes
  - targets without prerequisites and without commands
  
  When remaking a source Makefile options -t (touch target), -q (query
  mode), and -n (no exec) do not take effect, unless source Makefile is
  specified explicitly as a target in make command line.
  Additionally, system makefiles and .depend are not considered as a
  Makefiles that can be rebuilt.
  
  Reviewed by:    harti
  
  Revision  Changes    Path
  1.11      +1 -0      src/usr.bin/make/globals.h
  1.126     +29 -20    src/usr.bin/make/job.c
  1.46      +2 -0      src/usr.bin/make/job.h
  1.161     +196 -6    src/usr.bin/make/main.c
  1.102     +45 -0     src/usr.bin/make/make.1
  1.35      +1 -0      src/usr.bin/make/make.h
  1.112     +5 -1      src/usr.bin/make/parse.c
    
    
More information about the cvs-src
mailing list