/* * Record the use of a CONFIG_* word. */ void use_config(const char * name, int len) { char *pc; int i; pc = path_array[paths-1].buffer + path_array[paths-1].len; memcpy(pc, "config/", 7); pc += 7; for (i = 0; i < len; i++) { char c = name[i]; if (isupper(c)) c = tolower(c); if (c == '_') c = '/'; pc[i] = c; } pc[len] = '\0'; if (is_defined_config(pc, len)) return; define_config(pc, len); do_depname(); printf(" \\\n $(wildcard %s.h)", path_array[paths-1].buffer); }
/* * Handle an #include line. */ void handle_include(int32_t start, const char * name, int32_t len) { struct path_struct *path; int32_t i; if (len >= 7 && !memcmp(name, "config/", 7)) define_config(name+7, len-7-2); for (i = start, path = path_array+start; i < paths; ++i, ++path) { memcpy(path->buffer+path->len, name, len); path->buffer[path->len+len] = '\0'; if (access(path->buffer, F_OK) == 0) { do_depname(); addFoundDeps(depname,path->buffer); if((len>2)&&(name[len-2]=='.')&&(name[len-1]=='h')){ /* This is a .h fie */ /* fprintf(stderr,"addPending for .h %s\n",path->buffer);*/ addPendingDeps(path->buffer); }else if((len>4)&&(name[len-4]=='.')&&(name[len-3]=='h')&& (name[len-2]=='p')&&(name[len-1]=='p')){ /* This is a .hpp file */ /* fprintf(stderr,"addPending for .hpp %s\n",path->buffer);*/ addPendingDeps(path->buffer); }else if((len>4)&&(name[len-4]=='.')&&(name[len-3]=='c')&& (name[len-2]=='p')&&(name[len-1]=='p')){ /* This is a .hpp file */ /* fprintf(stderr,"addPending for .hpp %s\n",path->buffer);*/ addPendingDeps(path->buffer); } return; } } }
/* * Handle an #include line. */ void handle_include(int start, const char * name, int len) { struct path_struct *path; int i; for (i = start, path = path_array+start; i < paths; ++i, ++path) { memcpy(path->buffer+path->len, name, len); path->buffer[path->len+len] = '\0'; if (access(path->buffer, F_OK) == 0) { do_depname(); printf(" \\\n %s", path->buffer); return; } } }
/* * Handle an #include line. */ void handle_include(int start, const char * name, int len) { struct path_struct *path; int i; if (len == 14 && !memcmp(name, "linux/config.h", len)) return; if (len >= 7 && !memcmp(name, "config/", 7)) define_config(name+7, len-7-2); for (i = start, path = path_array+start; i < paths; ++i, ++path) { memcpy(path->buffer+path->len, name, len); path->buffer[path->len+len] = '\0'; if (access(path->buffer, F_OK) == 0) { do_depname(); printf(" \\\n %s", path->buffer); return; } } }