--- zzzz-none-000/linux-2.4.17/scripts/mkdep.c 2001-09-14 21:40:00.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/scripts/mkdep.c 2004-11-24 13:22:09.000000000 +0000 @@ -45,8 +45,7 @@ -char __depname[512] = "\n\t@touch "; -#define depname (__depname+9) +char depname[512]; int hasdep; struct path_struct { @@ -75,9 +74,14 @@ { if (!hasdep) { hasdep = 1; - printf("%s:", depname); - if (g_filename) + if (g_filename) { + /* Source file (*.[cS]) */ + printf("%s:", depname); printf(" %s", g_filename); + } else { + /* header file (*.h) */ + printf("dep_%s +=", depname); + } } } @@ -203,7 +207,8 @@ path->buffer[path->len+len] = '\0'; if (access(path->buffer, F_OK) == 0) { do_depname(); - printf(" \\\n %s", path->buffer); + printf(" \\\n %s $(dep_%s)", path->buffer, + path->buffer); return; } } @@ -520,7 +525,7 @@ /* * Generate dependencies for one file. */ -void do_depend(const char * filename, const char * command) +void do_depend(const char * filename) { int mapsize; int pagesizem1 = getpagesize()-1; @@ -559,9 +564,7 @@ clear_config(); state_machine(map, map+st.st_size); if (hasdep) { - puts(command); - if (*command) - define_precious(filename); + puts(""); } munmap(map, mapsize); @@ -607,7 +610,6 @@ while (--argc > 0) { const char * filename = *++argv; - const char * command = __depname; g_filename = 0; len = strlen(filename); memcpy(depname, filename, len+1); @@ -615,10 +617,9 @@ if (filename[len-1] == 'c' || filename[len-1] == 'S') { depname[len-1] = 'o'; g_filename = filename; - command = ""; } } - do_depend(filename, command); + do_depend(filename); } if (len_precious) { *(str_precious+len_precious) = '\0';