int main(int argc, char *argv[]) { if (argc < 3) { usage(); goto exit_failure; } vita_imports_t *imports = vita_imports_load(argv[1], 1); if (imports == NULL) { goto exit_failure; } if (chdir(argv[2])) { perror(argv[2]); goto exit_failure; } if (!generate_assembly(imports)) { fprintf(stderr, "Error generating the assembly file\n"); goto exit_failure; } if (!generate_makefile(imports)) { fprintf(stderr, "Error generating the assembly makefile\n"); goto exit_failure; } vita_imports_free(imports); return EXIT_SUCCESS; exit_failure: return EXIT_FAILURE; }
int main(int argc, char *argv[]) { if (argc < 3) { usage(); goto exit_failure; } int imports_count = argc - 2; vita_imports_t **imports = malloc(sizeof(vita_imports_t*) * imports_count); int i; for (i = 0; i < imports_count; i++) { vita_imports_t *imp = vita_imports_load(argv[i + 1], 1); if (imp == NULL) { goto exit_failure; } imports[i] = imp; } #if defined(_WIN32) && !defined(__CYGWIN__) mkdir(argv[argc - 1]); #else mkdir(argv[argc - 1], 0777); // create directory if it doesn't exist #endif if (chdir(argv[argc - 1])) { perror(argv[argc - 1]); goto exit_failure; } if (!generate_assembly(imports, imports_count)) { fprintf(stderr, "Error generating the assembly file\n"); goto exit_failure; } if (!generate_makefile(imports, imports_count)) { fprintf(stderr, "Error generating the assembly makefile\n"); goto exit_failure; } for (i = 0; i < imports_count; i++) { vita_imports_free(imports[i]); } free(imports); return EXIT_SUCCESS; exit_failure: return EXIT_FAILURE; }