Summary Files Commits Branches @commit @diff @stats
path: root / Year 2 / Implementation of Programming Languages / Homework 02 / Makefile
blob: 91f0182c801d540d32f1619c6864d5c644f15798 (plain) (blame)
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
in="example.lisp"
out="highlighted.html"

CC=gcc
CFLAGS=-lfl -g
LEX=flex
YACC=bison -t -d

.PHONY: all
all: build-all webpage

.PHONY: webpage
webpage:
	cat ./page_top.html > $(out)
	./a.out < $(in) >> $(out)
	cat ./page_bottom.html >> $(out)

build-all: build-bison build-flex
	$(CC) lex.yy.c commonlisp2html.tab.c $(CFLAGS)

.PHONY: build-flex
build-flex: commonlisp2html.l
	$(LEX) commonlisp2html.l

.PHONY: build-bison
build-bison: commonlisp2html.y
	$(YACC) commonlisp2html.y

.PHONY: clean
clean:
	rm -f a.out *.tab.* lex.yy.c