X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=Makefile.rules;h=a67aef7c97aa161dd48fe1d51035293bf7f071f9;hp=c8c971f6b2810e5aa3d7942d0c7af35de5c85c22;hb=c63a0fe41b81bac1ea6e1a053d2a8939e02edf17;hpb=4cd064b8e86f3d52e9b78e329059bdfffd15d52e diff --git a/Makefile.rules b/Makefile.rules index c8c971f6b28..a67aef7c97a 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -486,6 +486,8 @@ endif ObjRootDir := $(PROJ_OBJ_DIR)/$(BuildMode) ObjDir := $(ObjRootDir) LibDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib +LibexecDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/libexec +ShareDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/share ToolDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/bin ExmplDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/examples LLVMLibDir := $(LLVM_OBJ_ROOT)/$(BuildMode)/lib @@ -631,6 +633,9 @@ ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) ifneq ($(HOST_OS),Darwin) ifneq ($(HOST_ARCH),Mips) CXX.Flags += -ffunction-sections -fdata-sections + ifeq ($(HOST_OS),SunOS) + CXX.Flags += -falign-functions=8 + endif endif endif endif @@ -638,8 +643,12 @@ ifndef NO_DEAD_STRIP ifeq ($(HOST_OS),Darwin) LD.Flags += -Wl,-dead_strip else - ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) - LD.Flags += -Wl,--gc-sections + ifeq ($(HOST_OS),SunOS) + LD.Flags += -Wl,-z -Wl,discard-unused=sections + else + ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) + LD.Flags += -Wl,--gc-sections + endif endif endif endif @@ -679,7 +688,7 @@ endif CompileCommonOpts += -Wall -W -Wno-unused-parameter -Wwrite-strings \ $(EXTRA_OPTIONS) $(COVERED_SWITCH_DEFAULT) \ $(NO_UNINITIALIZED) $(NO_MAYBE_UNINITIALIZED) \ - $(NO_MISSING_FIELD_INITIALIZERS) $(NO_COMMENT) + $(MISSING_FIELD_INITIALIZERS) $(NO_COMMENT) # Enable cast-qual for C++; the workaround is to use const_cast. CXX.Flags += -Wcast-qual @@ -850,6 +859,7 @@ $(DESTDIR)$(PROJ_bindir) $(DESTDIR)$(PROJ_libdir) $(DESTDIR)$(PROJ_includedir) $ .PRECIOUS: $(LibDir)/.dir $(ToolDir)/.dir $(ExmplDir)/.dir .PRECIOUS: $(LLVMLibDir)/.dir $(LLVMToolDir)/.dir $(LLVMExmplDir)/.dir +.PRECIOUS: $(LibexecDir)/.dir $(ShareDir)/.dir #--------------------------------------------------------- # Collect the object directories (as there may be more @@ -2137,6 +2147,8 @@ printvars:: $(Echo) "SrcMakefiles : " '$(SrcMakefiles)' $(Echo) "ObjDir : " '$(ObjDir)' $(Echo) "LibDir : " '$(LibDir)' + $(Echo) "LibexecDir : " '$(LibexecDir)' + $(Echo) "ShareDir : " '$(ShareDir)' $(Echo) "ToolDir : " '$(ToolDir)' $(Echo) "ExmplDir : " '$(ExmplDir)' $(Echo) "Sources : " '$(Sources)'