mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-27 05:10:41 +00:00
Add ability to make a single bytecode module from others
llvm-svn: 18523
This commit is contained in:
parent
6481ce0dce
commit
29771e7028
@ -465,6 +465,47 @@ endif
|
||||
# Library Build Rules: Four ways to build a library
|
||||
###############################################################################
|
||||
|
||||
#---------------------------------------------------------
|
||||
# Bytecode Module Targets:
|
||||
# If the user set MODULE_NAME then they want to build a
|
||||
# bytecode module from the sources. We compile all the
|
||||
# sources and link it together into a single bytecode
|
||||
# module.
|
||||
#---------------------------------------------------------
|
||||
|
||||
ifdef MODULE_NAME
|
||||
|
||||
Module := $(LibDir)/$(MODULE_NAME).bc
|
||||
LinkModule := $(LLVMGCC) -shared -nostdlib
|
||||
|
||||
ifdef EXPORTED_SYMBOL_FILE
|
||||
LinkMOdule += -Xlinker -internalize-public-api-file=$(EXPORTED_SYMBOL_FILE)
|
||||
endif
|
||||
|
||||
$(Module): $(BUILT_SOURCES) $(ObjectsBC) $(LibDir)/.dir $(GCCLD)
|
||||
$(Echo) Building $(BuildMOde) Bytecode Module $(notdir $@)
|
||||
$(Verb) $(LinkModule) -o $@ $(ObjectsBC)
|
||||
|
||||
all-local:: $(Module)
|
||||
|
||||
clean-local::
|
||||
ifneq ($(strip $(Module)),)
|
||||
-$(Verb) $(RM) -f $(Module)
|
||||
endif
|
||||
|
||||
DestModule := $(bytecode_libdir)/$(MODULE_NAME).bc
|
||||
|
||||
install-local:: $(DestModule)
|
||||
|
||||
$(DestModule): $(bytecode_libdir) $(Module)
|
||||
$(Echo) Installing $(BuildMode) Bytecode Module $(DestModule)
|
||||
$(Verb) $(INSTALL) $(Module) $@
|
||||
|
||||
uninstall-local::
|
||||
$(Echo) Uninstalling $(BuildMode) Bytecode Module $(DestModule)
|
||||
-$(Verb) $(RM) -f $(DestModule)
|
||||
|
||||
endif
|
||||
|
||||
# if we're building a library ...
|
||||
ifdef LIBRARYNAME
|
||||
@ -1299,6 +1340,7 @@ printvars::
|
||||
$(Echo) "LibDir : " '$(LibDir)'
|
||||
$(Echo) "ToolDir : " '$(ToolDir)'
|
||||
$(Echo) "ExmplDir : " '$(ExmplDir)'
|
||||
$(Echo) "Sources : " '$(Sources)'
|
||||
$(Echo) "TDFiles : " '$(TDFiles)'
|
||||
$(Echo) "INCFiles : " '$(INCFiles)'
|
||||
$(Echo) "Compile.CXX : " '$(Compile.CXX)'
|
||||
@ -1306,3 +1348,4 @@ printvars::
|
||||
$(Echo) "Archive : " '$(Archive)'
|
||||
$(Echo) "YaccFiles : " '$(YaccFiles)'
|
||||
$(Echo) "LexFiles : " '$(LexFiles)'
|
||||
$(Echo) "Module : " '$(Module)'
|
||||
|
Loading…
Reference in New Issue
Block a user