commit 661e133
chld
·
2026-04-14 01:08:33 +0000 UTC
parent 208f9d5
working state, the feature is implemented
1 files changed,
+8,
-9
+8,
-9
1@@ -217,7 +217,6 @@ main(int argc, char **argv)
2 int dump_ast;
3 int dump_dot;
4 int dump_graph;
5- int have_path;
6 int i;
7 struct Ast ast;
8 struct Ast out;
9@@ -243,9 +242,6 @@ main(int argc, char **argv)
10 } else if (argv[i][0] == '-') {
11 usage(stderr, argv[0]);
12 return 1;
13- } else if (have_path) {
14- usage(stderr, argv[0]);
15- return 1;
16 } else {
17 // stub fn
18 }
19@@ -262,11 +258,8 @@ main(int argc, char **argv)
20 char* mks[]={
21 "makefile",
22 "GNUmakefile",
23- "gnumakefile",
24 NULL
25-
26- /* https://www.gnu.org/software/make/manual/html_node/Makefile-Names.html */
27- }
28+ };
29
30 for(size_t mk=0; mks[mk]!=NULL; ++mk)
31 {
32@@ -274,13 +267,19 @@ main(int argc, char **argv)
33 src=readfile(path);
34
35 if(src) break;
36- // error later
37+
38+ if(mks[mk+1]==NULL && !src)
39+ {
40+ fprintf(stderr, "could not find a makefile\n");
41+ exit(1);
42+ }
43 }
44 }
45 if (parse(path, src, &ast) < 0) {
46 fprintf(stderr, "parse error in %s\n", path);
47 free(src);
48 return 1;
49+
50 }
51 if (eval(&ast, &out) < 0) {
52 fprintf(stderr, "eval error in %s\n", path);