forked from mirrors/linux
		
	kbuild: Do not overwrite makefile as anohter user
Change the conditional of the outputmakefile rule to be evaluated entirely in make, and add a conditional to not touch the generated makefile when e.g. running 'make install' as root while the build was done as non-root. Also adjust the comment describing this, and move the message printing and redirection to mkmakefile. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
		
							parent
							
								
									cc873e1aa1
								
							
						
					
					
						commit
						fd5f0cd6b0
					
				
					 2 changed files with 11 additions and 10 deletions
				
			
		
							
								
								
									
										16
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
					@ -344,16 +344,14 @@ scripts_basic:
 | 
				
			||||||
scripts/basic/%: scripts_basic ;
 | 
					scripts/basic/%: scripts_basic ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PHONY += outputmakefile
 | 
					PHONY += outputmakefile
 | 
				
			||||||
# outputmakefile generate a Makefile to be placed in output directory, if
 | 
					# outputmakefile generates a Makefile in the output directory, if using a
 | 
				
			||||||
# using a seperate output directory. This allows convinient use
 | 
					# separate output directory. This allows convenient use of make in the
 | 
				
			||||||
# of make in output directory
 | 
					# output directory.
 | 
				
			||||||
outputmakefile:
 | 
					outputmakefile:
 | 
				
			||||||
	$(Q)if test ! $(srctree) -ef $(objtree); then \
 | 
					ifneq ($(KBUILD_SRC),)
 | 
				
			||||||
	$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile              \
 | 
						$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \
 | 
				
			||||||
	    $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)         \
 | 
						    $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)
 | 
				
			||||||
	    > $(objtree)/Makefile;                                 \
 | 
					endif
 | 
				
			||||||
	    echo '  GEN    $(objtree)/Makefile';                   \
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# To make sure we do not include .config for any of the *config targets
 | 
					# To make sure we do not include .config for any of the *config targets
 | 
				
			||||||
# catch them early, and hand them over to scripts/kconfig/Makefile
 | 
					# catch them early, and hand them over to scripts/kconfig/Makefile
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,10 @@
 | 
				
			||||||
# $4 - patchlevel
 | 
					# $4 - patchlevel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cat << EOF
 | 
					test ! -r $2/Makefile -o -O $2/Makefile || exit 0
 | 
				
			||||||
 | 
					echo "  GEN     $2/Makefile"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat << EOF > $2/Makefile
 | 
				
			||||||
# Automatically generated by $0: don't edit
 | 
					# Automatically generated by $0: don't edit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
VERSION = $3
 | 
					VERSION = $3
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue