Print P and [AR] files on update.
[oota-llvm.git] / Makefile.rules
index 89f28b84e0b322c6104606d4f5fb34b727051d9a..32477559769136eefa1e9afa22687c4194ca9ebf 100644 (file)
@@ -25,15 +25,21 @@ VPATH=$(BUILD_SRC_DIR)
 # Define the various target sets
 #--------------------------------------------------------------------
 RECURSIVE_TARGETS := all clean check install uninstall
-LOCAL_TARGETS     := all-local clean-local check-local install-local printvars\
-                    uninstall-local
+LOCAL_TARGETS     := all-local clean-local check-local install-local \
+                    printvars uninstall-local
 TOPLEV_TARGETS    := dist dist-check dist-clean tags
 USER_TARGETS      := $(RECURSIVE_TARGETS) $(LOCAL_TARGETS) $(TOPLEV_TARGETS)
-INTERNAL_TARGETS  := preconditions \
-  install-config-dir install-shared-library install-bytecode-library \
-  install-archive-library install-relinked-library install-tool \
-  uninstall-config-dir uninstall-shared-library uninstall-bytecode-library \
-  uninstall-archive-library uninstall-relinked-library uninstall-tool
+INTERNAL_TARGETS  := preconditions
+
+###############################################################################
+# INITIALIZATION: Basic things the makefile needs
+###############################################################################
+
+#--------------------------------------------------------------------
+# Reset the list of suffixes we know how to build
+#--------------------------------------------------------------------
+.SUFFIXES:
+.SUFFIXES: .c .cpp .h .hpp .y .l .lo .o .a $(SHLIBEXT) .bc .td .ps .dot $(SUFFIXES)
 
 #--------------------------------------------------------------------
 # Mark all of these targets as phony to avoid implicit rule search
@@ -41,25 +47,92 @@ INTERNAL_TARGETS  := preconditions \
 .PHONY: $(USER_TARGETS) $(INTERNAL_TARGETS)
 
 #--------------------------------------------------------------------
-# Make sure all the user-target rules are double colon rules and that
-# the preconditions are run first.
+# Make sure all the user-target rules are double colon rules and 
+# they are defined first.
 #--------------------------------------------------------------------
 
-$(USER_TARGETS) :: preconditions
+$(USER_TARGETS)::
+
+################################################################################
+# PRECONDITIONS: that which must be built/checked first
+################################################################################
+
+SRCMKFILES    := $(filter %Makefile %Makefile.rules %Makefile.tests \
+                          %Makefile.JIT,$(wildcard $(BUILD_SRC_DIR)/Makefile*))
+OBJMKFILES    := $(subst $(BUILD_SRC_DIR),$(BUILD_OBJ_DIR),$(SRCMKFILES))
+CONFIGURE     := $(LLVM_SRC_ROOT)/configure
+CONFIG_STATUS := $(LLVM_OBJ_ROOT)/config.status
+MAKE_CONFIG_IN:= $(LLVM_SRC_ROOT)/Makefile.config.in
+MAKE_CONFIG   := $(LLVM_OBJ_ROOT)/Makefile.config
+PRECONDITIONS := $(CONFIG_STATUS) $(MAKE_CONFIG) $(OBJMKFILES)
+
+preconditions : $(PRECONDITIONS)
+
+#------------------------------------------------------------------------
+# Make sure the BUILT_SOURCES are built first
+#------------------------------------------------------------------------
+$(filter-out clean clean-local,USER_TARGETS):: $(BUILT_SOURCES)
+
+clean-local::
+ifneq ($(strip $(BUILT_SOURCES)),)
+       $(VERB) $(RM) -f $(BUILT_SOURCES)
+endif
+
+$(BUILT_SOURCES) : $(BUILD_OBJ_ROOT)/Makefile
 
-all :: all-local
+#------------------------------------------------------------------------
+# Make sure we're not using a stale configuration
+#------------------------------------------------------------------------
+.PRECIOUS: $(CONFIG_STATUS)
+$(CONFIG_STATUS): $(CONFIGURE)
+       @$(ECHO) Reconfiguring with $<
+       $(VERB) $(CONFIG_STATUS) --recheck $(CONFIGUREFLAGS)
+       $(VERB) $(CONFIG_STATUS)
+
+#------------------------------------------------------------------------
+# Make sure the configuration makefile is up to date
+#------------------------------------------------------------------------
+$(MAKE_CONFIG): $(MAKE_CONFIG_IN) $(CONFIG_STATUS)
+       @$(ECHO) Regenerating $@
+       $(VERB) cd $(LLVM_OBJ_ROOT) ; $(CONFIG_STATUS) Makefile.config
+
+#------------------------------------------------------------------------
+# If the Makefile in the source tree has been updated, copy it over into the
+# build tree. But, only do this if the source and object makefiles differ
+#------------------------------------------------------------------------
+ifneq ($(BUILD_OBJ_DIR),$(BUILD_SRC_DIR))
+
+$(BUILD_OBJ_DIR)/Makefile : $(BUILD_SRC_DIR)/Makefile
+       @$(ECHO) "Updating Makefile"
+       $(VERB) $(MKDIR) $(@D)
+       $(VERB) cp -f $< $@
+
+# Copy the Makefile.* files unless we're in the root directory which avoids
+# the copying of Makefile.config.in or other things that should be explicitly
+# taken care of.
+$(BUILD_OBJ_DIR)/Makefile% : $(BUILD_SRC_DIR)/Makefile%
+       @case '$?' in \
+          *Makefile.rules) ;; \
+          *.in) ;; \
+          *) $(ECHO) "Updating $(@F)" ; \
+            $(MKDIR) $(@D) ; \
+            cp -f $< $@ ;; \
+       esac
+         
+endif
+
+#------------------------------------------------------------------------
+# Set up the basic dependencies
+#------------------------------------------------------------------------
+$(USER_TARGETS):: $(PRECONDITIONS)
+
+all:: all-local
 check:: check-local
 clean:: clean-local 
-install :: install-local
-uninstall :: uninstall-local
-check-local :: all-local
-install-local :: all-local 
-
-###############################################################################
-# SUFFIXES: Reset the list of suffixes we know how to build
-###############################################################################
-.SUFFIXES:
-.SUFFIXES: .c .cpp .h .hpp .y .l .lo .o .a $(SHLIBEXT) .bc .td .ps .dot $(SUFFIXES)
+install:: install-local
+uninstall:: uninstall-local
+check-local:: all-local
+install-local:: all-local 
 
 ###############################################################################
 # VARIABLES: Set up various variables based on configuration data
@@ -143,16 +216,7 @@ endif
 
 # Adjust linker flags for building an executable
 ifdef TOOLNAME
-  LDFLAGS += -rpath $(TOOLDIR) -export-dynamic $(TOOLLINKOPTS)
-endif
-
-# Use TOOLLINKOPTSB to pass options to the linker like library search 
-# path etc.
-# Note that this is different from TOOLLINKOPTS, these options
-# are passed to the linker *before* the USEDLIBS options are passed.
-# e.g. usage TOOLLINKOPTSB =  -L/home/xxx/lib
-ifdef TOOLLINKOPTSB
-LDFLAGS += $(TOOLLINKOPTSB)
+  LDFLAGS += -rpath $(TOOLDIR) -export-dynamic
 endif
 
 #----------------------------------------------------------
@@ -178,7 +242,8 @@ BCCompile.CXX = $(LLVMGXX) $(CPPFLAGS) $(CompileCommonOpts) $(CXXFLAGS) -c
 BCCompile.C   = $(LLVMGCC) $(CPPFLAGS) $(CompileCommonOpts) $(CFLAGS) -c
 Link          = $(LIBTOOL) --tag=CXX --mode=link $(CXX) $(CPPFLAGS) \
                $(CompileCommonOpts) $(LDFLAGS) $(STRIP)
-Relink        = $(LIBTOOL) --tag=CXX --mode=link $(CXX)
+Relink        = $(LIBTOOL) --tag=CXX --mode=link $(CXX) $(CPPFLAGS) \
+                $(CompileCommonOpts)
 BCLinkLib     = $(LLVMGCC) -shared -nostdlib
 Burg          = $(BURG) -I $(BUILD_SRC_DIR)
 TableGen      = $(TBLGEN) -I $(BUILD_SRC_DIR)
@@ -215,6 +280,24 @@ ObjectsBC := $(BASENAME_SOURCES:%=$(OBJDIR)/%.bc)
 # DIRECTORIES: Handle recursive descent of directory structure
 ###############################################################################
 
+#---------------------------------------------------------
+# Provide rules to make install dirs. This must be early
+# in the file so they get built before dependencies
+#---------------------------------------------------------
+
+$(bindir):
+       $(VERB) $(MKDIR) $(bindir)
+       
+$(libdir):
+       $(VERB) $(MKDIR) $(libdir)
+
+$(bytecode_libdir):
+       $(VERB) $(MKDIR) $(bytecode_libdir)
+
+$(sysconfdir):
+       $(VERB) $(MKDIR) $(sysconfdir)
+
+
 #---------------------------------------------------------
 # Handle the DIRS options for sequential construction
 #---------------------------------------------------------
@@ -296,38 +379,24 @@ endif
 #---------------------------------------------------------
 ifdef CONFIG_FILES
 
-install-local:: install-config-dir 
-
-install-config-dir: $(sysconfdir) $(CONFIG_FILES)
+install-local:: $(sysconfdir) $(CONFIG_FILES)
        $(VERB)$(ECHO) Installing Configuration Files To $(sysconfdir)
        $(VERB)for file in $(CONFIG_FILES); do \
                $(INSTALL) $(BUILD_SRC_DIR)/$${file} $(sysconfdir) ; \
        done
 
-uninstall-local:: uninstall-config-dir
-
-uninstall-config-dir:
+uninstall-local::
        $(VERB)$(ECHO) Uninstalling Configuration Files From $(sysconfdir)
        $(VERB)for file in $(CONFIG_FILES); do \
          $(RM) -f $(sysconfdir)/$${file} ; \
        done
 
-$(sysconfdir):
-       $(MKDIR) $(sysconfdir)
-
 endif
 
 ###############################################################################
 # Library Build Rules: Four ways to build a library
 ###############################################################################
 
-$(libdir):
-       $(VERB) $(MKDIR) $(libdir)
-
-$(bytecode_libdir):
-       $(VERB) $(MKDIR) $(bytecode_libdir)
-
-
 
 # if we're building a library ...
 ifdef LIBRARYNAME
@@ -360,18 +429,15 @@ ifneq ($(strip $(LIBNAME_LA)),)
 endif
 
 DestSharedLib = $(libdir)/lib$(LIBRARYNAME)$(SHLIBEXT)
-install-local:: install-shared-library
 
-install-shared-library: $(libdir) $(DestSharedLib)
+install-local:: $(DestSharedLib)
 
-$(DestSharedLib): $(LIBNAME_LA)
+$(DestSharedLib): $(libdir) $(LIBNAME_LA)
        @$(ECHO) Installing $(CONFIGURATION) Shared Library $(DestSharedLib)
        $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_LA) $(DestSharedLib)
        $(VERB) $(LIBTOOL) --finish $(libdir)
 
-uninstall-local:: uninstall-shared-library
-
-uninstall-shared-library:
+uninstall-local:: 
        @$(ECHO) Uninstalling $(CONFIGURATION) Shared Library $(DestSharedLib)
        $(VERB) $(RM) -f $(DestSharedLib)
 
@@ -408,17 +474,13 @@ endif
 
 DestBytecodeLib = $(bytecode_libdir)/lib$(LIBRARYNAME).bc
 
-install-local:: install-bytecode-library
-
-install-bytecode-library: $(bytecode_libdir) $(DestBytecodeLib)
+install-local:: $(DestBytecodeLib)
 
-$(DestBytecodeLib): $(LIBNAME_BC) $(bytecode_libdir)
+$(DestBytecodeLib): $(bytecode_libdir) $(LIBNAME_BC) 
        @$(ECHO) Installing $(CONFIGURATION) Bytecode Library $(DestBytecodeLib)
-       $(VERB) $(INSTALL) $< $@
+       $(VERB) $(INSTALL) $(LIBNAME_BC) $@
 
-uninstall-local:: uninstall-bytecode-library
-
-uninstall-bytecode-library: 
+uninstall-local::
        @$(ECHO) Uninstalling $(CONFIGURATION) Bytecode Library $(DestBytecodeLib)
        $(VERB) $(RM) -f $(DestBytecodeLib)
 
@@ -439,18 +501,13 @@ endif
 
 DestRelinkedLib = $(libdir)/$(LIBRARYNAME).o
 
-install-local:: install-relinked-library 
+install-local:: $(DestRelinkedLib)
 
-install-relinked-library: $(libdir) $(DestRelinkedLib)
-
-$(DestRelinkedLib): $(LIBNAME_O)
+$(DestRelinkedLib): $(libdir) $(LIBNAME_O)
        @$(ECHO) Installing $(CONFIGURATION) Object Library $(DestRelinkedLib)
-       $(VERB) $(MKDIR) $(libdir)
        $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_O) $(DestRelinkedLib)
 
-uninstall-local:: uninstall-relinked-library 
-
-uninstall-relinked-library: 
+uninstall-local::
        @$(ECHO) Uninstalling $(CONFIGURATION) Object Library $(DestRelinkedLib)
        $(VERB) $(RM) -f $(DestRelinkedLib)
 
@@ -473,17 +530,14 @@ endif
 
 DestArchiveLib := $(libdir)/lib$(LIBRARYNAME).a
 
-install-local:: install-archive-library
+install-local:: $(DestArchiveLib)
 
-install-archive-library: $(libdir) $(DestArchiveLib)
-
-$(DestArchiveLib): $(LIBNAME_A)
+$(DestArchiveLib): $(libdir) $(LIBNAME_A)
        @$(ECHO) Installing $(CONFIGURATION) Archive Library $(DestArchiveLib)
+       $(VERB) $(MKDIR) $(libdir)
        $(VERB) $(LIBTOOL) --mode=install $(INSTALL) $(LIBNAME_A) $(DestArchiveLib)
 
-uninstall-local:: uninstall-archive-library
-
-uninstall-archive-library: 
+uninstall-local::
        @$(ECHO) Uninstalling $(CONFIGURATION) Archive Library $(DestArchiveLib)
        $(VERB) $(RM) -f $(DestArchiveLib)
 
@@ -498,16 +552,6 @@ endif
 
 ifdef TOOLNAME
 
-#---------------------------------------------------------
-# TOOLLINKOPTSB to pass options to the linker like library search path etc
-# Note that this is different from TOOLLINKOPTS, these options
-# are passed to the linker *before* the USEDLIBS options are passed.
-# e.g. usage TOOLLINKOPTSB =  -L/home/xxx/lib
-#---------------------------------------------------------
-ifdef TOOLLINKOPTSB
-Link    += $(TOOLLINKOPTSB) 
-endif
-
 # TOOLEXENAME - This is the output filenames to generate
 TOOLEXENAME := $(TOOLDIR)/$(TOOLNAME)
 
@@ -523,9 +567,6 @@ LLVM_USED_LIBS    := $(patsubst %.a.o, lib%.a, $(addsuffix .o, $(LLVMLIBS)))
 PROJ_LIBS_PATHS   := $(addprefix $(LIBDIR)/,$(PROJ_USED_LIBS))
 LLVM_LIBS_PATHS   := $(addprefix $(LLVMLIBDIR)/,$(LLVM_USED_LIBS))
 
-# Concatenate all the optoins
-LINK_OPTS := $(TOOLLINKOPTS) $(PROJ_LIBS_OPTIONS) $(LLVM_LIBS_OPTIONS)
-
 # Handle compression libraries automatically
 ifeq ($(HAVE_BZIP2),1)
 LIBS += -lbz2
@@ -547,25 +588,19 @@ endif
 
 $(TOOLEXENAME): $(BUILT_SOURCES) $(ObjectsO) $(PROJ_LIBS_PATHS) $(LLVM_LIBS_PATHS) $(TOOLDIR)/.dir
        @$(ECHO) Linking $(CONFIGURATION) executable $(TOOLNAME) $(STRIP_WARN_MSG)
-       $(VERB) $(Link) -o $@ $(ObjectsO) $(PROJ_LIBS_OPTIONS) $(LLVM_LIBS_OPTIONS) $(LIBS)
+       $(VERB) $(Link) -o $@ $(TOOLLINKOPTS) $(ObjectsO) $(PROJ_LIBS_OPTIONS) \
+          $(LLVM_LIBS_OPTIONS) $(LIBS) $(TOOLLINKOPTSB)
        @$(ECHO) ======= Finished Linking $(CONFIGURATION) Executable $(TOOLNAME) $(STRIP_WARN_MSG) 
 
 DestTool = $(bindir)/$(TOOLNAME)
 
-install-local:: install-tool
-
-install-tool: $(bindir) $(DestTool)
+install-local:: $(DestTool)
 
-$(DestTool): $(TOOLEXENAME)
+$(DestTool): $(bindir) $(TOOLEXENAME)
        @$(ECHO) Installing $(CONFIGURATION) $(DestTool)
        $(VERB) $(INSTALL) $(TOOLEXENAME) $(DestTool)
 
-$(bindir):
-       $(VERB) $(MKDIR) $(bindir)
-       
-uninstall-local:: uninstall-tool
-
-uninstall-tool:
+uninstall-local::
        @$(ECHO) Uninstalling $(CONFIGURATION) $(DestTool)
        $(VERB) $(RM) -f $(DestTool)
 
@@ -658,47 +693,48 @@ $(OBJDIR)/%.bc: %.ll $(OBJDIR)/.dir $(LLVMAS)
 ifdef TARGET
 
 TDFILES := $(strip $(wildcard $(BUILD_SRC_DIR)/*.td) $(LLVM_SRC_ROOT)/lib/Target/Target.td)
+INCFILES := $(filter %.inc,$(BUILT_SOURCES))
 
-$(BUILT_SOURCES): $(TDFILES) 
+$(INCFILES) : $(TBLGEN) $(TDFILES)
 
-%GenRegisterNames.inc : %.td
-       @echo "Building $(<F) register names with tblgen"
+%GenRegisterNames.inc : %.td 
+       @$(ECHO) "Building $(<F) register names with tblgen"
        $(VERB) $(TableGen) -gen-register-enums -o $@ $<
 
-%GenRegisterInfo.h.inc : %.td
-       @echo "Building $(<F) register information header with tblgen"
+%GenRegisterInfo.h.inc : %.td 
+       @$(ECHO) "Building $(<F) register information header with tblgen"
        $(VERB) $(TableGen) -gen-register-desc-header -o $@ $<
 
 %GenRegisterInfo.inc : %.td
-       @echo "Building $(<F) register info implementation with tblgen"
+       @$(ECHO) "Building $(<F) register info implementation with tblgen"
        $(VERB) $(TableGen) -gen-register-desc -o $@ $<
 
 %GenInstrNames.inc : %.td
-       @echo "Building $(<F) instruction names with tblgen"
+       @$(ECHO) "Building $(<F) instruction names with tblgen"
        $(VERB) $(TableGen) -gen-instr-enums -o $@ $<
 
 %GenInstrInfo.inc : %.td
-       @echo "Building $(<F) instruction information with tblgen"
+       @$(ECHO) "Building $(<F) instruction information with tblgen"
        $(VERB) $(TableGen) -gen-instr-desc -o $@ $<
 
 %GenAsmWriter.inc : %.td
-       @echo "Building $(<F) assembly writer with tblgen"
+       @$(ECHO) "Building $(<F) assembly writer with tblgen"
        $(VERB) $(TableGen) -gen-asm-writer -o $@ $<
 
 %GenATTAsmWriter.inc : %.td
-       @echo "Building $(<F) AT&T assembly writer with tblgen"
+       @$(ECHO) "Building $(<F) AT&T assembly writer with tblgen"
        $(VERB) $(TableGen) -gen-asm-writer -o $@ $< 
 
 %GenIntelAsmWriter.inc : %.td
-       @echo "Building $(<F) Intel assembly writer with tblgen"
+       @$(ECHO) "Building $(<F) Intel assembly writer with tblgen"
        $(VERB) $(TableGen) -gen-asm-writer -asmwriternum=1 -o $@ $< 
 
 %GenInstrSelector.inc: %.td
-       @echo "Building $(<F) instruction selector with tblgen"
+       @$(ECHO) "Building $(<F) instruction selector with tblgen"
        $(VERB) $(TableGen) -gen-instr-selector -o $@ $< 
 
 %GenCodeEmitter.inc:: %.td
-       @echo "Building $(<F) code emitter with tblgen"
+       @$(ECHO) "Building $(<F) code emitter with tblgen"
        $(VERB) $(TableGen) -gen-emitter -o $@ $<
 
 clean-local::
@@ -726,25 +762,20 @@ YACC_OUTPUT = $(addprefix $(YACC_FILES:%.y=%), .h .cpp .output)
 %.cpp: %.l
        @$(ECHO) Flexing $<
        $(VERB) $(FLEX) -t $< | \
-       $(SED) '/^find_rule/d' | \
        $(SED) 's/void yyunput/inline void yyunput/' | \
        $(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 -s $@ $@.tmp > /dev/null || $(MV) -f $@.tmp $@
-       @# remove the output of flex if it didn't get moved over...
-       @rm -f $@.tmp
+         > $@
 
 # Rule for building the bison parsers...
 %.c: %.y     # Cancel built-in rules for yacc
+%.cpp: %.y   # Cancel built-in rules for yacc
 %.h: %.y     # Cancel built-in rules for yacc
 %.cpp %.h : %.y
        @$(ECHO) "Bisoning $*.y"
        $(VERB) $(BISON) -v -d -p $(<F:%Parser.y=%) -o $*.tab.c  $<
-       $(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) $(MV) -f $*.tab.c $*.cpp
+       $(VERB) $(MV) -f $*.tab.h $*.h
 
 # To create the directories...
 %/.dir:
@@ -804,57 +835,6 @@ endif
 
 endif  # ifndef DISABLE_AUTO_DEPENDENCIES
 
-################################################################################
-# PRECONDITIONS - that which must be built/checked first
-################################################################################
-
-OBJMKFILE := $(BUILD_OBJ_DIR)/Makefile
-SRCMKFILE := $(BUILD_SRC_DIR)/Makefile
-CONFIGURE := $(LLVM_SRC_ROOT)/configure
-CONFIG_STATUS := $(LLVM_OBJ_ROOT)/config.status
-MAKE_CONFIG_IN := $(LLVM_SRC_ROOT)/Makefile.config.in
-MAKE_CONFIG := $(LLVM_OBJ_ROOT)/Makefile.config
-
-#------------------------------------------------------------------------
-# List of the preconditions
-#------------------------------------------------------------------------
-
-preconditions: $(CONFIG_STATUS) $(MAKE_CONFIG) $(OBJMKFILE) 
-
-$(filter-out clean clean-local,USER_TARGETS):: $(BUILT_SOURCES)
-
-clean-local::
-ifneq ($(strip $(BUILT_SOURCES)),)
-       $(VERB) $(RM) -f $(BUILT_SOURCES)
-endif
-
-#------------------------------------------------------------------------
-# Make sure we're not using a stale configuration
-#------------------------------------------------------------------------
-.PRECIOUS: $(CONFIG_STATUS)
-$(CONFIG_STATUS): $(CONFIGURE)
-       @$(ECHO) Reconfiguring with $<
-       $(VERB) $(CONFIG_STATUS) --recheck $(CONFIGUREFLAGS)
-
-#------------------------------------------------------------------------
-# Make sure the configuration makefile is up to date
-#------------------------------------------------------------------------
-$(MAKE_CONFIG): $(MAKE_CONFIG_IN) $(CONFIG_STATUS)
-       @$(ECHO) Regenerating $@
-       $(VERB) cd $(LLVM_OBJ_ROOT) ; $(CONFIG_STATUS) Makefile.config
-
-#------------------------------------------------------------------------
-# If the Makefile in the source tree has been updated, copy it over into the
-# build tree. But, only do this if the source and object makefiles differ
-#------------------------------------------------------------------------
-ifneq ($(OBJMKFILE),$(SRCMKFILE))
-.PRECIOUS: $(OBJMKFILE)
-$(OBJMKFILE): $(SRCMKFILE)
-       @$(ECHO) "Updating Makefile from: $(dir $<)"
-       $(VERB) $(MKDIR) $(@D)
-       $(VERB) cp -f $< $@
-endif
-
 ###############################################################################
 # Handle construction of a distribution tarball
 ###############################################################################
@@ -940,7 +920,7 @@ dist :: $(DistTarGZip) $(DistTarBZ2) $(DistZip)
 
 DistCheckDir := $(LLVM_OBJ_ROOT)/_distcheckdir
 
-dist-check:: $(DistTopDir) $(DistTarGZip)
+dist-check:: $(DistCheckTop) $(DistTarGZip)
        @$(ECHO) Checking distribution tar file.
        $(VERB) if test -d $(DistCheckDir) ; then \
          $(RM) -rf $(DistCheckDir) ; \
@@ -970,14 +950,14 @@ endif
 #------------------------------------------------------------------------
 # Provide the recursive distdir target for building the distribution directory
 #------------------------------------------------------------------------
-distdir : $(DistCheckTop) $(DistSources)
+distdir : $(DistSources)
        @$(ECHO) Building Distribution Directory $(DistDir)
        $(VERB) if test "$(DistDir)" = "$(TopDistDir)" ; then \
          if test -d "$(DistDir)" ; then \
            find $(DistDir) -type d ! -perm -200 -exec chmod u+w {} ';'  || \
              exit 1 ; \
          fi ; \
-         echo Removing $(DistDir) ; \
+         $(ECHO) Removing $(DistDir) ; \
          $(RM) -rf $(DistDir); \
        fi
        $(VERB) $(MKDIR) $(DistDir) 
@@ -1084,13 +1064,20 @@ endif
 #------------------------------------------------------------------------
 # Print out the directories used for building
 printvars::
+       @$(ECHO) "CONFIGURATION : " $(CONFIGURATION)
        @$(ECHO) "BUILD_SRC_ROOT: " $(BUILD_SRC_ROOT)
        @$(ECHO) "BUILD_SRC_DIR : " $(BUILD_SRC_DIR)
        @$(ECHO) "BUILD_OBJ_ROOT: " $(BUILD_OBJ_ROOT)
        @$(ECHO) "BUILD_OBJ_DIR : " $(BUILD_OBJ_DIR)
        @$(ECHO) "LLVM_SRC_ROOT : " $(LLVM_SRC_ROOT)
        @$(ECHO) "LLVM_OBJ_ROOT : " $(LLVM_OBJ_ROOT)
-       @$(ECHO) "CONFIGURATION : " $(CONFIGURATION)
+       @$(ECHO) "libdir : " $(libdir)
+       @$(ECHO) "bindir : " $(bindir)
+       @$(ECHO) "sysconfdir : " $(sysconfdir)
+       @$(ECHO) "bytecode_libdir : " $(bytecode_libdir)
+       @$(ECHO) "USER_TARGETS : " $(USER_TARGETS)
+       @$(ECHO) "OBJMKFILES: $(OBJMKFILES)"
+       @$(ECHO) "SRCMKFILES: $(SRCMKFILES)"
        @$(ECHO) "OBJDIR: " $(OBJDIR)
        @$(ECHO) "LIBDIR: " $(LIBDIR)
        @$(ECHO) "TOOLDIR: " $(TOOLDIR)
@@ -1098,11 +1085,3 @@ printvars::
        @$(ECHO) "Compile.CXX: " '$(Compile.CXX)'
        @$(ECHO) "Compile.C: " '$(Compile.C)'
 
-# This frivolous target provided for Resistor who requested that the makefiles
-# be hardened and that he get a "pony" after the makefiles (accidentally) 
-# deleted his unix kernel.
-pony::
-       @wget -q \
-       http://search.cpan.org/src/ASAVIGE/Acme-EyeDrops-1.40/lib/Acme/EyeDrops/pony2.eye \
-       -O /tmp/resistor.pony
-       @cat /tmp/resistor.pony