Merged in changes between PRE11_ROOT and LLVM_PRE111 (i.e. the beginning of
authorJohn Criswell <criswell@uiuc.edu>
Tue, 12 Aug 2003 18:51:51 +0000 (18:51 +0000)
committerJohn Criswell <criswell@uiuc.edu>
Tue, 12 Aug 2003 18:51:51 +0000 (18:51 +0000)
the pre-release 1.1 branch and pre-release 1.1.1).
Made the USE_SPEC option work.
Silenced unnecessary error output from the cmp command when checking for
updates to lex/yacc generated files.  This fixes a problem where we get error
messages the first time the file is generated.
Fixed the distclean option.  It is now in the Makefile (i.e. only runs in the
top level source directory), removes more files, and plays nicely with
external project Makefiles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7780 91177308-0d34-0410-b5e6-96231b3b80d8

Makefile
Makefile.common
Makefile.rules

index 6f31665eb68344ac847b6be36dc7b67f86034dcb..b7824d50600089887b4ff585756545354f1d2318 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,3 +6,11 @@ include $(LEVEL)/Makefile.common
 
 test :: all
        cd test; $(MAKE)
+
+distclean:: clean
+       $(VERB) $(RM) -rf $(LEVEL)/Makefile.config \
+                         $(LEVEL)/include/Config/config.h \
+                         $(LEVEL)/autoconf/autom4te.cache \
+                         $(LEVEL)/config.log \
+                         $(LEVEL)/TAGS
+
index dbb91afade42961d6620b80ad281a2bbab86e3da..21d86eb17e7def53f0d175ba461384138805b555 100644 (file)
@@ -727,7 +727,7 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output)
           $(SED) 's/void \*yy_flex_realloc/inline void *yy_flex_realloc/' | \
           $(SED) 's/#define YY_BUF_SIZE 16384/#define YY_BUF_SIZE (16384*64)/' \
               > $@.tmp
-       $(VERB) cmp $@ $@.tmp > /dev/null || ${MV} -f $@.tmp $@
+       $(VERB) cmp -s $@ $@.tmp > /dev/null || ${MV} -f $@.tmp $@
        @# remove the output of flex if it didn't get moved over...
        @rm -f $@.tmp
 
@@ -737,8 +737,8 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output)
 %.cpp %.h : %.y
        @echo Bison\'ing $<...
        $(VERB) $(BISON) -v -d -p $(<:%Parser.y=%) $*.y
-       $(VERB) cmp $*.tab.c $*.cpp > /dev/null || ${MV} -f $*.tab.c $*.cpp
-       $(VERB) cmp $*.tab.h $*.h > /dev/null || ${MV} -f $*.tab.h $*.h
+       $(VERB) cmp -s $*.tab.c $*.cpp > /dev/null || ${MV} -f $*.tab.c $*.cpp
+       $(VERB) cmp -s $*.tab.h $*.h   > /dev/null || ${MV} -f $*.tab.h $*.h
        @# If the files were not updated, don't leave them lying around...
        @rm -f $*.tab.c $*.tab.h
 
@@ -762,12 +762,6 @@ clean::
        $(VERB) $(RM) -f core core.[0-9][0-9]* *.o *.d *.so *~ *.flc
        $(VERB) $(RM) -f $(LEX_OUTPUT) $(YACC_OUTPUT)
 
-distclean:: clean
-       $(VERB) (cd $(LLVM_SRC_ROOT); $(RM) -rf $(LEVEL)/Makefile.config \
-                   $(LEVEL)/include/Config/config.h \
-                   $(LEVEL)/autom4te.cache \
-                   $(LEVEL)/config.log)
-
 ###########################################################################
 # C/C++ Dependencies
 #      Define variables and rules that generate header file dependencies
@@ -795,7 +789,9 @@ $(BUILD_OBJ_DIR)/Depend/%.d: $(SourceDir)%.c $(BUILD_OBJ_DIR)/Depend/.dir
 # are cleaning (this example taken from the GNU Make Manual).
 #
 ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(MAKECMDGOALS),distclean)
 ifneq ($(SourceDepend),)
 -include $(SourceDepend)
 endif
 endif
+endif
index dbb91afade42961d6620b80ad281a2bbab86e3da..21d86eb17e7def53f0d175ba461384138805b555 100644 (file)
@@ -727,7 +727,7 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output)
           $(SED) 's/void \*yy_flex_realloc/inline void *yy_flex_realloc/' | \
           $(SED) 's/#define YY_BUF_SIZE 16384/#define YY_BUF_SIZE (16384*64)/' \
               > $@.tmp
-       $(VERB) cmp $@ $@.tmp > /dev/null || ${MV} -f $@.tmp $@
+       $(VERB) cmp -s $@ $@.tmp > /dev/null || ${MV} -f $@.tmp $@
        @# remove the output of flex if it didn't get moved over...
        @rm -f $@.tmp
 
@@ -737,8 +737,8 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output)
 %.cpp %.h : %.y
        @echo Bison\'ing $<...
        $(VERB) $(BISON) -v -d -p $(<:%Parser.y=%) $*.y
-       $(VERB) cmp $*.tab.c $*.cpp > /dev/null || ${MV} -f $*.tab.c $*.cpp
-       $(VERB) cmp $*.tab.h $*.h > /dev/null || ${MV} -f $*.tab.h $*.h
+       $(VERB) cmp -s $*.tab.c $*.cpp > /dev/null || ${MV} -f $*.tab.c $*.cpp
+       $(VERB) cmp -s $*.tab.h $*.h   > /dev/null || ${MV} -f $*.tab.h $*.h
        @# If the files were not updated, don't leave them lying around...
        @rm -f $*.tab.c $*.tab.h
 
@@ -762,12 +762,6 @@ clean::
        $(VERB) $(RM) -f core core.[0-9][0-9]* *.o *.d *.so *~ *.flc
        $(VERB) $(RM) -f $(LEX_OUTPUT) $(YACC_OUTPUT)
 
-distclean:: clean
-       $(VERB) (cd $(LLVM_SRC_ROOT); $(RM) -rf $(LEVEL)/Makefile.config \
-                   $(LEVEL)/include/Config/config.h \
-                   $(LEVEL)/autom4te.cache \
-                   $(LEVEL)/config.log)
-
 ###########################################################################
 # C/C++ Dependencies
 #      Define variables and rules that generate header file dependencies
@@ -795,7 +789,9 @@ $(BUILD_OBJ_DIR)/Depend/%.d: $(SourceDir)%.c $(BUILD_OBJ_DIR)/Depend/.dir
 # are cleaning (this example taken from the GNU Make Manual).
 #
 ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(MAKECMDGOALS),distclean)
 ifneq ($(SourceDepend),)
 -include $(SourceDepend)
 endif
 endif
+endif