X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.rules;h=b8006a2a1f748f474cf06d28fe8c2161f827e77e;hb=a3ec5d6eccb0fa3746050a3d3c739bd9718b6bd0;hp=0f2be6503b870ac7e3c176add9cf7903b7aca7e7;hpb=05a3e8aa4d77c59e4adffaf65d17ff44550d4997;p=oota-llvm.git diff --git a/Makefile.rules b/Makefile.rules index 0f2be6503b8..b8006a2a1f7 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -159,7 +159,7 @@ endif #------------------------------------------------------------------------ ifneq ($(PROJ_OBJ_DIR),$(PROJ_SRC_DIR)) -Makefile: $(PROJ_SRC_DIR)/Makefile +Makefile: $(PROJ_SRC_DIR)/Makefile $(ExtraMakefiles) $(Echo) "Updating Makefile" $(Verb) $(MKDIR) $(@D) $(Verb) $(CP) -f $< $@ @@ -171,11 +171,11 @@ $(PROJ_OBJ_DIR)/Makefile% : $(PROJ_SRC_DIR)/Makefile% @case '$?' in \ *Makefile.rules) ;; \ *.in) ;; \ - *) $(Echo) "Updating $(@F)" ; \ + *) $(EchoCmd) "Updating $(@F)" ; \ $(MKDIR) $(@D) ; \ $(CP) -f $< $@ ;; \ esac - + endif #------------------------------------------------------------------------ @@ -226,7 +226,7 @@ else # Darwin requires -fstrict-aliasing to be explicitly enabled. ifeq ($(OS),Darwin) - EXTRA_OPTIONS += -fstrict-aliasing + EXTRA_OPTIONS += -fstrict-aliasing -Wstrict-aliasing endif CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer) @@ -451,15 +451,18 @@ ifdef UNIVERSAL DISABLE_AUTO_DEPENDENCIES=1 endif +ifeq ($(OS),SunOS) +CPP.BaseFlags += -include llvm/System/Solaris.h +endif + LD.Flags += -L$(LibDir) -L$(LLVMLibDir) CPP.BaseFlags += -D_GNU_SOURCE -D__STDC_LIMIT_MACROS # All -I flags should go here, so that they don't confuse llvm-config. -CPP.Flags += -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \ - -I$(PROJ_OBJ_ROOT)/include \ - -I$(PROJ_SRC_ROOT)/include \ - -I$(LLVM_OBJ_ROOT)/include \ - -I$(LLVM_SRC_ROOT)/include \ - $(CPP.BaseFlags) +CPP.Flags += $(sort -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \ + $(patsubst %,-I%/include,\ + $(PROJ_OBJ_ROOT) $(PROJ_SRC_ROOT) \ + $(LLVM_OBJ_ROOT) $(LLVM_SRC_ROOT))) \ + $(CPP.BaseFlags) Compile.C = $(CC) $(CPP.Flags) $(C.Flags) $(CompileCommonOpts) -c LTCompile.C = $(LIBTOOL) $(LibTool.Flags) --mode=compile $(Compile.C) @@ -702,7 +705,7 @@ ifdef LINK_COMPONENTS $(LLVM_CONFIG): @echo "*** llvm-config doesn't exist - rebuilding it." @$(MAKE) -C $(PROJ_OBJ_ROOT)/tools/llvm-config - + $(ToolDir)/$(strip $(TOOLNAME))$(EXEEXT): $(LLVM_CONFIG) ProjLibsOptions += $(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS)) @@ -729,7 +732,7 @@ $(warning Modules require llvm-gcc but no llvm-gcc is available ****) else Module := $(LibDir)/$(MODULE_NAME).bc -LinkModule := $(LLVMLD) -L$(CFERuntimeLibDir) +LinkModule := $(LLVMLD) -L$(CFERuntimeLibDir) -r ifdef EXPORTED_SYMBOL_FILE @@ -806,7 +809,7 @@ SharedLibKindMessage := "Loadable Module" else SharedLibKindMessage := "Shared Library" endif -$(LibName.LA): $(ObjectsLO) $(LibDir)/.dir +$(LibName.LA): $(ObjectsLO) $(ProjLibsPaths) $(LLVMLibsPaths) $(LibDir)/.dir $(Echo) Linking $(BuildMode) $(SharedLibKindMessage) \ $(LIBRARYNAME)$(SHLIBEXT) $(Verb) $(LTLink) -o $@ $(ObjectsLO) $(ProjLibsOptions) \ @@ -1087,7 +1090,7 @@ ifndef DISABLE_AUTO_DEPENDENCIES DEPEND_OPTIONS = -MMD -MP -MF "$(ObjDir)/$*.d.tmp" \ -MT "$(ObjDir)/$*.lo" -MT "$(ObjDir)/$*.o" -MT "$(ObjDir)/$*.d" - + # If the build succeeded, move the dependency file over. If it failed, put an # empty file there. DEPEND_MOVEFILE = then $(MV) -f "$(ObjDir)/$*.d.tmp" "$(ObjDir)/$*.d"; \ @@ -1343,8 +1346,8 @@ $(PROJ_SRC_DIR)/%.cpp: $(PROJ_SRC_DIR)/%.l $(SED) 's/void \*yy_flex_realloc/inline void *yy_flex_realloc/' | \ $(SED) 's/#define YY_BUF_SIZE 16384/#define YY_BUF_SIZE (16384*64)/' \ > $(PROJ_SRC_DIR)/$*.cpp - -# IFF the .l file has changed since it was last checked into CVS, copy the .l + +# IFF the .l file has changed since it was last checked into SVN, copy the .l # file to .l.cvs and the generated .cpp file to .cpp.cvs. We use this mechanism # so that people without flex can build LLVM by copying the .cvs files to the # source location and building them. @@ -1386,7 +1389,7 @@ $(PROJ_SRC_DIR)/%.cpp $(PROJ_SRC_DIR)/%.h : $(PROJ_SRC_DIR)/%.y $(Verb) $(MV) -f $*.tab.c $(PROJ_SRC_DIR)/$*.cpp $(Verb) $(MV) -f $*.tab.h $(PROJ_SRC_DIR)/$*.h -# IFF the .y file has changed since it was last checked into CVS, copy the .y +# IFF the .y file has changed since it was last checked into SVN, copy the .y # file to .y.cvs and the generated .cpp/.h file to .cpp.cvs/.h.cvs. We use this # mechanism so that people without flex can build LLVM by copying the .cvs files # to the source location and building them. @@ -1739,10 +1742,17 @@ endif endif check-line-length: - @egrep -n '.{81}' $(Sources) + @echo searching for overlength lines in files: $(Sources) + @echo + @echo + @egrep -n '.{81}' $(Sources) /dev/null check-for-tabs: - @egrep -n ' ' $(Sources) + @echo searching for tabs in files: $(Sources) + @echo + @echo + @egrep -n ' ' $(Sources) /dev/null + check-footprint: @ls -l $(LibDir) | awk '\ BEGIN { sum = 0; } \