
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 -o $@


clean-local::
	$(Verb) $(RM) -f LLVMRuntime.inc LLVMRuntime.gen.ll LLVMRuntime.bc

endif

ifdef VMKIT_ASSEMBLY

.PRECIOUS: LLVMAssembly.s

LLVMAssembly.o : $(LLVMAS) $(LLC) $(VMKIT_ASSEMBLY)

LLVMAssembly.gen.ll : $(VMKIT_ASSEMBLY)
	$(Verb) cat $(VMKIT_ASSEMBLY) > LLVMAssembly.gen.ll

LLVMAssembly.s : LLVMAssembly.gen.ll
	$(Echo) "Building LLVM assembly with $(VMKIT_ASSEMBLY)"
	$(Verb) $(LLVMAS) -f $(<F) -o - | $(LLC) -o $@

$(ObjDir)/%.lo $(ObjDir)/%.o: %.s $(ObjDir)/.dir $(BUILT_SOURCES)
	$(Echo) "Compiling $*.s for $(BuildMode) build " $(PIC_FLAG)
	$(Verb) $(GAS) $< -o $(ObjDir)/$*.o

clean-local::
	$(Verb) $(RM) -f LLVMAssembly.s LLVMAssembly.bc LLVMAssembly.gen.ll

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 glibj-optimized.zip.bc -o glibj.zip.s

$(ObjDir)/%.o: %.s $(ObjDir)/.dir $(BUILT_SOURCES)
	$(Echo) "Compiling $*.s for $(BuildMode) build" $(PIC_FLAG)
	$(Verb) $(Compile.C) $< -o $(ObjDir)/$*.o

clean-local::
	$(Verb) $(RM) -f glibj.zip.s glibj.zip.bc glibj-optimized.zip.bc
endif



ifdef VMKIT_BUILD_ARCHIVE

LibName.A := $(LibDir)/lib$(VMKIT_LIBRARYNAME).a

all-local:: $(LibName.A)

$(LibName.A): $(ProjLibsPaths) $(LibDir)/.dir
	$(Echo) Building $(BuildMode) Archive Library $(notdir $@)
	-$(Verb) $(RM) -f $@
	$(Verb) $(Archive) $@ $(ProjLibsPaths)
	$(Verb) $(Ranlib) $@

clean-local::
ifneq ($(strip $(LibName.A)),)
	-$(Verb) $(RM) -f $(LibName.A)
endif

endif



ifdef MODULESNAME
ifdef USEDMODULES

ProjLibsPaths   := $(addprefix $(LibDir)/,$(USEDMODULES))

$(MODULESNAME).bc : $(ProjLibsPaths)
	$(Echo) Building $(BuildMode) Bytecode Module $(notdir $@)
	$(Verb) $(LLVMLD) -link-as-library -o $@ $(ProjLibsPaths)

$(MODULESNAME).s : $(MODULESNAME).bc
	$(Echo) Building $(BuildMode) Assembly file $(notdir $@)
	$(Verb) $(LOPT) -load=$(LibDir)/StaticGCPass$(SHLIBEXT) -std-compile-opts -StaticGCPass -f $(MODULESNAME).bc -o vmkitoptimized.bc
	$(Verb) $(LLC) -disable-fp-elim vmkitoptimized.bc -o $(MODULESNAME).s

$(ObjDir)/%.o: %.s $(ObjDir)/.dir $(BUILT_SOURCES)
	$(Echo) "Compiling $*.s for $(BuildMode) build" $(PIC_FLAG)
	$(Verb) $(Compile.C) $< -o $(ObjDir)/$*.o

clean-local::
	$(Verb) $(RM) -f vmkitoptimized.bc $(MODULESNAME).bc $(MODULESNAME).s

endif
endif

ifdef RUN_ANT
ifdef ANT

ifneq ($(DISABLE_MMTK_COMPILE), 1)
  ADDITIONAL_ARGS := -load-bc=$(LibDir)/MMTKRuntime.bc 

all:: $(LibDir)/FinalMMTk.bc

$(LibDir)/FinalMMTk.bc: $(JARNAME).jar $(VMJC) $(LibDir)/MMTKAlloc.bc $(LibDir)/MMTKMagic$(SHLIBEXT) $(LibDir)/MMTKRuntime.bc
	$(Echo) Building $(BuildMode) FinalMMTk $(notdir $@)
	$(Verb) $(LOPT) -load=$(LibDir)/JITGCPass$(SHLIBEXT) -std-compile-opts -JITGCPass -f $(LibDir)/MMTKAlloc.bc -o $(LibDir)/MMTKAlloc.bc
	$(Verb) $(VMJC) -std-compile-opts $(ADDITIONAL_ARGS) -load=$(LibDir)/MMTKMagic$(SHLIBEXT) -LowerMagic $(PROJ_OBJ_ROOT)/mmtk/java/$(JARNAME).jar -disable-exceptions -disable-cooperativegc -with-clinit=org/mmtk/vm/VM,org/mmtk/utility/*,org/mmtk/policy/*,org/j3/config/* -Dmmtk.hostjvm=org.j3.mmtk.Factory -o $(JARNAME).bc -Dmmtk.properties=$(PROJ_SRC_ROOT)/mmtk/java/vmkit.properties -disable-stubs -assume-compiled -llvm-lazy
	$(Verb) $(LOPT) -load=$(LibDir)/MMTKMagic$(SHLIBEXT) -std-compile-opts -LowerJavaRT -f $(JARNAME).bc -o $(JARNAME)-optimized.bc
	$(Verb) $(LLVMLD) -r -o $(LibDir)/FinalMMTk.bc $(LibDir)/MMTKAlloc.bc $(JARNAME)-optimized.bc $(LibDir)/MMTKRuntime.bc
	$(Verb) $(LOPT) -std-compile-opts $(LibDir)/FinalMMTk.bc -o $(LibDir)/FinalMMTk.bc
	$(Verb) $(LLC) -march=cpp -cppgen=function -cppfor=gcmalloc $(LibDir)/FinalMMTk.bc -o $(PROJ_SRC_ROOT)/mmtk/inline/MMTkInline.inc

$(JARNAME).jar: $(shell find $(PROJ_SRC_ROOT)/mmtk/java/src -type f -name "*.java")
	$(Echo) Building $(BuildMode) $(JARNAME).jar $(notdir $@)
	$(Verb) $(ANT) -buildfile $(PROJ_OBJ_ROOT)/mmtk/java/build.xml

endif

endif
clean-local::
	$(Verb) $(RM) -rf classes $(JARNAME).jar $(JARNAME).bc $(JARNAME)-optimized.bc
endif
