| ifdef VMKIT_RUNTIME |
| |
| .PRECIOUS: LLVMRuntime.inc |
| |
| # All of these files depend on tblgen and the .td files. |
| LLVMRuntime.inc : $(LLVMAS) $(LLC) $(VMKIT_RUNTIME) |
| |
| LLVMRuntime.gen.ll : $(VMKIT_RUNTIME) |
| $(Verb) cat $(VMKIT_RUNTIME) > LLVMRuntime.gen.ll |
| |
| LLVMRuntime.inc : LLVMRuntime.gen.ll |
| $(Echo) "Building LLVM runtime with $(VMKIT_RUNTIME)" |
| $(Verb) $(LLVMAS) -f $(<F) -o - | $(LLC) -march=cpp -cppgen=contents -f -o $@ |
| |
| |
| clean-local:: |
| $(Verb) $(RM) -f LLVMRuntime.inc LLVMRuntime.gen.ll LLVMRuntime.bc |
| |
| endif |
| |
| ifdef VMKIT_ASSEMBLY |
| |
| .PRECIOUS: LLVMAssembly.s |
| |
| LLVMAssembly.s : $(LLVMAS) $(LLC) $(VMKIT_ASSEMBLY) |
| |
| LLVMAssembly.s : LLVMAssembly.ll |
| $(Echo) "Building LLVM assembly with $(VMKIT_ASSEMBLY)" |
| $(Verb) $(LLVMAS) -f $(<F) -o - | $(LLC) -f -o $@ |
| $(Verb) $(MKDIR) $(BuildMode) |
| $(Verb) $(GAS) $@ -o $(BuildMode)/LLVMAssembly.o |
| |
| clean-local:: |
| $(Verb) $(RM) -f LLVMAssembly.s LLVMAssembly.bc |
| |
| endif |
| |
| ifndef VMJC |
| VMJC := $(ToolDir)/vmjc$(EXEEXT) |
| endif |
| |
| |
| ifdef VMJC_ASSEMBLY |
| |
| .PRECIOUS: glibj.zip.s |
| |
| glibj.zip.s : $(LOPT) $(LLC) $(VMJC) |
| |
| |
| glibj.zip.bc : |
| $(Echo) "Compiling glibj.zip to llvm" |
| $(Verb) if test -d $(GLIBJ); then \ |
| $(VMJC) -f -std-compile-opts $(GLIBJ)/glibj.zip -o glibj.zip.bc; \ |
| else \ |
| $(VMJC) -f -std-compile-opts $(GLIBJ) -o glibj.zip.bc; \ |
| fi |
| |
| glibj-optimized.zip.bc : glibj.zip.bc |
| $(Echo) "Optimizing glibj.zip" |
| $(Verb) $(LOPT) -std-compile-opts -f glibj.zip.bc -o glibj-optimized.zip.bc |
| |
| glibj.zip.s : glibj-optimized.zip.bc |
| $(Echo) "Compiling glibj.zip.bc to native" |
| $(Verb) $(LLC) -relocation-model=pic -disable-fp-elim -f glibj.zip.bc -o glibj.zip.s |
| |
| $(ObjDir)/%.lo $(ObjDir)/%.o: %.s $(ObjDir)/.dir $(BUILT_SOURCES) |
| $(Echo) "Compiling $*.s for $(BuildMode) build " $(PIC_FLAG) |
| $(Verb) $(MAYBE_PIC_Compile.CXX) $(DEPEND_OPTIONS) $< -o $(ObjDir)/$*.o |
| |
| clean-local:: |
| $(Verb) $(RM) -f glibj.zip.s glibj.zip.bc glibj-optimized.zip.bc |
| endif |