diff options
Diffstat (limited to 'read.c')
-rw-r--r-- | read.c | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -324,8 +324,7 @@ eval_makefile (const char *filename, int flags) char *expanded = 0; int makefile_errno; - filename = strcache_add (filename); - ebuf.floc.filenm = filename; + ebuf.floc.filenm = filename; /* Use the original file name. */ ebuf.floc.lineno = 1; if (ISDB (DB_VERBOSE)) @@ -369,13 +368,17 @@ eval_makefile (const char *filename, int flags) "/", filename); ebuf.fp = fopen (included, "r"); if (ebuf.fp) - { - filename = strcache_add (included); - break; - } + { + filename = included; + break; + } } } + /* Now we have the final name for this makefile. Enter it into + the cache. */ + filename = strcache_add (filename); + /* Add FILENAME to the chain of read makefiles. */ deps = alloc_dep (); deps->next = read_makefiles; |