summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-05-24 07:30:58 +0000
committerEric Andersen <andersen@codepoet.org>2003-05-24 07:30:58 +0000
commitddfe18df75c15be4a2aadddb241c3b86b1e2968a (patch)
treea216701ad177a6f0531d46fe878eb42e5cf26e15
parent46ba568fc081fa49a757fe6f69f87cf64344d9cd (diff)
Update mkdep, per the "touchless dependencies for 2.4.x" patch
from Geert Uytterhoeven posted to the lkml. -Erik
-rw-r--r--scripts/mkdep.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/scripts/mkdep.c b/scripts/mkdep.c
index c3e94bfae..9b92b08c4 100644
--- a/scripts/mkdep.c
+++ b/scripts/mkdep.c
@@ -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 @@ do_depname(void)
{
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,7 @@ void handle_include(int start, const char * name, int len)
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;
}
}
@@ -268,7 +272,7 @@ void use_config(const char * name, int len)
for (i = 0; i < len; i++) {
char c = name[i];
- if (isupper(c)) c = tolower(c);
+ if (isupper((int)c)) c = tolower((int)c);
if (c == '_') c = '/';
pc[i] = c;
}
@@ -496,7 +500,7 @@ pound_define_undef_CONFIG_word:
/* \<CONFIG_(\w*) */
cee:
- if (next >= map+2 && (isalnum(next[-2]) || next[-2] == '_'))
+ if (next >= map+2 && (isalnum((int)next[-2]) || next[-2] == '_'))
goto start;
GETNEXT NOTCASE('O', __start);
GETNEXT NOTCASE('N', __start);
@@ -520,7 +524,7 @@ cee_CONFIG_word:
/*
* 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 +563,7 @@ void do_depend(const char * filename, const char * command)
clear_config();
state_machine(map, map+st.st_size);
if (hasdep) {
- puts(command);
- if (*command)
- define_precious(filename);
+ puts("");
}
munmap(map, mapsize);
@@ -607,7 +609,6 @@ int main(int argc, char **argv)
while (--argc > 0) {
const char * filename = *++argv;
- const char * command = __depname;
g_filename = 0;
len = strlen(filename);
memcpy(depname, filename, len+1);
@@ -615,10 +616,9 @@ int main(int argc, char **argv)
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';