X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.rules;h=2b9b7fa1fc8b8d536745f0eb93300e187404d2f8;hb=908049b7b6d089dde6f75f6ac47034150c948e7e;hp=f80cc25489855c82ea1be4db177b5d987d0e7913;hpb=166f45e8d70736575af54709848249fe3025ba79;p=oota-llvm.git diff --git a/Makefile.rules b/Makefile.rules index f80cc254898..2b9b7fa1fc8 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -255,6 +255,11 @@ else C.Flags += -D_DEBUG endif +ifeq ($(ENABLE_PIC),1) + CXX.Flags += -fPIC + C.Flags += -fPIC +endif + CXX.Flags += $(CXXFLAGS) -Woverloaded-virtual C.Flags += $(CFLAGS) CPP.BaseFlags += $(CPPFLAGS) @@ -264,8 +269,16 @@ LibTool.Flags := --tag=CXX # Make Floating point IEEE compliant on Alpha. ifeq ($(ARCH),Alpha) - CXX.Flags += -mieee -fPIC - CPP.BaseFlags += -mieee -fPIC + CXX.Flags += -mieee + CPP.BaseFlags += -mieee +ifeq ($(ENABLE_PIC),0) + CXX.Flags += -fPIC + CPP.BaseFlags += -fPIC +endif +endif + +ifeq ($(ARCH),Alpha) + LD.Flags += -Wl,--no-relax endif #-------------------------------------------------------------------- @@ -320,9 +333,20 @@ endif ifndef LBUGPOINT LBUGPOINT := $(LLVMToolDir)/bugpoint$(EXEEXT) endif - +ifndef LUPGRADE +LUPGRADE := $(LLVMToolDir)/llvm-upgrade$(EXEEXT) +endif +ifeq ($(LLVMGCC_MAJVERS),3) +UPGRADE_MSG = $(Echo) "Upgrading $(1) assembly to latest." +UPGRADE_LL = $(Verb)$(LUPGRADE) $(1) -o $(1).up.tmp -f ; $(MV) $(1).up.tmp $(1) LLVMGCCWITHPATH := PATH="$(LLVMToolDir):$(PATH)" $(LLVMGCC) LLVMGXXWITHPATH := PATH="$(LLVMToolDir):$(PATH)" $(LLVMGXX) +else +UPGRADE_MSG = +UPGRADE_LL = +LLVMGCCWITHPATH := $(LLVMGCC) +LLVMGXXWITHPATH := $(LLVMGXX) +endif #-------------------------------------------------------------------- # Adjust to user's request @@ -1022,26 +1046,32 @@ $(ObjDir)/%.lo $(ObjDir)/%.o: %.c $(ObjDir)/.dir $(BUILT_SOURCES) # Create .bc files in the ObjDir directory from .cpp .cc and .c files... #--------------------------------------------------------- -$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGXX) $(Echo) "Compiling $*.cpp for $(BuildMode) build (bytecode)" $(Verb) if $(BCCompile.CXX) -MD -MT $@ -MP -MF "$(ObjDir)/$*.BCCXXd" \ $< -o $@ -S -emit-llvm ; \ then $(MV) -f "$(ObjDir)/$*.BCCXXd" "$(ObjDir)/$*.d"; \ else $(RM) -f "$(ObjDir)/$*.BCCXXd"; exit 1; fi + $(call UPGRADE_MSG,$@) + $(call UPGRADE_LL,$@) -$(ObjDir)/%.ll: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGXX) $(Echo) "Compiling $*.cc for $(BuildMode) build (bytecode)" $(Verb) if $(BCCompile.CXX) -MD -MT $@ -MP -MF "$(ObjDir)/$*.BCCXXd" \ $< -o $@ -S -emit-llvm ; \ then $(MV) -f "$(ObjDir)/$*.BCCXXd" "$(ObjDir)/$*.d"; \ else $(RM) -f "$(ObjDir)/$*.BCCXXd"; exit 1; fi + $(call UPGRADE_MSG,$@) + $(call UPGRADE_LL,$@) -$(ObjDir)/%.ll: %.c $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.c $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGCC) $(Echo) "Compiling $*.c for $(BuildMode) build (bytecode)" $(Verb) if $(BCCompile.C) -MD -MT $@ -MP -MF "$(ObjDir)/$*.BCCd" \ $< -o $@ -S -emit-llvm ; \ then $(MV) -f "$(ObjDir)/$*.BCCd" "$(ObjDir)/$*.d"; \ else $(RM) -f "$(ObjDir)/$*.BCCd"; exit 1; fi + $(call UPGRADE_MSG,$@) + $(call UPGRADE_LL,$@) # Provide alternate rule sets if dependencies are disabled else @@ -1058,17 +1088,23 @@ $(ObjDir)/%.lo $(ObjDir)/%.o: %.c $(ObjDir)/.dir $(BUILT_SOURCES) $(Echo) "Compiling $*.c for $(BuildMode) build" $(PIC_FLAG) $(MAYBE_PIC_Compile.C) $< -o $@ -$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.cpp $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGXX) $(Echo) "Compiling $*.cpp for $(BuildMode) build (bytecode)" $(BCCompile.CXX) $< -o $@ -S -emit-llvm + $(call UPGRADE_MSG,$@) + $(call UPGRADE_LL,$@) -$(ObjDir)/%.ll: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGXX) $(Echo) "Compiling $*.cc for $(BuildMode) build (bytecode)" $(BCCompile.CXX) $< -o $@ -S -emit-llvm + $(call UPGRADE_MSG,$@) + $(call UPGRADE_LL,$@) -$(ObjDir)/%.ll: %.c $(ObjDir)/.dir $(BUILT_SOURCES) +$(ObjDir)/%.ll: %.c $(ObjDir)/.dir $(BUILT_SOURCES) $(LLVMGCC) $(Echo) "Compiling $*.c for $(BuildMode) build (bytecode)" $(BCCompile.C) $< -o $@ -S -emit-llvm + $(call UPGRADE_MSG,@) + $(call UPGRADE_LL,@) endif @@ -1082,7 +1118,7 @@ $(BuildMode)/%.ii: %.cc $(ObjDir)/.dir $(BUILT_SOURCES) $(Echo) "Compiling $*.cc for $(BuildMode) build to .ii file" $(Verb) $(Preprocess.CXX) $< -o $@ - $(BuildMode)/%.i: %.c $(ObjDir)/.dir $(BUILT_SOURCES) +$(BuildMode)/%.i: %.c $(ObjDir)/.dir $(BUILT_SOURCES) $(Echo) "Compiling $*.c for $(BuildMode) build to .i file" $(Verb) $(Preprocess.C) $< -o $@