X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=Makefile.rules;h=27effd7f52458ff465fcf4fa274870f04d574caa;hp=9152f8edc60327c5c5bc8ff06740b9e2f8a50263;hb=11b2dbd5f865c254c220a6355a4f436aad802337;hpb=e0f9ac6d45d2e6d66e5cc9dd1e56e4bbefb24efe diff --git a/Makefile.rules b/Makefile.rules index 9152f8edc60..27effd7f524 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -1,4 +1,4 @@ -#===-- Makefile.common - Common make rules for LLVM -------*- makefile -*--==== +#===-- Makefile.rules - Common make rules for LLVM -------*- makefile -*--==== # # This file is included by all of the LLVM makefiles. This file defines common # rules to do things like compile a .cpp file or generate dependency info. @@ -58,6 +58,9 @@ VPATH=$(SourceDir) # building. ########################################################################### +# Ensure people re-run configure when it gets updated +all::$(LLVM_OBJ_ROOT)/config.status + ifdef SHARED_LIBRARY # if SHARED_LIBRARY is specified, the default is to build the dynamic lib all:: dynamic @@ -83,12 +86,12 @@ bytecode:: # Print out the directories used for building prdirs:: - @echo "Build Source Root: " $(BUILD_SRC_ROOT) - @echo "Build Source Dir : " $(BUILD_SRC_DIR) - @echo "Build Object Root: " $(BUILD_OBJ_ROOT) - @echo "Build Object Dir : " $(BUILD_OBJ_DIR) - @echo "LLVM Source Root: " $(LLVM_SRC_ROOT) - @echo "LLVM Object Root: " $(LLVM_OBJ_ROOT) + @${ECHO} "Build Source Root: " $(BUILD_SRC_ROOT) + @${ECHO} "Build Source Dir : " $(BUILD_SRC_DIR) + @${ECHO} "Build Object Root: " $(BUILD_OBJ_ROOT) + @${ECHO} "Build Object Dir : " $(BUILD_OBJ_DIR) + @${ECHO} "LLVM Source Root: " $(LLVM_SRC_ROOT) + @${ECHO} "LLVM Object Root: " $(LLVM_OBJ_ROOT) ########################################################################### # Suffixes and implicit rules: @@ -448,7 +451,7 @@ bytecodelib:: $(LIBNAME_BC) bytecodelib-install:: $(LLVMGCCDIR)/bytecode-libs/lib$(LIBRARYNAME).bc $(LLVMGCCDIR)/bytecode-libs/lib$(LIBRARYNAME).bc: $(LIBNAME_BC) - @echo ======= Installing $(LIBRARYNAME) bytecode library ======= + @${ECHO} ======= Installing $(LIBRARYNAME) bytecode library ======= cp $< $@ # Does the library want a .o version built? @@ -479,23 +482,23 @@ endif # Rule for building bytecode libraries. $(LIBNAME_BC): $(ObjectsBC) $(LibSubDirs) $(DESTLIBBYTECODE)/.dir - @echo ======= Linking $(LIBRARYNAME) bytecode library ======= + @${ECHO} ======= Linking $(LIBRARYNAME) bytecode library ======= $(VERB) $(LinkBCLib) -o $@ $(ObjectsBC) $(LibSubDirs) $(LibLinkOpts) # # Rules for building dynamically linked libraries. # $(LIBNAME_O): $(ObjectsO) $(LibSubDirs) $(DESTLIBRELEASE)/.dir - @echo ======= Linking $(LIBRARYNAME) dynamic release library ======= + @${ECHO} ======= Linking $(LIBRARYNAME) dynamic release library ======= $(VERB) $(Link) -o $*.la $(ObjectsO) $(LibSubDirs) $(LibLinkOpts) $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $*.la $(DESTLIBCURRENT) $(LIBNAME_P): $(ObjectsP) $(LibSubDirs) $(DESTLIBPROFILE)/.dir - @echo ======= Linking $(LIBRARYNAME) dynamic profile library ======= + @${ECHO} ======= Linking $(LIBRARYNAME) dynamic profile library ======= $(VERB) $(Link) -o $*.la $(ObjectsP) $(LibSubDirs) $(LibLinkOpts) $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $*.la $(DESTLIBCURRENT) $(LIBNAME_G): $(ObjectsG) $(LibSubDirs) $(DESTLIBDEBUG)/.dir - @echo ======= Linking $(LIBRARYNAME) dynamic debug library ======= + @${ECHO} ======= Linking $(LIBRARYNAME) dynamic debug library ======= $(VERB) $(Link) -o $*.la $(ObjectsG) $(LibSubDirs) $(LibLinkOpts) $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $*.la $(DESTLIBCURRENT) @@ -503,17 +506,17 @@ $(LIBNAME_G): $(ObjectsG) $(LibSubDirs) $(DESTLIBDEBUG)/.dir # Rules for building static archive libraries. # $(LIBNAME_AO): $(ObjectsO) $(LibSubDirs) $(DESTLIBRELEASE)/.dir - @echo ======= Linking $(LIBRARYNAME) archive release library ======= + @${ECHO} ======= Linking $(LIBRARYNAME) archive release library ======= @$(RM) -f $@ $(VERB) $(Link) -03 -o $@ $(ObjectsO) $(LibSubDirs) -static $(LIBNAME_AP): $(ObjectsP) $(LibSubDirs) $(DESTLIBPROFILE)/.dir - @echo ======= Linking $(LIBRARYNAME) archive profile library ======= + @${ECHO} ======= Linking $(LIBRARYNAME) archive profile library ======= @$(RM) -f $@ $(VERB) $(Link) -03 $(PROFILE) -o $@ $(ObjectsP) $(LibSubDirs) -static $(LIBNAME_AG): $(ObjectsG) $(LibSubDirs) $(DESTLIBDEBUG)/.dir - @echo ======= Linking $(LIBRARYNAME) archive debug library ======= + @${ECHO} ======= Linking $(LIBRARYNAME) archive debug library ======= @$(RM) -f $@ $(VERB) $(Link) -g $(STRIP) -o $@ $(ObjectsG) $(LibSubDirs) -static @@ -533,15 +536,15 @@ $(LIBNAME_AG): $(ObjectsG) $(LibSubDirs) $(DESTLIBDEBUG)/.dir # I think that is safe. # $(LIBNAME_OBJO): $(ObjectsO) $(LibSubDirs) $(DESTLIBRELEASE)/.dir - @echo "Linking $@" + @${ECHO} "Linking `basename $@`" $(VERB) $(Relink) -o $@ $(RObjectsO) $(LibSubDirs) $(LIBNAME_OBJP): $(ObjectsP) $(LibSubDirs) $(DESTLIBPROFILE)/.dir - @echo "Linking $@" + @${ECHO} "Linking `basename $@`" $(VERB) $(Relink) -o $@ $(RObjectsP) $(LibSubDirs) $(LIBNAME_OBJG): $(ObjectsG) $(LibSubDirs) $(DESTLIBDEBUG)/.dir - @echo "Linking $@" + @${ECHO} "Linking `basename $@`" $(VERB) $(Relink) -o $@ $(RObjectsG) $(LibSubDirs) endif @@ -626,15 +629,15 @@ clean:: $(VERB) $(RM) -f $(TOOLEXENAMES) $(TOOLEXENAME_G): $(ObjectsG) $(USED_LIB_PATHS_G) $(DESTTOOLDEBUG)/.dir - @echo ======= Linking $(TOOLNAME) debug executable $(STRIP_WARN_MSG) ======= + @${ECHO} ======= Linking $(TOOLNAME) debug executable $(STRIP_WARN_MSG) ======= $(VERB) $(LinkG) -o $@ $(ObjectsG) $(LIB_OPTS_G) $(LINK_OPTS) $(LIBS) $(TOOLEXENAME_O): $(ObjectsO) $(USED_LIB_PATHS_O) $(DESTTOOLRELEASE)/.dir - @echo ======= Linking $(TOOLNAME) release executable ======= + @${ECHO} ======= Linking $(TOOLNAME) release executable ======= $(VERB) $(LinkO) -o $@ $(ObjectsO) $(LIB_OPTS_O) $(LINK_OPTS) $(LIBS) $(TOOLEXENAME_P): $(ObjectsP) $(USED_LIB_PATHS_P) $(DESTTOOLPROFILE)/.dir - @echo ======= Linking $(TOOLNAME) profile executable ======= + @${ECHO} ======= Linking $(TOOLNAME) profile executable ======= $(VERB) $(LinkP) -o $@ $(ObjectsP) $(LIB_OPTS_P) $(LINK_OPTS) $(LIBS) endif @@ -647,39 +650,39 @@ endif # Create .lo files in the ObjectFiles directory from the .cpp and .c files... $(BUILD_OBJ_DIR)/Release/%.lo: %.cpp $(BUILD_OBJ_DIR)/Release/.dir - @echo "Compiling $<" + @${ECHO} "Compiling `basename $<`" $(VERB) $(CompileO) $< -o $@ $(BUILD_OBJ_DIR)/Release/%.lo: %.c $(BUILD_OBJ_DIR)/Release/.dir - @echo "Compiling $<" + @${ECHO} "Compiling `basename $<`" $(VERB) $(CompileCO) $< -o $@ $(BUILD_OBJ_DIR)/Profile/%.lo: %.cpp $(BUILD_OBJ_DIR)/Profile/.dir - @echo "Compiling $<" + @${ECHO} "Compiling `basename $<`" $(VERB) $(CompileP) $< -o $@ $(BUILD_OBJ_DIR)/Profile/%.lo: %.c $(BUILD_OBJ_DIR)/Profile/.dir - @echo "Compiling $<" + @${ECHO} "Compiling `basename $<`" $(VERB) $(CompileCP) $< -o $@ $(BUILD_OBJ_DIR)/Debug/%.lo: %.cpp $(BUILD_OBJ_DIR)/Debug/.dir - @echo "Compiling $<" + @${ECHO} "Compiling `basename $<`" $(VERB) $(CompileG) $< -o $@ $(BUILD_OBJ_DIR)/Debug/%.lo: %.c $(BUILD_OBJ_DIR)/Debug/.dir - @echo "Compiling $<" + @${ECHO} "Compiling `basename $<`" $(VERB) $(CompileCG) $< -o $@ $(BUILD_OBJ_DIR)/BytecodeObj/%.bc: %.cpp $(BUILD_OBJ_DIR)/BytecodeObj/.dir $(LCC1XX) - @echo "Compiling $< to bytecode" + @${ECHO} "Compiling `basename $<` to bytecode" $(VERB) $(LLVMGXX) $(CompileWarnings) $(CPPFLAGS) -c $< -o $@ $(BUILD_OBJ_DIR)/BytecodeObj/%.bc: %.c $(BUILD_OBJ_DIR)/BytecodeObj/.dir $(LCC1) - @echo "Compiling $< to bytecode" + @${ECHO} "Compiling `basename $<` to bytecode" $(VERB) $(LLVMGCC) $(CompileWarnings) $(CPPFLAGS) -c $< -o $@ $(BUILD_OBJ_DIR)/BytecodeObj/%.bc: %.ll $(BUILD_OBJ_DIR)/BytecodeObj/.dir $(LLVMAS) - @echo "Compiling $< to bytecode" + @${ECHO} "Compiling `basename $<` to bytecode" $(VERB) $(LLVMAS) $< -f -o $@ @@ -701,7 +704,7 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output) # FIXME. (f.e. char Buffer[10000] ) # %.cpp: %.l - @echo Flexing $< + @${ECHO} Flexing $< $(VERB) $(FLEX) -t $< | \ $(SED) '/^find_rule/d' | \ $(SED) 's/void yyunput/inline void yyunput/' | \ @@ -716,7 +719,7 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output) %.c: %.y # Cancel built-in rules for yacc %.h: %.y # Cancel built-in rules for yacc %.cpp %.h : %.y - @echo Bisoning $< + @${ECHO} Bisoning $< $(VERB) $(BISON) -v -d -p $( /dev/null || ${MV} -f $*.tab.c $*.cpp $(VERB) cmp -s $*.tab.h $*.h > /dev/null || ${MV} -f $*.tab.h $*.h @@ -774,6 +777,16 @@ $(BUILD_OBJ_DIR)/Depend/%.d: %.cpp $(BUILD_OBJ_DIR)/Depend/.dir $(BUILD_OBJ_DIR)/Depend/%.d: %.c $(BUILD_OBJ_DIR)/Depend/.dir $(VERB) $(DependC) -o $@ $< | $(SED) 's|\.o|\.lo|' | $(SED) 's|$*\.lo *|$(BUILD_OBJ_DIR)/Release/& $(BUILD_OBJ_DIR)/Profile/& $(BUILD_OBJ_DIR)/Debug/& $(BUILD_OBJ_DIR)/Depend/$(@F)|g' > $@ +# +# Autoconf Dependencies. +# +$(LLVM_OBJ_ROOT)/config.status:: $(LLVM_SRC_ROOT)/configure + @${ECHO} "****************************************************************" + @${ECHO} " You need to re-run $(LLVM_SRC_ROOT)/configure" + @${ECHO} " in directory $(LLVM_OBJ_ROOT)" + @${ECHO} "****************************************************************" + $(VERB) exit 1 + # # Include dependencies generated from C/C++ source files, but not if we # are cleaning (this example taken from the GNU Make Manual).