]> pd.if.org Git - lice/blobdiff - Makefile
autocommit for files dated 2014-11-17 20:15:16
[lice] / Makefile
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..bbbf0c1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,46 @@
+CC      ?= clang
+CFLAGS  += -Wall -Wextra -Wno-missing-field-initializers -O3 -std=c99 -MD -DLICE_TARGET_AMD64
+LDFLAGS +=
+
+LICESOURCES = ast.c parse.c lice.c gen.c gen_amd64.c lexer.c util.c conv.c decl.c init.c list.c opt.c
+ARGSSOURCES = misc/argsgen.c util.c list.c
+TESTSOURCES = test.c util.c list.c
+LICEOBJECTS = $(LICESOURCES:.c=.o)
+TESTOBJECTS = $(TESTSOURCES:.c=.o)
+ARGSOBJECTS = $(ARGSSOURCES:.c=.o)
+LICEDEPENDS = $(LICESOURCES:.c=.d)
+TESTDEPENDS = $(TESTSOURCES:.c=.d)
+ARGSDEPENDS = $(ARGSSOURCES:.c=.d)
+LICEBIN     = lice
+TESTBIN     = testsuite
+ARGSBIN     = argsgenerator
+
+all: $(LICEBIN) $(TESTBIN)
+
+$(LICEBIN): $(LICEOBJECTS)
+       $(CC) $(LDFLAGS) $(LICEOBJECTS) -o $@
+
+$(TESTBIN): $(TESTOBJECTS)
+       $(CC) $(LDFLAGS) $(TESTOBJECTS) -o $@
+
+$(ARGSBIN): $(ARGSOBJECTS)
+       $(CC) $(LDFLAGS) $(ARGSOBJECTS) -o $@
+
+c.o:
+       $(CC) -c $(CFLAGS) $< -o $@
+
+args: $(ARGSBIN)
+       @./$(ARGSBIN)
+
+clean:
+       rm -f $(LICEOBJECTS)
+       rm -f $(TESTOBJECTS)
+       rm -f $(LICEDEPENDS)
+       rm -f $(TESTDEPENDS)
+       rm -f $(ARGSDEPENDS)
+       rm -f $(LICEBIN)
+       rm -f $(TESTBIN)
+       rm -f $(ARGSBIN)
+
+test: $(LICEBIN) $(TESTBIN)
+       @./$(TESTBIN)