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
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
+
$(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
%.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
$(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
# are cleaning (this example taken from the GNU Make Manual).
#
ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(MAKECMDGOALS),distclean)
ifneq ($(SourceDepend),)
-include $(SourceDepend)
endif
endif
+endif
$(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
%.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
$(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
# are cleaning (this example taken from the GNU Make Manual).
#
ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(MAKECMDGOALS),distclean)
ifneq ($(SourceDepend),)
-include $(SourceDepend)
endif
endif
+endif