-CPP.Flags += -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \
- -I$(PROJ_OBJ_ROOT)/include \
- -I$(PROJ_SRC_ROOT)/include \
- -I$(LLVM_OBJ_ROOT)/include \
- -I$(LLVM_SRC_ROOT)/include \
- $(CPP.BaseFlags)
-
-Compile.C = $(CC) $(CPP.Flags) $(C.Flags) $(CompileCommonOpts) -c
-LTCompile.C = $(LIBTOOL) $(LibTool.Flags) --mode=compile $(Compile.C)
-BCCompile.C = $(LLVMGCCWITHPATH) $(CPP.Flags) $(C.Flags) $(CompileCommonOpts)
-Preprocess.C = $(CC) $(CPP.Flags) $(C.Flags) $(CompileCommonOpts) -E
-
-Compile.CXX = $(CXX) $(CPP.Flags) $(CXX.Flags) $(CompileCommonOpts) -c
-LTCompile.CXX = $(LIBTOOL) $(LibTool.Flags) --mode=compile $(Compile.CXX)
+CPP.Flags += $(sort -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \
+ $(patsubst %,-I%/include,\
+ $(PROJ_OBJ_ROOT) $(PROJ_SRC_ROOT) \
+ $(LLVM_OBJ_ROOT) $(LLVM_SRC_ROOT))) \
+ $(CPP.BaseFlags)
+
+ifeq ($(BUILD_COMPONENT), 1)
+ Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(C.Flags.NoRelink) \
+ $(TargetCommonOpts) $(CompileCommonOpts) -c
+ Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXX.Flags.NoRelink) \
+ $(TargetCommonOpts) $(CompileCommonOpts) -c
+ Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(TargetCommonOpts) \
+ $(CompileCommonOpts) $(CXX.Flags) $(CXX.Flags.NoRelink) -E
+ Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXX.Flags.NoRelink) \
+ $(TargetCommonOpts) $(CompileCommonOpts) $(LD.Flags) $(Strip)
+ Relink = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(TargetCommonOpts) \
+ $(CompileCommonOpts) $(Relink.Flags)
+else
+ Compile.C = $(CC) $(CPP.Flags) $(C.Flags) $(C.Flags.NoRelink) \
+ $(TargetCommonOpts) $(CompileCommonOpts) -c
+ Compile.CXX = $(CXX) $(CPP.Flags) $(CXX.Flags) $(CXX.Flags.NoRelink) \
+ $(TargetCommonOpts) $(CompileCommonOpts) -c
+ Preprocess.CXX= $(CXX) $(CPP.Flags) $(TargetCommonOpts) \
+ $(CompileCommonOpts) $(CXX.Flags) $(CXX.Flags.NoRelink) -E
+ Link = $(CXX) $(CPP.Flags) $(CXX.Flags) $(CXX.Flags.NoRelink) \
+ $(TargetCommonOpts) $(CompileCommonOpts) $(LD.Flags) $(Strip)
+ Relink = $(CXX) $(CPP.Flags) $(CXX.Flags) $(TargetCommonOpts) \
+ $(CompileCommonOpts) $(Relink.Flags)
+endif
+
+BCCompile.C = $(LLVMGCCWITHPATH) $(CPP.Flags) $(C.Flags) \
+ $(TargetCommonOpts) $(CompileCommonOpts)
+Preprocess.C = $(CC) $(CPP.Flags) $(C.Flags) \
+ $(TargetCommonOpts) $(CompileCommonOpts) -E
+