main.cc
changeset 46 fc1b78ea6d84
parent 0 fb772792efd1
child 47 017efb738d95
--- a/main.cc	Fri Jul 20 22:07:15 2007 +0200
+++ b/main.cc	Wed Jul 25 18:03:27 2007 +0200
@@ -82,7 +82,7 @@
 /* forward declarations... */
 int stage1_2(const char *filename, const char *includedir, symbol_c **tree_root);
 //int stage3(symbol_c *tree_root);
-int stage4(symbol_c *tree_root);
+int stage4(symbol_c *tree_root, const char *builddir);
 
 
 static void printusage(const char *cmd) {
@@ -94,6 +94,12 @@
 int main(int argc, char **argv) {
   symbol_c *tree_root;
   char * includedir = NULL;
+  char * builddir = NULL;
+
+  if (argc == 5) {
+    builddir = argv[4];
+    argc = 4;
+  }
 
   if (argc == 4) {
     if (strcmp(argv[2], "-I") != 0) {
@@ -104,6 +110,11 @@
     argc = 2;
   }
 
+  if (argc == 3) {
+    builddir = argv[2];
+    argc = 2;
+  }    
+
   if (argc != 2) {
     printusage(argv[0]);
     return EXIT_FAILURE;
@@ -121,7 +132,7 @@
   */
 
   /* 3rd Pass */
-  if (stage4(tree_root) < 0)
+  if (stage4(tree_root, builddir) < 0)
     return EXIT_FAILURE;
 
   /* 4th Pass */