#--------------------------------------------------------------------
# Define the various target sets
#--------------------------------------------------------------------
-RecursiveTargets := all clean clean-all check install uninstall
+RecursiveTargets := all clean clean-all install uninstall install-bytecode
LocalTargets := all-local clean-local clean-all-local check-local \
- install-local printvars uninstall-local
+ install-local printvars uninstall-local \
+ install-bytecode-local
TopLevelTargets := dist dist-check dist-clean tags dist-gzip dist-bzip2 \
dist-zip
UserTargets := $(RecursiveTargets) $(LocalTargets) $(TopLevelTargets)
# PRECONDITIONS: that which must be built/checked first
################################################################################
-SrcMakefiles := $(filter %Makefile %Makefile.tests %Makefile.JIT,\
+SrcMakefiles := $(filter %Makefile %Makefile.tests,\
$(wildcard $(BUILD_SRC_DIR)/Makefile*))
ObjMakefiles := $(subst $(BUILD_SRC_DIR),$(BUILD_OBJ_DIR),$(SrcMakefiles))
ConfigureScript := $(LLVM_SRC_ROOT)/configure
uninstall:: uninstall-local
check-local:: all-local
install-local:: all-local
+install-bytecode:: install-bytecode-local
###############################################################################
# VARIABLES: Set up various variables based on configuration data
SubDirs += $(PARALLEL_DIRS)
-# Unfortunately, this list must be maintained if new
-# recursive targets are added.
+# Unfortunately, this list must be maintained if new recursive targets are added
all :: $(addsuffix /.makeall ,$(PARALLEL_DIRS))
clean :: $(addsuffix /.makeclean ,$(PARALLEL_DIRS))
clean-all:: $(addsuffix /.makeclean-all,$(PARALLEL_DIRS))
-check :: $(addsuffix /.makecheck ,$(PARALLEL_DIRS))
install :: $(addsuffix /.makeinstall ,$(PARALLEL_DIRS))
uninstall:: $(addsuffix /.makeuninstall,$(PARALLEL_DIRS))
+install-bytecode :: $(addsuffix /.makeinstall-bytecode,$(PARALLEL_DIRS))
Parallel_Targets := $(foreach T,$(RecursiveTargets),%/.make$(T))
#---------------------------------------------------------
ifdef BYTECODE_LIBRARY
+# make the C and C++ compilers strip debug info out of bytecode libraries.
+BCCompile.C += -Wa,-strip-debug
+BCCompile.CXX += -Wa,-strip-debug
+
all-local:: $(LibName.BCA)
ifdef EXPORTED_SYMBOL_FILE
$(LibName.BCA): $(BUILT_SOURCES) $(ObjectsBC) $(LibDir)/.dir $(GCCLD)
$(Echo) Building $(BuildMode) Bytecode Archive $(notdir $@) \
"(internalize)"
- $(BCLinkLib) -o $(ObjDir)/$(LIBRARYNAME).o $(ObjectsBC)
+ $(Verb) $(BCLinkLib) -o $(ObjDir)/$(LIBRARYNAME).o $(ObjectsBC)
$(Verb) $(LArchive) $@ $(ObjDir)/$(LIBRARYNAME).o
else
$(LibName.BCA): $(BUILT_SOURCES) $(ObjectsBC) $(LibDir)/.dir $(GCCLD)
DestBytecodeLib = $(bytecode_libdir)/lib$(LIBRARYNAME).a
-install-bytecode: $(DestBytecodeLib)
+install-bytecode-local:: $(DestBytecodeLib)
install-local:: $(DestBytecodeLib)