diff --git a/configure/CONFIG_BASE b/configure/CONFIG_BASE index 137ce0098..963b83a32 100644 --- a/configure/CONFIG_BASE +++ b/configure/CONFIG_BASE @@ -30,10 +30,11 @@ endif # BASE_TOP #--------------------------------------------------------------- # Where to find the installed build tools # Windows does not like commands with relative paths starting ../ -# but the Perl scripts in TOP/src/tools are OK +# so TOOLS must be an absolute path, although Perl scripts are OK. +# FIND_TOOL is for scripts run before the build reaches src/tools. TOOLS = $(abspath $(EPICS_BASE_HOST_BIN)) -FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) $(TOP)/src/tools/$(1))) +FIND_TOOL = $(firstword $(wildcard $(TOOLS)/$(1) $(EPICS_BASE)/src/tools/$(1))) #--------------------------------------------------------------- # EPICS Base build tools and tool flags @@ -54,3 +55,8 @@ INSTALL_LIBRARY = $(INSTALL) # tools for making header dependencies and variable replacement MKMF = $(PERL) $(TOOLS)/mkmf.pl REPLACEVAR = $(PERL) $(TOOLS)/replaceVAR.pl + +#--------------------------------------------------------------- +# tools for cleaning out unwanted files +CVSCLEAN = $(call FIND_TOOL,cvsclean.pl) +DEPCLEAN = $(call FIND_TOOL,depclean.pl) diff --git a/configure/RULES_DIRS b/configure/RULES_DIRS index ec156745d..01aa1fdfa 100644 --- a/configure/RULES_DIRS +++ b/configure/RULES_DIRS @@ -86,10 +86,18 @@ $(DIRS) $(dirActionTargets) $(dirArchTargets) $(dirActionArchTargets) : $(ARCHS) $(ACTIONS) $(actionArchTargets) :%: \ $(foreach dir, $(DIRS), $(dir)$(DIVIDER)%) -.PHONY : $(DIRS) all host rebuild -.PHONY : $(ARCHS) $(ACTIONS) -.PHONY : $(dirActionTargets) $(dirArchTargets) -.PHONY : $(dirActionArchTargets) -.PHONY : $(actionArchTargets) + +cvsclean: + $(PERL) $(CVSCLEAN) +depclean: + $(PERL) $(DEPCLEAN) + + +.PHONY: $(DIRS) all host rebuild +.PHONY: $(ARCHS) $(ACTIONS) +.PHONY: $(dirActionTargets) $(dirArchTargets) +.PHONY: $(dirActionArchTargets) +.PHONY: $(actionArchTargets) +.PHONY: cvsclean depclean include $(CONFIG)/RULES_COMMON diff --git a/configure/RULES_TOP b/configure/RULES_TOP index bd844e76f..e1666c9a1 100644 --- a/configure/RULES_TOP +++ b/configure/RULES_TOP @@ -11,13 +11,7 @@ include $(CONFIG)/RULES_DIRS distclean: realclean cvsclean realuninstall -CVSCLEAN = $(call FIND_TOOL,cvsclean.pl) -cvsclean: - $(PERL) $(CVSCLEAN) -DEPCLEAN = $(call FIND_TOOL,depclean.pl) -depclean: - $(PERL) $(DEPCLEAN) realuninstall: uninstallDirs $(RMDIR) $(INSTALL_LOCATION_BIN) @@ -66,7 +60,12 @@ help: @echo " Cannot be used within an O. dir" @echo " rebuild - Same as clean install" @echo " archclean - Removes O. dirs but not O.Common dir" - @echo " runtests - Run self-tests, summarize results" + @echo " depclean - Removes .d files from all O. dirs." + @echo " cvsclean - Removes backup files etc. from all dirs below" + @echo " runtests - Run self-tests, summarize results immediately" + @echo " tapfiles - Run self-tests, save to O./*.tap files" + @echo " test-results - Summarize all O./*.tap files" + @echo " clean-tests - Removes all O./*.tap files" @echo "\"Partial\" build targets supported by Makefiles:" @echo " host - Builds and installs $(EPICS_HOST_ARCH) only." @echo " inc$(DIVIDER) - Installs only header files." @@ -79,15 +78,12 @@ help: @echo " uninstall - Remove install directories created by this hostarch." @echo " realuninstall - Removes ALL install dirs" @echo " distclean - Same as realclean cvsclean realuninstall." - @echo " depclean - Removes all .d files from O. directories." - @echo " cvsclean - Removes cvs .#* files in all dirs of directory tree" @echo " help - Prints this list of valid make targets " @echo "Indiv. object targets are supported by O. level Makefile .e.g" @echo " xxxRecord.o" -.PHONY: cleandirs distclean cvsclean depclean +.PHONY: cleandirs distclean uninstall help .PHONY: realuninstall archuninstall uninstallDirs -.PHONY: uninstall help # Include /cfg/TOP_RULES* files from tops defined in RELEASE* files #