equal
deleted
inserted
replaced
80 |
80 |
81 |
81 |
82 /* forward declarations... */ |
82 /* forward declarations... */ |
83 int stage1_2(const char *filename, const char *includedir, symbol_c **tree_root); |
83 int stage1_2(const char *filename, const char *includedir, symbol_c **tree_root); |
84 //int stage3(symbol_c *tree_root); |
84 //int stage3(symbol_c *tree_root); |
85 int stage4(symbol_c *tree_root); |
85 int stage4(symbol_c *tree_root, const char *builddir); |
86 |
86 |
87 |
87 |
88 static void printusage(const char *cmd) { |
88 static void printusage(const char *cmd) { |
89 printf("%s [<input_file>] [-I <include_directory>]\n", cmd); |
89 printf("%s [<input_file>] [-I <include_directory>]\n", cmd); |
90 } |
90 } |
92 |
92 |
93 |
93 |
94 int main(int argc, char **argv) { |
94 int main(int argc, char **argv) { |
95 symbol_c *tree_root; |
95 symbol_c *tree_root; |
96 char * includedir = NULL; |
96 char * includedir = NULL; |
|
97 char * builddir = NULL; |
|
98 |
|
99 if (argc == 5) { |
|
100 builddir = argv[4]; |
|
101 argc = 4; |
|
102 } |
97 |
103 |
98 if (argc == 4) { |
104 if (argc == 4) { |
99 if (strcmp(argv[2], "-I") != 0) { |
105 if (strcmp(argv[2], "-I") != 0) { |
100 printusage(argv[0]); |
106 printusage(argv[0]); |
101 return EXIT_FAILURE; |
107 return EXIT_FAILURE; |
102 } |
108 } |
103 includedir = argv[3]; |
109 includedir = argv[3]; |
104 argc = 2; |
110 argc = 2; |
105 } |
111 } |
|
112 |
|
113 if (argc == 3) { |
|
114 builddir = argv[2]; |
|
115 argc = 2; |
|
116 } |
106 |
117 |
107 if (argc != 2) { |
118 if (argc != 2) { |
108 printusage(argv[0]); |
119 printusage(argv[0]); |
109 return EXIT_FAILURE; |
120 return EXIT_FAILURE; |
110 } |
121 } |
119 if (stage3(tree_root) < 0) |
130 if (stage3(tree_root) < 0) |
120 return EXIT_FAILURE; |
131 return EXIT_FAILURE; |
121 */ |
132 */ |
122 |
133 |
123 /* 3rd Pass */ |
134 /* 3rd Pass */ |
124 if (stage4(tree_root) < 0) |
135 if (stage4(tree_root, builddir) < 0) |
125 return EXIT_FAILURE; |
136 return EXIT_FAILURE; |
126 |
137 |
127 /* 4th Pass */ |
138 /* 4th Pass */ |
128 /* Currently implemented in the Makefile! */ |
139 /* Currently implemented in the Makefile! */ |
129 |
140 |