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

@ -38,7 +38,7 @@ include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compress
$(call cmd,gen_usage_compressed) $(call cmd,gen_usage_compressed)
quiet_cmd_gen_applet_tables = GEN include/applet_tables.h quiet_cmd_gen_applet_tables = GEN include/applet_tables.h
cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h
include/applet_tables.h: applets/applet_tables include/applet_tables.h: applets/applet_tables
$(call cmd,gen_applet_tables) $(call cmd,gen_applet_tables)

View File

@ -79,7 +79,7 @@ int main(int argc, char **argv)
} }
printf("\n"); printf("\n");
printf("#ifndef SKIP_definitions\n"); //printf("#ifndef SKIP_definitions\n");
printf("const char applet_names[] ALIGN1 = \"\"\n"); printf("const char applet_names[] ALIGN1 = \"\"\n");
for (i = 0; i < NUM_APPLETS; i++) { for (i = 0; i < NUM_APPLETS; i++) {
printf("\"%s\" \"\\0\"\n", applets[i].name); printf("\"%s\" \"\\0\"\n", applets[i].name);
@ -123,9 +123,29 @@ int main(int argc, char **argv)
} }
printf("};\n"); printf("};\n");
#endif #endif
printf("#endif /* SKIP_definitions */\n"); //printf("#endif /* SKIP_definitions */\n");
printf("\n"); printf("\n");
printf("#define MAX_APPLET_NAME_LEN %u\n", MAX_APPLET_NAME_LEN); 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; return 0;
} }

View File

@ -61,7 +61,7 @@
static const char usage_messages[] ALIGN1 = UNPACKED_USAGE; static const char usage_messages[] ALIGN1 = UNPACKED_USAGE;
#else #else
# define usage_messages 0 # define usage_messages 0
#endif /* SHOW_USAGE */ #endif
#if ENABLE_FEATURE_COMPRESS_USAGE #if ENABLE_FEATURE_COMPRESS_USAGE

View File

@ -50,9 +50,7 @@
# define CLEAR_RANDOM_T(rnd) ((void)0) # define CLEAR_RANDOM_T(rnd) ((void)0)
#endif #endif
#define SKIP_definitions 1 #include "NUM_APPLETS.h"
#include "applet_tables.h"
#undef SKIP_definitions
#if NUM_APPLETS == 1 #if NUM_APPLETS == 1
/* STANDALONE does not make sense, and won't compile */ /* STANDALONE does not make sense, and won't compile */
# undef CONFIG_FEATURE_SH_STANDALONE # undef CONFIG_FEATURE_SH_STANDALONE

View File

@ -128,9 +128,7 @@
# define USE_FOR_MMU(...) # define USE_FOR_MMU(...)
#endif #endif
#define SKIP_definitions 1 #include "NUM_APPLETS.h"
#include "applet_tables.h"
#undef SKIP_definitions
#if NUM_APPLETS == 1 #if NUM_APPLETS == 1
/* STANDALONE does not make sense, and won't compile */ /* STANDALONE does not make sense, and won't compile */
# undef CONFIG_FEATURE_SH_STANDALONE # undef CONFIG_FEATURE_SH_STANDALONE