-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
39 lines (27 loc) · 696 Bytes
/
Makefile
File metadata and controls
39 lines (27 loc) · 696 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
.PHONY: clean
CC=gcc
CFLAGS=-g -Wall
OBJ=main.o parse.tab.o lex.yy.o ast.o globals.o stack.o hashmap.o symbol.o cgen.o
YACC=bison
YFLAGS=-Wall -d
LEX=flex
LFLAGS=
golf: $(OBJ)
$(CC) $(CFLAGS) -o golf $^
main.o: main.c parse.tab.h ast.h globals.h hashmap.h stack.h symbol.h cgen.h
ast.o: ast.c ast.h
globals.o: globals.c globals.h
symbol.o: symbol.c symbol.h ast.h stack.h hashmap.h
stack.o: stack.c stack.h
hashmap.o: hashmap.c hashmap.h
cgen.o: cgen.c cgen.h
lex.yy.c: lex.l parse.tab.h
$(LEX) $(LFLAGS) $<
parse.tab.c parse.tab.h: parse.y ast.h globals.h
$(YACC) $(YFLAGS) $<
clean:
-rm *.yy.c
-rm *.tab.h
-rm *.tab.c
-rm *.o
-rm golf