diff -r 3b6bf2b5f1df -r fc1b78ea6d84 main.cc --- 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 */