summaryrefslogtreecommitdiff
path: root/maje.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2020-01-14 11:32:45 -0500
committerJakob Kaivo <jkk@ung.org>2020-01-14 11:32:45 -0500
commite44ac1094eaba6b7ca59d5b2539d660c44bba5c3 (patch)
tree4e120b0073a257b7717cf329c924f474350fb4db /maje.c
parentf26eb1e014203cbd8137b69825e9594c92b6ab4d (diff)
initial commit
Diffstat (limited to 'maje.c')
-rw-r--r--maje.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/maje.c b/maje.c
new file mode 100644
index 0000000..25ab155
--- /dev/null
+++ b/maje.c
@@ -0,0 +1,50 @@
+#define _XOPEN_SOURCE 700
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "maje.h"
+
+static void usage(char *progname)
+{
+ printf("usage: %s [dir]\n", progname);
+}
+
+int main(int argc, char *argv[])
+{
+ char *srcdir = NULL;
+
+ int c;
+ while ((c = getopt(argc, argv, "")) != -1) {
+ switch (c) {
+ default:
+ usage(argv[0]);
+ return 1;
+ }
+ }
+
+ srcdir = argv[optind];
+
+ if (srcdir == NULL) {
+ srcdir = ".";
+ }
+
+ char **sources = find_source_files(srcdir);
+ char *mainname = find_main(sources);
+ if (!mainname) {
+ printf("libraries not yet supported\n");
+ return 0;
+ }
+ char *target = strdup(mainname);
+ target[strlen(target) - 2] = '\0';
+
+ FILE *makefile = fopen("Makefile", "w");
+ if (makefile == NULL) {
+ perror("fopen");
+ return 1;
+ }
+
+ make_makefile("Makefile", sources, target);
+
+ return 0;
+}