aboutsummaryrefslogtreecommitdiff
path: root/sem1/osc/miniproject/cnasm/Makefile
blob: 9ace547c082b07772638b7c5bf8040fb5a102fce (plain)
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
LEX=flex
YACC=bison
LIBS=-ly -lfl -lm
CC=gcc

PROG=regn
TRASH=lex.yy.c $(PROG).tab.c $(PROG) $(PROG).tab.h $(PROG).output

$(PROG): $(PROG).tab.o lex.yy.o ast.c codegen.c
		$(CC) -ggdb -o $@ $^ $(LIBS) 

$(PROG).tab.c $(PROG).tab.h: $(PROG).y
		$(YACC) -d -v $(PROG).y

lex.yy.c: $(PROG).l
		$(LEX) $(PROG).l

%.o: %.c
	$(CC) -ggdb -c -o $@ $^

PHONY: clean run

run: $(PROG)
	./$(PROG)

clean:
	rm -f *.o
	rm -f $(TRASH)