83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. _makefile-changes:
 | |
| 
 | |
| ===================
 | |
| Makefile Guidelines
 | |
| ===================
 | |
| 
 | |
| The Red Hat Makefiles in the /redhat directory are
 | |
| 
 | |
| .. code-block:: sh
 | |
| 
 | |
|    Makefile
 | |
|    Makefile.cross
 | |
|    Makefile.rhpkg
 | |
|    Makefile.variables
 | |
| 
 | |
| Each of these Makefiles serves a specific purpose.
 | |
| 
 | |
| Makefile
 | |
| ========
 | |
| 
 | |
| This file's purpose is to create an SRPM.  Other targets in this Makefile
 | |
| create kernel config files, submit SRPMS to build systems (brew and koji),
 | |
| and other SRPM construction operations.
 | |
| 
 | |
| Variables declared in this Makefile are not stable (see Makefile.variables
 | |
| section) and may change without notice.  The variables are exported for use by
 | |
| scripts called in the targets.
 | |
| 
 | |
| Makefile.cross
 | |
| ==============
 | |
| 
 | |
| This file's purpose is to supply easy-to-use cross compiling targets.  The
 | |
| Makefile was written with the assumption that the host architecture is x86_64.
 | |
| 
 | |
| Makefile.rhpkg
 | |
| ==============
 | |
| 
 | |
| This file contains variables that can be overidden by declarations in
 | |
| ~/.rhpkg.mk or $(TOPDIR)/.rhpkg.mk.
 | |
| 
 | |
| Makefile.variables
 | |
| ==================
 | |
| 
 | |
| This file's purpose is to provide a list of stable variables for use by
 | |
| external scripts.  Variables in this file should be considered stable.
 | |
| Variables still may be deprecated and will follow the guidelines in
 | |
| "Deprecating variables and targets" section below.
 | |
| 
 | |
| Variable Naming
 | |
| ===============
 | |
| 
 | |
| Variables names prefixed with SPEC indicate that the variable is used
 | |
| in redhat/kernel.spec.template (see redhat/genspec.sh).
 | |
| 
 | |
| Deprecating variables and targets
 | |
| =================================
 | |
| 
 | |
| Occasionally developers may make a change that removes a variable from
 | |
| Makefile.variables or Makefile.rhpkg, or a target from Makefile or
 | |
| Makefile.cross.
 | |
| 
 | |
| In these cases, the removal will be preceded by a warning on use of the
 | |
| variable or target execution that is output to the user.  After two upstream
 | |
| releases, the variable or target will be removed from the Makefiles.
 | |
| 
 | |
| For example
 | |
| 
 | |
| .. code-block:: sh
 | |
| 
 | |
|   ifdef BREW_FLAGS
 | |
|     # deprecated in 5.17.0
 | |
|     $(warning WARNING: BREW_FLAGS will be deprecated in a later release, use BUILD_FLAGS instead.)
 | |
|   endif
 | |
| 
 | |
| or,
 | |
| 
 | |
| .. code-block:: sh
 | |
| 
 | |
|   dist-kernelversion:
 | |
|     # deprecated in 5.17.0
 | |
|     @echo "WARNING: This target will be removed in a later release."
 | |
|     @echo $(SPECVERSION)-$(DISTRO_BUILD)
 |