X-Git-Url: https://pd.if.org/git/?p=lice;a=blobdiff_plain;f=Makefile;fp=Makefile;h=bbbf0c166f367a113786718fe855c1f3cb2f5e62;hp=0000000000000000000000000000000000000000;hb=aaf71be0a6e44d207803dedebbc646bf25b6c152;hpb=a9511e8a95a13585126c4a26a827463801e67d04 diff --git a/Makefile b/Makefile new file mode 100644 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)