Raw File
Makefile
CXX := g++
LLVMCOMPONENTS := cppbackend
RTTIFLAG := -fno-rtti
LLVMCONFIG := ../build/Debug+Asserts/bin/llvm-config

CXXFLAGS := -I../clang/include \
	-I../build/tools/clang/include \
	-I../llvm/tools/clang/include \
	$(shell $(LLVMCONFIG) --cxxflags) $(RTTIFLAG)
LLVMLDFLAGS := $(shell $(LLVMCONFIG) --ldflags --libs $(LLVMCOMPONENTS))

SOURCES = scaffold.cpp 

OBJECTS = $(SOURCES:.cpp=.o)
EXES = $(OBJECTS:.o=)
CLANGLIBS = \
	-lclangTooling -lclangFrontendTool -lclangFrontend -lclangDriver \
	-lclangSerialization -lclangCodeGen -lclangParse -lclangSema \
	-lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers \
	-lclangStaticAnalyzerCore -lclangAnalysis -lclangARCMigrate \
	-lclangEdit -lclangAST -lclangLex -lclangBasic -lLLVMAsmParser \
	-lLLVMInstrumentation -lLLVMLinker -lLLVMArchive -lLLVMBitReader \
	-lLLVMDebugInfo -lLLVMJIT -lLLVMipo -lLLVMVectorize -lLLVMBitWriter \
	-lLLVMTableGen -lLLVMHexagonCodeGen -lLLVMHexagonDesc \
	-lLLVMHexagonAsmPrinter -lLLVMHexagonInfo -lLLVMPTXCodeGen \
	-lLLVMPTXDesc -lLLVMPTXInfo -lLLVMPTXAsmPrinter -lLLVMMBlazeCodeGen \
	-lLLVMMBlazeAsmParser -lLLVMMBlazeDisassembler -lLLVMMBlazeDesc \
	-lLLVMMBlazeAsmPrinter -lLLVMMBlazeInfo -lLLVMCppBackendCodeGen \
	-lLLVMCppBackendInfo -lLLVMMSP430CodeGen -lLLVMMSP430Desc \
	-lLLVMMSP430Info -lLLVMMSP430AsmPrinter -lLLVMXCoreCodeGen \
	-lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMCellSPUCodeGen -lLLVMCellSPUDesc \
	-lLLVMCellSPUInfo -lLLVMMipsDisassembler -lLLVMMipsAsmParser \
	-lLLVMMipsCodeGen -lLLVMMipsDesc -lLLVMMipsInfo -lLLVMMipsAsmPrinter \
	-lLLVMARMDisassembler -lLLVMARMAsmParser -lLLVMARMCodeGen \
	-lLLVMARMDesc -lLLVMARMAsmPrinter -lLLVMARMInfo -lLLVMPowerPCCodeGen \
	-lLLVMPowerPCDesc -lLLVMPowerPCAsmPrinter -lLLVMPowerPCInfo \
	-lLLVMSparcCodeGen -lLLVMSparcDesc -lLLVMSparcInfo \
	-lLLVMX86Disassembler -lLLVMX86CodeGen -lLLVMSelectionDAG \
	-lLLVMAsmPrinter -lLLVMX86AsmParser -lLLVMX86Desc -lLLVMX86AsmPrinter \
	-lLLVMX86Utils -lLLVMX86Info -lgtest_main -lgtest \
	-lLLVMMCDisassembler -lLLVMMCParser -lLLVMInterpreter -lLLVMCodeGen \
	-lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa \
	-lLLVMAnalysis -lLLVMMCJIT -lLLVMRuntimeDyld -lLLVMExecutionEngine \
	-lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport

all: $(OBJECTS) $(EXES)

%: %.o
	$(CXX) -o $@ $< $(CLANGLIBS) $(LLVMLDFLAGS)

clean:
	-rm -f $(EXES) $(OBJECTS) *~
back to top