# 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)