diff --git a/configure/RULES.Db b/configure/RULES.Db index 9782117b4..4152beaa0 100644 --- a/configure/RULES.Db +++ b/configure/RULES.Db @@ -174,12 +174,16 @@ build : $(COMMON_DBDS) $(COMMON_DBS) \ $(DBDDEPENDS_FILES) $(TARGETS) \ $(INSTALL_DB_INSTALLS) $(INSTALL_DBD_INSTALLS) -clean:: +clean: db_clean + +db_clean : @$(RM) $(COMMONS) $(DBDDEPENDS_FILES) @$(RM) *_registerRecordDeviceDriver.cpp @$(RM) $(TARGETS) -realclean:: clean +.PHONY : db_clean + +realclean: clean ##################################################### CapFast filter diff --git a/configure/RULES_ARCHS b/configure/RULES_ARCHS index 4ef90cba6..7f189909c 100644 --- a/configure/RULES_ARCHS +++ b/configure/RULES_ARCHS @@ -77,19 +77,21 @@ O.Common: # # special clean rule # -clean :: +clean : archs_common_clean + +archs_common_clean : $(RMDIR) $(addprefix O.,$(BUILD_ARCHS)) O.Common -archclean :: +archclean : $(RMDIR) $(addprefix O.,$(BUILD_ARCHS)) -$(cleanArchTargets) :: +$(cleanArchTargets) : $(RMDIR) O.$(archPart) -realclean :: +realclean : $(RMDIR) O.* .PHONY : $(actionArchTargets) .PHONY : $(cleanArchTargets) -.PHONY : $(BUILD_ARCHS) rebuild +.PHONY : $(BUILD_ARCHS) rebuild arch_common_clean .PHONY : $(ACTIONS) clean realclean archclean all diff --git a/configure/RULES_BUILD b/configure/RULES_BUILD index 3ec14ab63..665a68510 100644 --- a/configure/RULES_BUILD +++ b/configure/RULES_BUILD @@ -137,13 +137,15 @@ buildInstall : \ $(INSTALL_TEMPLATE) \ $(INSTALL_BIN_INSTALLS) -clean:: +clean: build_clean + +build_clean: $(ECHO) "Cleaning" @$(RM) *.i *$(OBJ) *.a $(TESTPRODNAME) \ $(LIBNAME) $(TESTLIBNAME) $(SHRLIBNAME) $(TESTSHRLIBNAME) \ $(DLL_LINK_LIBNAME) $(TESTDLL_LINK_LIBNAME) \ $(LOADABLE_SHRLIBNAME) \ - $(INC) $(TARGETS) $(TDS)\ + $(INC) $(TARGETS) $(TDS) $(CLEANS) \ *.out MakefileInclude *.manifest *.exp \ $(COMMON_INC) $(HDEPENDS_FILES) $(PRODTARGETS) $(TESTSCRIPTS) ifdef RES @@ -444,7 +446,7 @@ $(INSTALL_TEMPLATES_SUBDIR)/%: % .PRECIOUS: %.i %.o %.c %.nm %.cpp %.cc .PRECIOUS: $(COMMON_INC) -.PHONY: all inc build install clean rebuild buildInstall +.PHONY: all inc build install clean rebuild buildInstall build_clean .PHONY: runtests checkRelease warnRelease endif # BASE_RULES_BUILD diff --git a/configure/RULES_EXPAND b/configure/RULES_EXPAND index 7bc4c863d..c103fe95c 100644 --- a/configure/RULES_EXPAND +++ b/configure/RULES_EXPAND @@ -17,7 +17,11 @@ $(EXPANDED): %: ../%@ @$(RM) $@ @$(EXPAND_TOOL) $(EXPANDFLAGS) $($@_EXPANDFLAGS) $< $@ -clean:: +clean: expand_clean + +expand_clean: @$(RM) $(EXPANDED) +.PHONY : expand_clean + endif diff --git a/configure/RULES_FILE_TYPE b/configure/RULES_FILE_TYPE index d5aeddf38..1af5c5415 100644 --- a/configure/RULES_FILE_TYPE +++ b/configure/RULES_FILE_TYPE @@ -68,6 +68,9 @@ endef $(foreach type, $(FILE_TYPE),$(eval $(call FILE_TYPE_template,$(strip $(type))))) #--------------------------------------------- -clean:: +clean: file_type_clean + +file_type_clean: @$(RM) $(foreach type, $(FILE_TYPE), $($(type))) +.PHONY : file_type_clean diff --git a/configure/RULES_JAVA b/configure/RULES_JAVA index 9b05f424f..40be9192b 100644 --- a/configure/RULES_JAVA +++ b/configure/RULES_JAVA @@ -102,8 +102,10 @@ build: $(COMMON_TESTCLASSES) buildInstall : $(INSTALL_JAR) $(INSTALL_JAVADOC) +clean: java_clean + #This clean works only from O.* dirs. -clean:: +java_clean: @$(RMDIR) $(INSTALL_CLASSES) $(PACKAGEDIRS) @$(RM) $(INSTALL_JAR) $(INSTALL_JAVADOC) @$(RM) $(COMMON_TESTCLASSES) $(COMMON_JAVAINC) @@ -150,7 +152,7 @@ $(addprefix $(INSTALL_JAVA)/, $(JARINPUT)): $(INSTALL_JAVA)/%: ../% $(ECHO) "Installing jar input file $@" @$(INSTALL) -d -m $(INSTALL_PERMISSIONS) $< $(@D) -.PHONY: all install buildInstall rebuild clean build inc +.PHONY: all install buildInstall rebuild clean build inc java_clean .PRECIOUS: $(COMMON_JAVAINC) diff --git a/configure/RULES_OCTAVE b/configure/RULES_OCTAVE index 149944be0..6ac170984 100644 --- a/configure/RULES_OCTAVE +++ b/configure/RULES_OCTAVE @@ -31,10 +31,14 @@ $(1) : $$($(1)_SRCS) endef $(foreach file, $(OCTAVES),$(eval $(call OCTAVES_template,$(strip $(file))))) +clean: octave_clean + #This clean works from O.* dirs. -clean:: +octave_clean: @$(RM) *.mex *.m +.PHONY: octave_clean + .PRECIOUS: *.m *.mex %.mex: diff --git a/src/ca/client/perl/Makefile b/src/ca/client/perl/Makefile index 55693763d..6cff56a28 100644 --- a/src/ca/client/perl/Makefile +++ b/src/ca/client/perl/Makefile @@ -46,6 +46,8 @@ ifeq ($(findstring Host,$(VALID_BUILDS)),Host) HTMLS = CA.html endif +CLEANS += Cap5.c pod2htmd.tmp pod2htmi.tmp + include $(TOP)/configure/RULES ifdef T_A @@ -59,6 +61,4 @@ ifdef T_A $(RM) $@ podchecker $< && pod2html --infile=$< --outfile=$@ - clean:: - $(RM) Cap5.c endif diff --git a/src/ca/legacy/gdd/Makefile b/src/ca/legacy/gdd/Makefile index 77d650424..805f26133 100644 --- a/src/ca/legacy/gdd/Makefile +++ b/src/ca/legacy/gdd/Makefile @@ -62,6 +62,8 @@ genApps_SYS_LIBS_WIN32 = ws2_32 # aitGen.c doesn't compile for linux-arm at -O3 when using gcc-3.4.5 aitGen_CFLAGS_linux-arm = -O2 +CLEANS += $(COMMON_DIR)/aitConvertGenerated.cc + include $(TOP)/configure/RULES # cannot generate these dependencies automatically @@ -83,5 +85,3 @@ $(COMMON_DIR)/aitConvertGenerated.cc: $(TOOLS)/aitGen$(HOSTEXE) $(COMMON_DIR)/gddApps.h : $(TOOLS)/genApps$(HOSTEXE) $(TOOLS)/genApps$(HOSTEXE) $@ -clean:: - @$(RM) $(COMMON_DIR)/aitConvertGenerated.cc diff --git a/src/ca/legacy/pcas/build/Makefile b/src/ca/legacy/pcas/build/Makefile index 296bc59ef..0cb91fbea 100644 --- a/src/ca/legacy/pcas/build/Makefile +++ b/src/ca/legacy/pcas/build/Makefile @@ -87,8 +87,6 @@ cas_LIBS = ca gdd Com cas_SYS_LIBS_WIN32 = ws2_32 cas_RCS = cas.rc +CLEANS += Templates.DB + include $(TOP)/configure/RULES - -clean:: - @$(RM) Templates.DB - diff --git a/src/ca/legacy/pcas/example/directoryService/Makefile b/src/ca/legacy/pcas/example/directoryService/Makefile index 93d3c2ef6..05bb4ac37 100644 --- a/src/ca/legacy/pcas/example/directoryService/Makefile +++ b/src/ca/legacy/pcas/example/directoryService/Makefile @@ -28,14 +28,10 @@ SRCS += directoryServer.cc PROD_HOST = caDirServ +CLEANS += caDirServ pcaDirServ Templates.DB core + include $(TOP)/configure/RULES pcaDirServ: $(PRODUCT_OBJS) $(PROD_RESS) $(PROD_DEPLIBS) $(PURIFY_$(OS_CLASS)) $(LINK.cpp) -clean:: - @$(RM) caDirServ - @$(RM) pcaDirServ - @$(RM) Templates.DB - @$(RM) core - diff --git a/src/ioc/bpt/Makefile b/src/ioc/bpt/Makefile index 82a1f7ef1..9c540a131 100644 --- a/src/ioc/bpt/Makefile +++ b/src/ioc/bpt/Makefile @@ -13,8 +13,7 @@ SRC_DIRS += $(IOCDIR)/bpt INC += cvtTable.h -DBD += menuConvert.dbd -INC += menuConvert.h +DBDINC += menuConvert BPT_DBD += bptTypeJdegC.dbd BPT_DBD += bptTypeJdegF.dbd diff --git a/src/ioc/dbStatic/Makefile b/src/ioc/dbStatic/Makefile index 8bcc24f41..6b2d16840 100644 --- a/src/ioc/dbStatic/Makefile +++ b/src/ioc/dbStatic/Makefile @@ -54,3 +54,4 @@ dbExpand_SRCS += $(dbStaticHost_SRCS) dbToMenuH_SRCS += $(dbStaticHost_SRCS) dbToRecordtypeH_SRCS += $(dbStaticHost_SRCS) +CLEANS += dbLex.c dbYacc.c diff --git a/src/ioc/dbStatic/RULES b/src/ioc/dbStatic/RULES index 94ef256be..70e2cdaee 100644 --- a/src/ioc/dbStatic/RULES +++ b/src/ioc/dbStatic/RULES @@ -11,6 +11,3 @@ # dbLexRoutines.c is included in dbYacc.c dbYacc.c: dbLex.c $(IOCDIR)/dbStatic/dbLexRoutines.c - -clean:: - @$(RM) dbLex.c dbYacc.c diff --git a/src/ioc/dbtemplate/Makefile b/src/ioc/dbtemplate/Makefile index fb35e59e6..425a08be7 100644 --- a/src/ioc/dbtemplate/Makefile +++ b/src/ioc/dbtemplate/Makefile @@ -19,3 +19,4 @@ dbCore_SRCS += dbtoolsIocRegister.c HTMLS += dbtemplate/dbLoadTemplate.html +CLEANS += dbLoadTemplate_lex.c dbLoadTemplate.c diff --git a/src/ioc/dbtemplate/RULES b/src/ioc/dbtemplate/RULES index ecc8113a5..d528be9ec 100644 --- a/src/ioc/dbtemplate/RULES +++ b/src/ioc/dbtemplate/RULES @@ -12,6 +12,3 @@ # dbLoadTemplate_lex.c is included by dbLoadTemplate.c dbLoadTemplate.c: dbLoadTemplate_lex.c $(IOCDIR)/dbtemplate/dbLoadTemplate.h -clean:: - @$(RM) dbLoadTemplate_lex.c dbLoadTemplate.c - diff --git a/src/libCom/as/Makefile b/src/libCom/as/Makefile index 898bc8b1e..9335735e9 100644 --- a/src/libCom/as/Makefile +++ b/src/libCom/as/Makefile @@ -19,3 +19,4 @@ INC += asTrapWrite.h LIB_SRCS += asLib.c LIB_SRCS += asTrapWrite.c +CLEANS += asLib.c asLib_lex.c diff --git a/src/libCom/as/RULES b/src/libCom/as/RULES index 5b47b7604..c2f2d8a4f 100644 --- a/src/libCom/as/RULES +++ b/src/libCom/as/RULES @@ -17,6 +17,3 @@ asLib$(OBJ): asLib_lex.c # Ensure that lexer and parser are built before they are needed asLib.c: $(call PATH_FILTER, $(TOOLS)/antelope$(HOSTEXE)) asLib_lex.c: $(call PATH_FILTER, $(TOOLS)/e_flex$(HOSTEXE)) - -clean:: - @$(RM) asLib.c asLib_lex.c diff --git a/src/libCom/env/Makefile b/src/libCom/env/Makefile index 1f9d6812a..69c9d253b 100644 --- a/src/libCom/env/Makefile +++ b/src/libCom/env/Makefile @@ -14,3 +14,4 @@ INC += envDefs.h Com_SRCS += envSubr.c Com_SRCS += envData.c +CLEANS += envData.c diff --git a/src/libCom/env/RULES b/src/libCom/env/RULES index 68804e05f..24e1522cd 100644 --- a/src/libCom/env/RULES +++ b/src/libCom/env/RULES @@ -10,6 +10,3 @@ envData.c: $(LIBCOM)/env/envDefs.h $(LIBCOM)/env/bldEnvData.pl \ $(CONFIG)/CONFIG_ENV $(CONFIG)/CONFIG_SITE_ENV $(PERL) $(LIBCOM)/env/bldEnvData.pl $(CONFIG) - -clean:: - @$(RM) envData.c diff --git a/src/libCom/error/Makefile b/src/libCom/error/Makefile index e07e86891..5b3c2c3c3 100644 --- a/src/libCom/error/Makefile +++ b/src/libCom/error/Makefile @@ -32,3 +32,4 @@ ERR_S_FILES += $(LIBCOM)/error/errMdef.h ERR_S_FILES += $(SRC)/ca/legacy/pcas/generic/casdef.h ERR_S_FILES += $(SRC)/ca/legacy/gdd/gddAppFuncTable.h +CLEANS += errSymTbl.c diff --git a/src/libCom/error/RULES b/src/libCom/error/RULES index 7d26e8659..dc2926ff3 100644 --- a/src/libCom/error/RULES +++ b/src/libCom/error/RULES @@ -9,6 +9,3 @@ errSymTbl.c: $(ERR_S_FILES) $(LIBCOM)/error/makeStatTbl.pl $(PERL) $(LIBCOM)/error/makeStatTbl.pl $(ERR_S_FILES) - -clean:: - @$(RM) errSymTbl.c diff --git a/src/libCom/flex/Makefile b/src/libCom/flex/Makefile index 25048350a..c63c5a5b6 100644 --- a/src/libCom/flex/Makefile +++ b/src/libCom/flex/Makefile @@ -33,3 +33,4 @@ e_flex_OBJS += epicsTempFile$(OBJ) PROD_HOST += e_flex +CLEANS += parse.c parse.h diff --git a/src/libCom/flex/RULES b/src/libCom/flex/RULES index 6cf044524..8a90f9d6d 100644 --- a/src/libCom/flex/RULES +++ b/src/libCom/flex/RULES @@ -11,6 +11,3 @@ # Ensure that the lexer is built before it is needed parse.c: $(YACC) - -clean:: - $(RM) parse.c parse.h diff --git a/src/std/softIoc/Makefile b/src/std/softIoc/Makefile index fff5c466d..8b8c2a053 100644 --- a/src/std/softIoc/Makefile +++ b/src/std/softIoc/Makefile @@ -28,3 +28,5 @@ DB += softIocExit.db FINAL_LOCATION ?= $(shell $(PERL) $(TOOLS)/fullPathName.pl $(INSTALL_LOCATION)) +CLEANS += epicsInstallDir.h + diff --git a/src/std/softIoc/RULES b/src/std/softIoc/RULES index e57ec913d..c546b9108 100644 --- a/src/std/softIoc/RULES +++ b/src/std/softIoc/RULES @@ -15,6 +15,3 @@ epicsInstallDir.h: $(ECHO) "FINAL_LOCATION=$(FINAL_LOCATION)" $(PERL) $(STDDIR)/softIoc/makeInstallDir.pl '$(FINAL_LOCATION)' > $@ -clean:: - @$(RM) epicsInstallDir.h -