mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Cleanup/Fixes:
* Force preconditions to be met FIRST * Fix dist-check dependency * Add some variables to the printvars target * Automatically update Makefile.* as well as just Makefile git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17268 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a4b07c51ea
commit
9411c64c51
160
Makefile.rules
160
Makefile.rules
@ -25,8 +25,8 @@ VPATH=$(BUILD_SRC_DIR)
|
|||||||
# Define the various target sets
|
# Define the various target sets
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
RECURSIVE_TARGETS := all clean check install uninstall
|
RECURSIVE_TARGETS := all clean check install uninstall
|
||||||
LOCAL_TARGETS := all-local clean-local check-local install-local printvars\
|
LOCAL_TARGETS := all-local clean-local check-local install-local \
|
||||||
uninstall-local
|
printvars uninstall-local
|
||||||
TOPLEV_TARGETS := dist dist-check dist-clean tags
|
TOPLEV_TARGETS := dist dist-check dist-clean tags
|
||||||
USER_TARGETS := $(RECURSIVE_TARGETS) $(LOCAL_TARGETS) $(TOPLEV_TARGETS)
|
USER_TARGETS := $(RECURSIVE_TARGETS) $(LOCAL_TARGETS) $(TOPLEV_TARGETS)
|
||||||
INTERNAL_TARGETS := preconditions \
|
INTERNAL_TARGETS := preconditions \
|
||||||
@ -35,17 +35,95 @@ INTERNAL_TARGETS := preconditions \
|
|||||||
uninstall-config-dir uninstall-shared-library uninstall-bytecode-library \
|
uninstall-config-dir uninstall-shared-library uninstall-bytecode-library \
|
||||||
uninstall-archive-library uninstall-relinked-library uninstall-tool
|
uninstall-archive-library uninstall-relinked-library uninstall-tool
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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
|
# Mark all of these targets as phony to avoid implicit rule search
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
.PHONY: $(USER_TARGETS) $(INTERNAL_TARGETS)
|
.PHONY: $(USER_TARGETS) $(INTERNAL_TARGETS)
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Make sure all the user-target rules are double colon rules and that
|
# Make sure all the user-target rules are double colon rules and
|
||||||
# the preconditions are run first.
|
# they are defined first.
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
|
|
||||||
$(USER_TARGETS) :: preconditions
|
$(USER_TARGETS)::
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# PRECONDITIONS: that which must be built/checked first
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
SRCMKFILES := $(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
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
# 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 ($(BUILD_OBJ_DIR),$(BUILD_SRC_DIR))
|
||||||
|
|
||||||
|
$(BUILD_OBJ_DIR)/Makefile : $(BUILD_SRC_DIR)/Makefile
|
||||||
|
@$(ECHO) "Updating Makefile"
|
||||||
|
$(VERB) $(MKDIR) $(@D)
|
||||||
|
$(VERB) cp -f $< $@
|
||||||
|
$(VERB) $(MAKE) $(MAKECMDGOALS)
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
ifneq ($(BUILD_OBJ_DIR),$(BUILD_OBJ_ROOT))
|
||||||
|
$(BUILD_OBJ_DIR)/Makefile% : $(BUILD_SRC_DIR)/Makefile%
|
||||||
|
@$(ECHO) "Updating $(@F)"
|
||||||
|
$(VERB) $(MKDIR) $(@D)
|
||||||
|
$(VERB) cp -f $< $@
|
||||||
|
$(VERB) $(MAKE) $(MAKECMDGOALS)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
# Set up the basic dependencies
|
||||||
|
#------------------------------------------------------------------------
|
||||||
|
$(USER_TARGETS):: $(PRECONDITIONS)
|
||||||
|
|
||||||
all:: all-local
|
all:: all-local
|
||||||
check:: check-local
|
check:: check-local
|
||||||
@ -55,12 +133,6 @@ uninstall :: uninstall-local
|
|||||||
check-local:: all-local
|
check-local:: all-local
|
||||||
install-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)
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# VARIABLES: Set up various variables based on configuration data
|
# VARIABLES: Set up various variables based on configuration data
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -313,7 +385,7 @@ uninstall-config-dir:
|
|||||||
done
|
done
|
||||||
|
|
||||||
$(sysconfdir):
|
$(sysconfdir):
|
||||||
$(MKDIR) $(sysconfdir)
|
$(VERB) $(MKDIR) $(sysconfdir)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -804,57 +876,6 @@ endif
|
|||||||
|
|
||||||
endif # ifndef DISABLE_AUTO_DEPENDENCIES
|
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
|
# Handle construction of a distribution tarball
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -940,7 +961,7 @@ dist :: $(DistTarGZip) $(DistTarBZ2) $(DistZip)
|
|||||||
|
|
||||||
DistCheckDir := $(LLVM_OBJ_ROOT)/_distcheckdir
|
DistCheckDir := $(LLVM_OBJ_ROOT)/_distcheckdir
|
||||||
|
|
||||||
dist-check:: $(DistTopDir) $(DistTarGZip)
|
dist-check:: $(DistCheckTop) $(DistTarGZip)
|
||||||
@$(ECHO) Checking distribution tar file.
|
@$(ECHO) Checking distribution tar file.
|
||||||
$(VERB) if test -d $(DistCheckDir) ; then \
|
$(VERB) if test -d $(DistCheckDir) ; then \
|
||||||
$(RM) -rf $(DistCheckDir) ; \
|
$(RM) -rf $(DistCheckDir) ; \
|
||||||
@ -970,7 +991,7 @@ endif
|
|||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# Provide the recursive distdir target for building the distribution directory
|
# Provide the recursive distdir target for building the distribution directory
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
distdir : $(DistCheckTop) $(DistSources)
|
distdir : $(DistSources)
|
||||||
@$(ECHO) Building Distribution Directory $(DistDir)
|
@$(ECHO) Building Distribution Directory $(DistDir)
|
||||||
$(VERB) if test "$(DistDir)" = "$(TopDistDir)" ; then \
|
$(VERB) if test "$(DistDir)" = "$(TopDistDir)" ; then \
|
||||||
if test -d "$(DistDir)" ; then \
|
if test -d "$(DistDir)" ; then \
|
||||||
@ -1084,13 +1105,20 @@ endif
|
|||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# Print out the directories used for building
|
# Print out the directories used for building
|
||||||
printvars::
|
printvars::
|
||||||
|
@$(ECHO) "CONFIGURATION : " $(CONFIGURATION)
|
||||||
@$(ECHO) "BUILD_SRC_ROOT: " $(BUILD_SRC_ROOT)
|
@$(ECHO) "BUILD_SRC_ROOT: " $(BUILD_SRC_ROOT)
|
||||||
@$(ECHO) "BUILD_SRC_DIR : " $(BUILD_SRC_DIR)
|
@$(ECHO) "BUILD_SRC_DIR : " $(BUILD_SRC_DIR)
|
||||||
@$(ECHO) "BUILD_OBJ_ROOT: " $(BUILD_OBJ_ROOT)
|
@$(ECHO) "BUILD_OBJ_ROOT: " $(BUILD_OBJ_ROOT)
|
||||||
@$(ECHO) "BUILD_OBJ_DIR : " $(BUILD_OBJ_DIR)
|
@$(ECHO) "BUILD_OBJ_DIR : " $(BUILD_OBJ_DIR)
|
||||||
@$(ECHO) "LLVM_SRC_ROOT : " $(LLVM_SRC_ROOT)
|
@$(ECHO) "LLVM_SRC_ROOT : " $(LLVM_SRC_ROOT)
|
||||||
@$(ECHO) "LLVM_OBJ_ROOT : " $(LLVM_OBJ_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) "OBJDIR: " $(OBJDIR)
|
||||||
@$(ECHO) "LIBDIR: " $(LIBDIR)
|
@$(ECHO) "LIBDIR: " $(LIBDIR)
|
||||||
@$(ECHO) "TOOLDIR: " $(TOOLDIR)
|
@$(ECHO) "TOOLDIR: " $(TOOLDIR)
|
||||||
|
Loading…
Reference in New Issue
Block a user