diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-01-18 06:49:16 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-01-18 06:49:16 +0000 |
commit | ba990c4981acfa55893e809e5c72de2800e6bf0c (patch) | |
tree | c2a58028832233608dba9739db5ef7ce8ea5bfda /Makefile | |
parent | 6db90e61b58ae72b07faf3272fa9f15d4ad9b3bc (diff) | |
download | compiler-rt-ba990c4981acfa55893e809e5c72de2800e6bf0c.tar.gz |
Remove old build logic, this is going to be replaced by a more configurable mechanism shortly.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@93719 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 155 |
1 files changed, 0 insertions, 155 deletions
@@ -68,137 +68,6 @@ clean:: test: cd test/Unit && ./test -# Template: Config_template Config -# -# This template is used once per Config at the top-level. -define Config_template -$(call Set,ActiveConfig,$1) -$(call Set,ActiveObjPath,$(ProjObjRoot)/$(ActiveConfig)) -$(call Set,ActiveLibGen,$(ActiveObjPath)/libcompiler_rt.Generic.a) -$(call Set,ActiveLibOpt,$(ActiveObjPath)/libcompiler_rt.Optimized.a) - -# The sublibraries to use for a generic version. -$(call Set,GenericInputs,$(foreach arch,$(TargetArchs),$(ActiveObjPath)/$(arch)/libcompiler_rt.Generic.a)) -# The sublibraries to use for an optimized version. -$(call Set,OptimizedInputs,$(foreach arch,$(TargetArchs),$(ActiveObjPath)/$(arch)/libcompiler_rt.Optimized.a)) - -# Provide top-level fat archive targets. We make sure to not try to lipo if only -# building one target arch. -$(ActiveLibGen): $(GenericInputs) $(ActiveObjPath)/.dir - $(Summary) " UNIVERSAL: $(ActiveConfig): $$@" - -$(Verb) $(RM) $$@ - $(if $(TargetArch), \ - $(Verb) $(CP) $(GenericInputs) $$@, \ - $(Verb) $(Lipo) -create -output $$@ $(GenericInputs)) -$(ActiveLibOpt): $(OptimizedInputs) $(ActiveObjPath)/.dir - $(Summary) " UNIVERSAL: $(ActiveConfig): $$@" - -$(Verb) $(RM) $$@ - $(if $(TargetArch), \ - $(Verb) $(CP) $(GenericInputs) $$@, \ - $(Verb) $(Lipo) -create -output $$@ $(OptimizedInputs)) -.PRECIOUS: $(ActiveObjPath)/.dir - -# Add to default "alias" target. -$(ActiveConfig):: $(ActiveLibGen) $(ActiveLibOpt) - -# Add to target lists. -all:: $(ActiveConfig) $(ActiveLibGen) $(ActiveLibOpt) - -# Remove entire config directory on clean. -clean:: $(ActiveObjPath)/.remove -endef - -# Template: CNA_template Config Arch -# -# This template is used once per Config/Arch at the top-level. -define CNA_template -$(call Set,ActiveConfig,$1) -$(call Set,ActiveArch,$2) -$(call Set,ActiveObjPath,$(ProjObjRoot)/$(ActiveConfig)/$(ActiveArch)) -$(call Set,ActiveLibGen,$(ActiveObjPath)/libcompiler_rt.Generic.a) -$(call Set,ActiveLibOpt,$(ActiveObjPath)/libcompiler_rt.Optimized.a) - -# Initialize inputs lists. This are extended by the CNA_subdir template. The one -# tricky bit is that we need to use these quoted, because they are not complete -# until the entire makefile has been processed. -$(call Set,GenericInputs.$(ActiveConfig).$(ActiveArch),) -$(call Set,OptimizedInputs.$(ActiveConfig).$(ActiveArch),) -# Final.Inputs is created once we have loaded all the subdirectories -# and know what the correct inputs are. - -# Provide top-level archive targets. -$(ActiveLibGen): $(ActiveObjPath)/.dir - $(Summary) " ARCHIVE: $(ActiveConfig)/$(ActiveArch): $$@" - -$(Verb) $(RM) $$@ - $(Verb) $(Archive) $$@ $$(Generic.Inputs.$(ActiveConfig).$(ActiveArch)) - $(Verb) $(Ranlib) $$@ -# FIXME: The dependency on ActiveLibGen is a hack, this picks up the -# dependencies on the generic inputs. -$(ActiveLibOpt): $(ActiveLibGen) $(ActiveObjPath)/.dir - $(Summary) " ARCHIVE: $(ActiveConfig)/$(ActiveArch): $$@" - -$(Verb) $(RM) $$@ - $(Verb) $(Archive) $$@ $$(Final.Inputs.$(ActiveConfig).$(ActiveArch)) - $(Verb) $(Ranlib) $$@ -.PRECIOUS: $(ActiveObjPath)/.dir - -# Provide some default "alias" targets. -$(ActiveConfig):: $(ActiveLibGen) $(ActiveLibOpt) -$(ActiveArch):: $(ActiveLibGen) $(ActiveLibOpt) -$(ActiveConfig)-$(ActiveArch):: $(ActiveLibGen) $(ActiveLibOpt) -endef - -$(foreach config,$(Configs), \ - $(foreach arch,$(Archs), \ - $(eval $(call CNA_template,$(config),$(arch))))) - -$(foreach config,$(Configs), \ - $(eval $(call Config_template,$(config)))) - -### -# How to build things. - -# Define rules for building on each configuration & architecture. This is not -# exactly obvious, but variables inside the template are being expanded during -# the make processing, so automatic variables must be quoted and normal -# assignment cannot be used. - -# Template: CNA_template Config Arch Dir -# Uses: GetArgs, Dependencies, ObjNames -# -# This template is used once per Config/Arch/Dir. -define CNA_subdir_template -$(call Set,ActiveConfig,$1) -$(call Set,ActiveArch,$2) -$(call Set,ActiveDir,$3) -$(call Set,ActiveSrcPath,$(ProjSrcRoot)/$(ActiveDir)) -$(call Set,ActiveObjPath,$(ProjObjRoot)/$(ActiveDir)/$(ActiveConfig)/$(ActiveArch)) - -$(call Set,ActiveFlags,$(call GetArgs,$(ActiveConfig),$(ActiveArch))) -$(call Set,ActiveObjects,$(ObjNames:%=$(ActiveObjPath)/%)) - -# Add to the input list for the appropriate library and update the dependency. -$(call Append,$(Implementation).Inputs.$(ActiveConfig).$(ActiveArch),$(ActiveObjects)) -$(ProjObjRoot)/$(ActiveConfig)/$(ActiveArch)/libcompiler_rt.$(Implementation).a: $(ActiveObjects) - -$(ActiveObjPath)/%.o: $(ActiveSrcPath)/%.s $(Dependencies) $(ActiveObjPath)/.dir - $(Summary) " ASSEMBLE: $(ActiveConfig)/$(ActiveArch): $$<" - $(Verb) $(CC) -c -o $$@ $(ActiveFlags) $$< -.PRECIOUS: $(ActiveObjPath)/.dir - -$(ActiveObjPath)/%.o: $(ActiveSrcPath)/%.S $(Dependencies) $(ActiveObjPath)/.dir - $(Summary) " ASSEMBLE: $(ActiveConfig)/$(ActiveArch): $$<" - $(Verb) $(CC) -c -o $$@ $(ActiveFlags) $$< -.PRECIOUS: $(ActiveObjPath)/.dir - -$(ActiveObjPath)/%.o: $(ActiveSrcPath)/%.c $(Dependencies) $(ActiveObjPath)/.dir - $(Summary) " COMPILE: $(ActiveConfig)/$(ActiveArch): $$<" - $(Verb) $(CC) -c -o $$@ $(ActiveFlags) $$< -.PRECIOUS: $(ActiveObjPath)/.dir - -# Remove entire config directory on clean. -clean:: $(ProjObjRoot)/$(ActiveDir)/$(ActiveConfig)/.remove -endef - ### # Directory handling magic. @@ -217,30 +86,6 @@ endef Dir := . include make/subdir.mk - -### -# Determine the actual inputs for an optimized library. - -# Template: Final_CNA_template Config Arch -# Uses: GetArgs, Dependencies, ObjNames -# -# This template is used once per Config/Arch. -define Final_CNA_template -$(call Set,ActiveConfig,$1) -$(call Set,ActiveArch,$2) - -$(call Set,Final.Inputs.$(ActiveConfig).$(ActiveArch),\ - $(shell make/filter-inputs \ - $(Optimized.Inputs.$(ActiveConfig).$(ActiveArch)) \ - $(Generic.Inputs.$(ActiveConfig).$(ActiveArch)))) -endef - -$(foreach config,$(Configs), \ - $(foreach arch,$(Archs), \ - $(eval $(call Final_CNA_template,$(config),$(arch))))) - -### - include make/lib_info.mk include make/lib_util.mk |