Makefile: Explain process of handling CONFIG_* variables

Corresponding to flashrom svn r1721.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/Makefile b/Makefile
index 023c41d..3b24bc4 100644
--- a/Makefile
+++ b/Makefile
@@ -61,10 +61,13 @@
 endif
 
 ###############################################################################
-# General OS/architecture specific settings.
+# General OS-specific settings.
+# 1. Prepare for later by gathering information about host and target OS
+# 2. Set compiler flags and parameters according to OSes
+# 3. Likewise verify user-supplied CONFIG_* variables.
 
 # HOST_OS is only used to work around local toolchain issues.
-HOST_OS	?= $(shell uname)
+HOST_OS ?= $(shell uname)
 ifeq ($(HOST_OS), MINGW32_NT-5.1)
 # Explicitly set CC = gcc on MinGW, otherwise: "cc: command not found".
 CC = gcc
@@ -263,6 +266,10 @@
 endif
 endif
 
+###############################################################################
+# General architecture-specific settings.
+# Like above for the OS, below we verify user-supplied options depending on the target architecture.
+
 # Determine the destination processor architecture.
 # IMPORTANT: The following line must be placed before ARCH is ever used
 # (of course), but should come after any lines setting CC because the line
@@ -334,6 +341,9 @@
 
 SVNDEF := -D'FLASHROM_VERSION="$(VERSION)"'
 
+###############################################################################
+# Default settings of CONFIG_* variables.
+
 # Always enable internal/onboard support for now.
 CONFIG_INTERNAL ?= yes
 
@@ -426,6 +436,7 @@
 
 ###############################################################################
 # Programmer drivers and programmer support infrastructure.
+# Depending on the CONFIG_* variables set and verified above we set compiler flags and parameters below.
 
 FEATURE_CFLAGS += -D'CONFIG_DEFAULT_PROGRAMMER=$(CONFIG_DEFAULT_PROGRAMMER)'