1 #==============================================================================
2 # Copyright (c) 2001-2011 Joel de Guzman
4 # Distributed under the Boost Software License, Version 1.0. (See accompanying
5 # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #==============================================================================
7 project spirit-qi-compiler_tutorial
9 <c++-template-depth>300
10 <variant>release:<location>"bin/release"
11 <variant>debug:<location>"bin/debug"
17 exe calc1 : calc1.cpp ;
18 exe calc2 : calc2.cpp ;
19 exe calc3 : calc3.cpp ;
20 exe calc4 : calc4.cpp ;
21 exe calc5 : calc5.cpp ;
22 exe calc6 : calc6.cpp ;
52 conjure1/expression.cpp
53 conjure1/statement.cpp
60 conjure2/expression.cpp
64 conjure2/statement.cpp
68 #==============================================================================
69 # conjure3 and above require LLVM. Make sure you provide the
70 # LLVM_PATH in your bjam invocation. E.g.:
72 # bjam -sLLVM_PATH=C:/dev/llvm conjure3
74 #==============================================================================
76 if [ modules.peek : LLVM_PATH ]
78 LLVM_PATH = [ modules.peek : LLVM_PATH ] ;
83 path-constant LLVM_LIB_DEBUG_PATH : $(LLVM_PATH)/lib/Debug ;
84 path-constant LLVM_LIB_RELEASE_PATH : $(LLVM_PATH)/lib/Release ;
91 llvm_debug_libs = [ glob $(LLVM_LIB_DEBUG_PATH)/LLVM*.lib ] ;
92 llvm_release_libs = [ glob $(LLVM_LIB_RELEASE_PATH)/LLVM*.lib ] ;
94 rule build_exe_1 ( target-name : sources + : requirements * )
97 if <variant>debug in $(requirements)
99 llvm_lib = $(llvm_debug_libs) ;
103 llvm_lib = $(llvm_release_libs) ;
111 <include>$(LLVM_PATH)/include
112 <linkflags>$(llvm_linker_flags)
116 rule build_exe ( target-name : sources + )
118 build_exe_1 $(target-name) : $(sources) : <variant>debug ;
119 build_exe_1 $(target-name) : $(sources) : <variant>release ;
123 conjure3/compiler.cpp
124 conjure3/expression.cpp
125 conjure3/function.cpp
128 conjure3/statement.cpp