about summary refs log tree commit diff homepage
path: root/lib/SMT/Makefile
blob: 92ec8018a28a8938ffe5de1ad2665831679595a5 (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
#===-- lib/SMT/Makefile ------------------------------------*- Makefile -*--===#

LEVEL=../..

LIBRARYNAME=kleaverSMT
DONT_BUILD_RELINKED=1
BUILD_ARCHIVE=1

include $(LEVEL)/Makefile.common

# Gross, but I don't want to build proper rules for this, and I don't want users
# to have to have bison/flex, so for now require developers to make these
# manually (at least initially).

smtlib_parser.cpp smtlib_parser.h: smtlib.y
	bison -d -o smtlib_parser.cpp -p smtlib smtlib.y
	mv smtlib_parser.hpp smtlib_parser.h	
	perl -pi -e 's/union/struct/g' smtlib_parser.cpp
	perl -pi -e 's/union/struct/g' smtlib_parser.h


smtlib_lexer.cpp: smtlib.lex smtlib_parser.h
	flex -I -Psmtlib -osmtlib_lexer.cpp smtlib.lex
	perl -pi -e 's/union/struct/g' smtlib_lexer.cpp

.PHONY: regen
regen: smtlib_lexer.cpp smtlib_parser.cpp smtlib_parser.h