build system: do not rebuild ash and hush on any change to any .c file

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2010-06-26 02:40:08 +02:00
parent 918f444f90
commit 1fcbff2fac
5 changed files with 26 additions and 10 deletions

View file

@ -79,7 +79,7 @@ int main(int argc, char **argv)
}
printf("\n");
printf("#ifndef SKIP_definitions\n");
//printf("#ifndef SKIP_definitions\n");
printf("const char applet_names[] ALIGN1 = \"\"\n");
for (i = 0; i < NUM_APPLETS; i++) {
printf("\"%s\" \"\\0\"\n", applets[i].name);
@ -123,9 +123,29 @@ int main(int argc, char **argv)
}
printf("};\n");
#endif
printf("#endif /* SKIP_definitions */\n");
//printf("#endif /* SKIP_definitions */\n");
printf("\n");
printf("#define MAX_APPLET_NAME_LEN %u\n", MAX_APPLET_NAME_LEN);
if (argv[2]) {
char line_old[80];
char line_new[80];
FILE *fp;
line_old[0] = 0;
fp = fopen(argv[2], "r");
if (fp) {
fgets(line_old, sizeof(line_old), fp);
fclose(fp);
}
sprintf(line_new, "#define NUM_APPLETS %u\n", NUM_APPLETS);
if (strcmp(line_old, line_new) != 0) {
fp = fopen(argv[2], "w");
if (!fp)
return 1;
fputs(line_new, fp);
}
}
return 0;
}