26 lines
732 B
Python
26 lines
732 B
Python
# vim:syntax=python
|
|
|
|
import os
|
|
|
|
target = 'fart'
|
|
subdirs = ['util', 'shapes', 'main', 'distrib']
|
|
parser_sources = Glob('parser/*.cc')
|
|
sources = map(lambda x: Glob(x + '/*.cc'), subdirs)
|
|
lexer_source = 'parser/lex.yy.cc'
|
|
parser_source = 'parser/parser.tab.cc'
|
|
for f in parser_sources:
|
|
if str(f) != lexer_source and str(f) != parser_source:
|
|
sources.append(f)
|
|
sources += [lexer_source, parser_source]
|
|
|
|
env = Environment(CPPFLAGS = '-I.',
|
|
CXXFLAGS = '-Wall -O2',
|
|
YACCFLAGS = '-d',
|
|
LIBS = ['-lfl', '-lpthread', '-lfreeimage'])
|
|
|
|
lexer = env.CXXFile(lexer_source, 'parser/parser.ll')
|
|
parser = env.CXXFile(parser_source, 'parser/parser.yy')
|
|
env.Depends(lexer, parser_source)
|
|
|
|
env.Program(target, sources)
|