aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile36
1 files changed, 9 insertions, 27 deletions
diff --git a/Makefile b/Makefile
index 8410a24..c052fe9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,32 +1,14 @@
1CC = gcc 1bcsh: syntax.tab.o bcsh.c
2FLEX = flex 2 gcc -g -o bcsh bcsh.c syntax.tab.o -lfl
3BISON = bison
4 3
5CFILES = $(shell find . -name "*.c") 4syntax.tab.o: lex.yy.c syntax.tab.c
6OBJS = $(CFILES:.c=.o) 5 gcc -g -c syntax.tab.c -o syntax.tab.o
7LFILE = $(wildcard *.l)
8YFILE = $(wildcard *.y)
9LFC = ./lex.yy.c
10YFC = ./syntax.tab.c
11LFO = $(LFC:.c=.o)
12YFO = $(YFC:.c=.o)
13 6
14bcsh: syntax $(filter-out $(LFO),$(OBJS)) 7lex.yy.c: lex.l
15 $(CC) -g -o bcsh $(filter-out $(LFO),$(OBJS)) -lfl 8 flex -o lex.yy.c lex.l
16 9
17syntax: lexical syntax-c 10syntax.tab.c: syntax.y
18 $(CC) -c $(YFC) -o $(YFO) 11 bison -o syntax.tab.c -d -v syntax.y -Wcounterexamples
19
20lexical: $(LFILE)
21 $(FLEX) -o $(LFC) $(LFILE)
22
23syntax-c: $(YFILE)
24 $(BISON) -o $(YFC) -d -v $(YFILE) -Wcounterexamples
25
26-include $(patsubst %.o, %.d, $(OBJS))
27 12
28clean: 13clean:
29 rm -f bcsh lex.yy.c syntax.tab.c syntax.tab.h syntax.output 14 rm -f bcsh lex.yy.c syntax.tab.c syntax.tab.h syntax.output syntax.tab.o
30 rm -f $(OBJS) $(OBJS:.o=.d)
31 rm -f $(LFC) $(YFC) $(YFC:.c=.h)
32 rm -f *~ \ No newline at end of file