fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / scripts / basic / fixdep.c
index 8c4c703..6bc7e7c 100644 (file)
  * the dependency on linux/autoconf.h by a dependency on every config
  * option which is mentioned in any of the listed prequisites.
  *
- * To be exact, split-include populates a tree in include/config/,
- * e.g. include/config/his/driver.h, which contains the #define/#undef
- * for the CONFIG_HIS_DRIVER option.
+ * kconfig populates a tree in include/config/ with an empty file
+ * for each config symbol and when the configuration is updated
+ * the files representing changed config options are touched
+ * which then let make pick up the changes and the files that use
+ * the config symbols are rebuilt.
  *
  * So if the user changes his CONFIG_HIS_DRIVER option, only the objects
  * which depend on "include/linux/config/his/driver.h" will be rebuilt,
@@ -130,6 +132,9 @@ void usage(void)
        exit(1);
 }
 
+/*
+ * Print out the commandline prefixed with cmd_<target filename> :=
+ */
 void print_cmdline(void)
 {
        printf("cmd_%s := %s\n\n", target, cmdline);
@@ -212,7 +217,7 @@ void use_config(char *m, int slen)
                if (*p == '_')
                        *p = '/';
                else
-                       *p = tolower((unsigned char)*p);
+                       *p = tolower((int)*p);
        }
        printf("    $(wildcard include/config/%s.h) \\\n", s);
 }
@@ -242,6 +247,8 @@ void parse_config_file(char *map, size_t len)
                continue;
 
        found:
+               if (!memcmp(q - 7, "_MODULE", 7))
+                       q -= 7;
                use_config(p+7, q-p-7);
        }
 }