Index: CMT/HEAD/mgr/fragments/nmake/c
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/c	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/c	(revision 595)
@@ -22,4 +22,6 @@
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
 
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
+
 $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
 !endif
Index: CMT/HEAD/mgr/fragments/nmake/c_library
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/c_library	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/c_library	(revision 595)
@@ -22,4 +22,6 @@
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
 
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
+
 $(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
 !endif
Index: CMT/HEAD/mgr/fragments/nmake/constituent
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/constituent	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/constituent	(revision 595)
@@ -16,6 +16,6 @@
 ${CONSTITUENT}_extratags = -tag_add=target_${CONSTITUENT}
 
-!if [if not exist $(bin) mkdir $(bin)] == 0
-!endif
+#!if [if not exist $(bin) mkdir $(bin)] == 0
+#!endif
 
 #!if "$(QUICK)" == "" || !exist ($(cmt_local_tagfile_${CONSTITUENT}))
@@ -61,13 +61,14 @@
 
 !if "$(QUICK)" == "" || !exist ($(cmt_local_${CONSTITUENT}_makefile)) || !exist ($(cmt_local_tagfile_${CONSTITUENT})) || !exist ($(cmt_final_setup_${CONSTITUENT}))
-$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies)
+$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) dirs
 	$(echo) (constituents.nmake) Building ${CONSTITUENT}.nmake
 	@set include=$(include)
 	@set lib=$(lib)
 	@$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_config -out=$@ ${CONSTITUENT}
-#	@$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -out=$@ ${CONSTITUENT}
-#	$(echo) (constituents.nmake) ${CONSTITUENT}.nmake done
 !else
-$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies) ;
+$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies) $(use_requirements)
+	@set include=$(include)
+	@set lib=$(lib)
+	@if not "$?"=="$(${CONSTITUENT}_dependencies)" ((if not "$(cmtmsg)"=="" @echo "$(CMTMSGPREFIX)" "(constituents.nmake) Rebuilding ${CONSTITUENT}.nmake") & $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_config -out=$@ ${CONSTITUENT}) else (if not "$(cmtmsg)"=="" @echo "$(CMTMSGPREFIX)" "(constituents.nmake) ${CONSTITUENT}.nmake up-to-date")
 !endif
 
@@ -75,5 +76,5 @@
 
 !if "$(QUICK)" == "" || !exist ($(cmt_local_${CONSTITUENT}_makefile)) || !exist ($(cmt_local_tagfile_${CONSTITUENT})) || !exist ($(cmt_final_setup_${CONSTITUENT}))
-$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies)
+$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) dirs
 	$(echo) (constituents.nmake) Building ${CONSTITUENT}.nmake
 	@set include=$(include)
@@ -81,5 +82,8 @@
 	@$(cmtexe) -f=$(bin)${CONSTITUENT}.in -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -without_cmt -out=$@ ${CONSTITUENT}
 !else
-$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies) ;
+$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies) $(use_requirements) $(bin)${CONSTITUENT}.in
+	@set include=$(include)
+	@set lib=$(lib)
+	@if not "$?"=="$(${CONSTITUENT}_dependencies)" ((if not "$(cmtmsg)"=="" @echo "$(CMTMSGPREFIX)" "(constituents.nmake) Rebuilding ${CONSTITUENT}.nmake") & $(cmtexe) -f=$(bin)${CONSTITUENT}.in -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -without_cmt -out=$@ ${CONSTITUENT}) else (if not "$(cmtmsg)"=="" @echo "$(CMTMSGPREFIX)" "(constituents.nmake) ${CONSTITUENT}.nmake up-to-date")
 !endif
 
@@ -128,11 +132,12 @@
 #${CONSTITUENT}uninstall :: $(cmt_local_${CONSTITUENT}_makefile)
 #${CONSTITUENT}uninstall :: $(cmt_local_tagfile_${CONSTITUENT})
-${CONSTITUENT}uninstall ::
+${CONSTITUENT}uninstall :: $(${CONSTITUENT}uninstall_dependencies)
 	$(echo) (constituents.nmake) Starting uninstall ${CONSTITUENT}
 	@set include=$(include)
 	@set lib=$(lib)
-	@if not exist $(cmt_local_${CONSTITUENT}_makefile) $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_config -out=$(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
+	@-if exist $(cmt_local_${CONSTITUENT}_makefile) $(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles uninstall tag=$(tag)
+#	@if not exist $(cmt_local_${CONSTITUENT}_makefile) $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_config -out=$(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
 #	@if not exist $(cmt_local_${CONSTITUENT}_makefile) $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -out=$(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
-	@-$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles uninstall tag=$(tag)
+#	@-$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles uninstall tag=$(tag)
 	$(echo) (constituents.nmake) uninstall ${CONSTITUENT} done
 
Index: CMT/HEAD/mgr/fragments/nmake/constituent_lock
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/constituent_lock	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/constituent_lock	(revision 595)
@@ -16,6 +16,6 @@
 ${CONSTITUENT}_extratags = -tag_add=target_${CONSTITUENT}
 
-!if [if not exist $(bin) mkdir $(bin)] == 0
-!endif
+#!if [if not exist $(bin) mkdir $(bin)] == 0
+#!endif
 
 #!if "$(QUICK)" == "" || !exist ($(cmt_local_tagfile_${CONSTITUENT}))
@@ -61,13 +61,14 @@
 
 !if "$(QUICK)" == "" || !exist ($(cmt_local_${CONSTITUENT}_makefile)) || !exist ($(cmt_local_tagfile_${CONSTITUENT})) || !exist ($(cmt_final_setup_${CONSTITUENT}))
-$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies)
+$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) dirs
 	$(echo) (constituents.nmake) Building ${CONSTITUENT}.nmake
 	@set include=$(include)
 	@set lib=$(lib)
 	@$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_config -out=$@ ${CONSTITUENT}
-#	@$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -out=$@ ${CONSTITUENT}
-#	$(echo) (constituents.nmake) ${CONSTITUENT}.nmake done
 !else
-$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies) ;
+$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies) $(use_requirements)
+	@set include=$(include)
+	@set lib=$(lib)
+	@if not "$?"=="$(${CONSTITUENT}_dependencies)" ((if not "$(cmtmsg)"=="" @echo "$(CMTMSGPREFIX)" "(constituents.nmake) Rebuilding ${CONSTITUENT}.nmake") & $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_config -out=$@ ${CONSTITUENT}) else (if not "$(cmtmsg)"=="" @echo "$(CMTMSGPREFIX)" "(constituents.nmake) ${CONSTITUENT}.nmake up-to-date")
 !endif
 
@@ -75,5 +76,5 @@
 
 !if "$(QUICK)" == "" || !exist ($(cmt_local_${CONSTITUENT}_makefile)) || !exist ($(cmt_local_tagfile_${CONSTITUENT})) || !exist ($(cmt_final_setup_${CONSTITUENT}))
-$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies)
+$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) dirs
 	$(echo) (constituents.nmake) Building ${CONSTITUENT}.nmake
 	@set include=$(include)
@@ -81,5 +82,8 @@
 	@$(cmtexe) -f=$(bin)${CONSTITUENT}.in -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -without_cmt -out=$@ ${CONSTITUENT}
 !else
-$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies) ;
+$(cmt_local_${CONSTITUENT}_makefile) : $(${CONSTITUENT}_dependencies) $(use_requirements) $(bin)${CONSTITUENT}.in
+	@set include=$(include)
+	@set lib=$(lib)
+	@if not "$?"=="$(${CONSTITUENT}_dependencies)" ((if not "$(cmtmsg)"=="" @echo "$(CMTMSGPREFIX)" "(constituents.nmake) Rebuilding ${CONSTITUENT}.nmake") & $(cmtexe) -f=$(bin)${CONSTITUENT}.in -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -without_cmt -out=$@ ${CONSTITUENT}) else (if not "$(cmtmsg)"=="" @echo "$(CMTMSGPREFIX)" "(constituents.nmake) ${CONSTITUENT}.nmake up-to-date")
 !endif
 
@@ -132,11 +136,12 @@
 #${CONSTITUENT}uninstall :: $(cmt_local_${CONSTITUENT}_makefile)
 #${CONSTITUENT}uninstall :: $(cmt_local_tagfile_${CONSTITUENT})
-${CONSTITUENT}uninstall ::
+${CONSTITUENT}uninstall :: $(${CONSTITUENT}uninstall_dependencies)
 	$(echo) (constituents.nmake) Starting uninstall ${CONSTITUENT}
 	@set include=$(include)
 	@set lib=$(lib)
-	@if not exist $(cmt_local_${CONSTITUENT}_makefile) $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_config -out=$(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
+	@-if exist $(cmt_local_${CONSTITUENT}_makefile) $(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles uninstall tag=$(tag)
+#	@if not exist $(cmt_local_${CONSTITUENT}_makefile) $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_config -out=$(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
 #	@if not exist $(cmt_local_${CONSTITUENT}_makefile) $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -out=$(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
-	@-$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles uninstall tag=$(tag)
+#	@-$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles uninstall tag=$(tag)
 	$(echo) (constituents.nmake) uninstall ${CONSTITUENT} done
 
Index: CMT/HEAD/mgr/fragments/nmake/constituents_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/constituents_header	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/constituents_header	(revision 595)
@@ -43,5 +43,5 @@
 !include $(cmt_local_tagfile)
 
-all ::
+#all ::
 
 #--------------------------------------------------------
@@ -55,5 +55,5 @@
 	@set >env.nmake.tmp; $(cmtexe) check files env.nmake.tmp env.nmake
 
-all ::
+all :: ;
 
 javadirs ::
@@ -63,9 +63,10 @@
 	@if not exist $(src) mkdir $(src)
 
-dirs :: requirements
+#dirs :: requirements
+dirs ::
 	@if not exist $(bin) mkdir $(bin)
 
-requirements :
-	@if not exist requirements echo "No requirements file"
+#requirements :
+#	@if not exist requirements echo "No requirements file"
 
 #!if "$(QUICK)" == ""
@@ -82,6 +83,10 @@
 #!endif
 
-.DEFAULT :
-        $(echo) "???"
+#.DEFAULT :
+#        $(echo) "???"
+
+!if "$(use_requirements)" != ""
+$(use_requirements) : ;
+!endif
 
 #-- end of constituents_header ------
Index: CMT/HEAD/mgr/fragments/nmake/constituents_trailer
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/constituents_trailer	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/constituents_trailer	(revision 595)
@@ -3,19 +3,19 @@
 #clean :: remove_library_links
 
-remove_library_links ::
-	$(echo) "(constituents.nmake) Removing library links"
-	@$(remove_library_links)
+#remove_library_links ::
+#	$(echo) "(constituents.nmake) Removing library links"
+#	@$(remove_library_links)
 
-makefilesclean ::
+#makefilesclean ::
 #	@if exist *.nmake* del *.nmake*
 
 ###	@if exist checkuses del checkuses
 
-clean :: makefilesclean
+#clean :: makefilesclean
 
 #binclean :: clean
-binclean ::
-	$(echo) (constituents.nmake) Removing binary directory $(bin)
-	$(cleanup_silent)if not "$(bin)"==".\" (if exist $(bin) rmdir /S /Q $(bin))
+#binclean ::
+#	$(echo) (constituents.nmake) Removing binary directory $(bin)
+#	$(cleanup_silent)if not "$(bin)"==".\" (if exist $(bin) rmdir /S /Q $(bin))
 #	@del /Q $(bin)\*
 
Index: CMT/HEAD/mgr/fragments/nmake/cpp
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/cpp	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/cpp	(revision 595)
@@ -22,4 +22,6 @@
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
 
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
+
 $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
 !endif
Index: CMT/HEAD/mgr/fragments/nmake/cpp_library
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/cpp_library	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/cpp_library	(revision 595)
@@ -22,4 +22,6 @@
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
 
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
+
 $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
 !endif
Index: CMT/HEAD/mgr/fragments/nmake/dependencies
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/dependencies	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/dependencies	(revision 595)
@@ -1,25 +1,9 @@
-#-- start of dependency ------------------
-
-#!if "$(QUICK)" == ""
-
-#!if exist ("$(CMTROOT)/$(CMTBIN)/cmt.exe")
-#!if [$(build_dependencies) ${CONSTITUENT} -all_sources -out:$(bin)${CONSTITUENT}_dependencies.nmake ${LINE}] == 0
-#!endif
-#!else
-#!if [echo no cmt $(CMTROOT)/$(CMTBIN)/cmt.exe] == 0
-#!endif
-#!endif
+#-- start of dependencies ------------------
 
 dependencies : $(bin)${CONSTITUENT}_dependencies.nmake
 
-!if "$(QUICK)" == ""
-$(bin)${CONSTITUENT}_dependencies.nmake : ${LINE} $(use_requirements) $(cmt_final_setup_${CONSTITUENT})
-!else
-$(bin)${CONSTITUENT}_dependencies.nmake :
-!endif
+$(bin)${CONSTITUENT}_dependencies.nmake : $(use_requirements) $(cmt_final_setup_${CONSTITUENT})
 	$(echo) (${CONSTITUENT}.nmake) Rebuilding $@
-	$(build_dependencies) ${CONSTITUENT} -all_sources -out:$@ ${LINE}
-
-#!endif
+	$(build_dependencies) -out:$@ -start_all ${LINE} -end_all $(includes) $(app_${CONSTITUENT}_cppflags) $(lib_${CONSTITUENT}_cppflags) -name:${CONSTITUENT} $? -f=$(cmt_dependencies_in_${CONSTITUENT}) -without_cmt
 
 !if exist ($(bin)${CONSTITUENT}_dependencies.nmake)
@@ -27,3 +11,6 @@
 !endif
 
-#-- end of dependency ------------------
+${CONSTITUENT}clean ::
+	-$(cleanup_silent) if exist $(bin)${CONSTITUENT}_dependencies.nmake del $(bin)${CONSTITUENT}_dependencies.nmake
+	$(cleanup_silent) if exist $(bin)${CONSTITUENT}_deps rmdir /S /Q $(bin)${CONSTITUENT}_deps
+#-- end of dependencies -------------------
Index: CMT/HEAD/mgr/fragments/nmake/dependency
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/dependency	(revision 595)
+++ CMT/HEAD/mgr/fragments/nmake/dependency	(revision 595)
@@ -0,0 +1,7 @@
+#-- start of dependency ------------------
+
+$(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILEEXTENSION}_dependencies)
+
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
+
+#-- end of dependency -------------------
Index: CMT/HEAD/mgr/fragments/nmake/fortran
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/fortran	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/fortran	(revision 595)
@@ -2,4 +2,6 @@
 
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
+
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
 
 $(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies) 
Index: CMT/HEAD/mgr/fragments/nmake/fortran_library
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/fortran_library	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/fortran_library	(revision 595)
@@ -2,4 +2,6 @@
 
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
+
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
 
 $(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies) 
Index: CMT/HEAD/mgr/fragments/nmake/group
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/group	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/group	(revision 595)
@@ -12,5 +12,5 @@
 	$(echo) " ${GROUP}clean ok."
 
-${GROUP}clean :: makefilesclean
+#${GROUP}clean :: makefilesclean
 
 #-- end of group ------
Index: CMT/HEAD/mgr/fragments/nmake/lex
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/lex	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/lex	(revision 595)
@@ -2,4 +2,6 @@
 
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
+
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
 
 $(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
Index: CMT/HEAD/mgr/fragments/nmake/lex_library
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/lex_library	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/lex_library	(revision 595)
@@ -2,4 +2,6 @@
 
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
+
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
 
 $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
Index: CMT/HEAD/mgr/fragments/nmake/make_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/make_header	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/make_header	(revision 595)
@@ -49,4 +49,5 @@
 
 cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.nmake
+cmt_dependencies_in_${CONSTITUENT} = $(bin)dependencies_${CONSTITUENT}.in
 #cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.nmake
 
@@ -54,4 +55,5 @@
 
 cmt_final_setup_${CONSTITUENT} = $(bin)setup.nmake
+cmt_dependencies_in_${CONSTITUENT} = $(bin)dependencies.in
 #cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.nmake
 
@@ -69,5 +71,5 @@
 
 dirs ::
-	@if not exist requirements echo "No requirements file"
+#	@if not exist requirements echo "No requirements file"
 	@if not exist $(bin) mkdir $(bin)
 
Index: CMT/HEAD/mgr/fragments/nmake/package
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/package	(revision 595)
+++ CMT/HEAD/mgr/fragments/nmake/package	(revision 595)
@@ -0,0 +1,161 @@
+
+cmt_${PACKAGE}_${ISLOCAL} = 1
+
+${PACKAGE}FullName=${PACKAGEFULLNAME}
+${PACKAGE}MgrPath=${PACKAGEMGRPATH}
+
+!if "$(LOG_LOCATION)" != ""
+!if "$(cmt_${PACKAGE}_is_local)" != ""
+${PACKAGE}OutErr = >>$(LOG_LOCATION)\$(${PACKAGE}FullName)$(LOG_SUFFIX) 2>&1
+!else
+!if "$(BCAST_GLOBAL)" != ""
+${PACKAGE}OutErr = >>$(LOG_LOCATION)\$(${PACKAGE}FullName)$(LOG_SUFFIX) 2>&1
+!endif
+!endif
+!endif
+
+!if "$(BCAST_ONLY)" == ""
+${PACKAGE} : ${DEPENDENCIES} $(${PACKAGE}MgrPath)\NMake
+!else
+${PACKAGE} : $(${PACKAGE}MgrPath)\NMake
+!endif
+!if "$(cmt_${PACKAGE}_is_local)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD)] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+!if "$(LOG_LOCATION)" != ""
+	$(silent) type nul > $(LOG_LOCATION)\$(${PACKAGE}FullName)$(LOG_SUFFIX)
+	@( echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD)] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------" ) $(${PACKAGE}OutErr)
+!endif
+!if "$(NO_ALL_GROUPS)" != ""
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) $(${PACKAGE}OutErr)
+!else
+	$(silent) cd /d $(${PACKAGE}MgrPath) && \
+	  $(BCAST_CMD) all $(${PACKAGE}OutErr) \
+	  $(Package_failure_handler)  
+	$(silent) cd /d $(${PACKAGE}MgrPath) && \
+	  for /F "usebackq" %%g in (`$(cmtexe) show groups`) do \
+	    $(silent)( ($(Cmt_actions_handler) \
+	    $(BCAST_CMD) %%g $(${PACKAGE}OutErr))  \
+	    $(Package_failure_handler) )
+!endif
+!else
+!if "$(BCAST_GLOBAL)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD)] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+!if "$(LOG_LOCATION)" != ""
+	$(silent) type nul > $(LOG_LOCATION)\$(${PACKAGE}FullName)$(LOG_SUFFIX)
+	@( echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD)] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------" ) $(${PACKAGE}OutErr)
+!endif
+!if "$(NO_ALL_GROUPS)" != ""
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) $(${PACKAGE}OutErr)
+!else
+	$(silent) cd /d $(${PACKAGE}MgrPath) && \
+	  $(BCAST_CMD) all $(${PACKAGE}OutErr) \
+	  $(Package_failure_handler)  
+	$(silent) cd /d $(${PACKAGE}MgrPath) && \
+	  for /F "usebackq" %%g in (`$(cmtexe) show groups`) do \
+	    $(silent)( ($(Cmt_actions_handler) \
+	    $(BCAST_CMD) %%g $(${PACKAGE}OutErr))  \
+	    $(Package_failure_handler) )
+!endif
+!else
+	
+!endif
+!endif
+
+$(${PACKAGE}MgrPath)\NMake :
+!if "$(cmt_${PACKAGE}_is_local)" != ""
+	$(echo) configuring ${PACKAGE}
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(cmtexe) config
+!else
+!if "$(BCAST_GLOBAL)" != ""
+	$(echo) configuring ${PACKAGE}
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(cmtexe) config
+!else
+	
+!endif
+!endif
+
+!if "$(BCAST_ONLY)" == ""
+all :: ${PACKAGE}
+clean : ${PACKAGE}clean
+binclean : ${PACKAGE}binclean
+uninstall : ${PACKAGE}uninstall
+check : ${PACKAGE}check
+!endif
+
+${PACKAGE}clean : $(${PACKAGE}MgrPath)\NMake
+!if "$(cmt_${PACKAGE}_is_local)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD) clean] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) clean
+!else
+!if "$(BCAST_GLOBAL)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD) clean] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) clean
+!else
+	
+!endif
+!endif
+
+${PACKAGE}binclean : $(${PACKAGE}MgrPath)\NMake
+!if "$(cmt_${PACKAGE}_is_local)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD) binclean] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) binclean
+!else
+!if "$(BCAST_GLOBAL)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD) binclean] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) binclean
+!else
+	
+!endif
+!endif
+
+${PACKAGE}uninstall : $(${PACKAGE}MgrPath)\NMake
+!if "$(cmt_${PACKAGE}_is_local)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD) uninstall] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) uninstall
+!else
+!if "$(BCAST_GLOBAL)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD) uninstall] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) uninstall
+!else
+	
+!endif
+!endif
+
+${PACKAGE}check : $(${PACKAGE}MgrPath)\NMake
+!if "$(cmt_${PACKAGE}_is_local)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD) check] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) check
+!else
+!if "$(BCAST_GLOBAL)" != ""
+	@echo "#--------------------------------------------------------------" \
+	  && echo "# Now trying [$(BCAST_CMD) check] in $(${PACKAGE}MgrPath)" \
+	  && echo "#--------------------------------------------------------------"
+	$(silent) cd /d $(${PACKAGE}MgrPath) && $(BCAST_CMD) check
+!else
+	
+!endif
+!endif
+
+${PACKAGE} ${PACKAGE}clean ${PACKAGE}binclean ${PACKAGE}uninstall ${PACKAGE}check : FORCE
Index: CMT/HEAD/mgr/fragments/nmake/packages_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/packages_header	(revision 595)
+++ CMT/HEAD/mgr/fragments/nmake/packages_header	(revision 595)
@@ -0,0 +1,57 @@
+#-- start of packages_header ------
+
+#!include $(CMTROOT)\src\NMakefile.core
+#!include $(cmt_broadcast_tagfile)
+
+!if "$(BCAST_CMD)" == ""
+BCAST_CMD = $(cmtexe) make /$(MAKEFLAGS) CMTBCAST=
+!endif
+
+!if "$(LOG_LOCATION)" != ""
+LOG_SUFFIX = .log
+!endif
+
+!if "$(CMTACTIONS)" == ""
+Cmt_actions_handler = if not "%%g" == "cmt_actions"
+!else
+Cmt_actions_handler =
+!endif
+
+# -- Special macro to change the behavior on a failure of a package
+#    (complementary to the option '-k')
+#  Allowed values for PACKAGE_FAILURE_POLICY:
+#    stop:   do not continue (default)
+#    skip:   if a group fails, continue with the next package
+#    ignore: try all the groups even if one fails before going to the next package
+#            (may result in duplicated errors within a package)
+# Unix version taken from https://svnweb.cern.ch/trac/gaudi/browser/Gaudi/trunk/Makefile.cmt (Modified)
+Package_failure_handler = & if errorlevel 1 exit 1
+!if "$(PACKAGE_FAILURE_POLICY)" != ""
+!if "$(PACKAGE_FAILURE_POLICY)" == "stop"
+Package_failure_handler = & if errorlevel 1 exit 1
+!else if "$(PACKAGE_FAILURE_POLICY)" == "skip"
+Package_failure_handler = & if errorlevel 1 exit 0
+!else if "$(PACKAGE_FAILURE_POLICY)" == "ignore"
+Package_failure_handler = & (if errorlevel 1 type nul > nul)
+!else
+!error "Unknown PACKAGE_FAILURE_POLICY $(PACKAGE_FAILURE_POLICY). Allowed values: stop (default), skip, ignore"
+!endif
+!endif
+# -----------------------------------------------------------------
+
+all :: ;
+
+!if "$(BCAST_ONLY)" != ""
+all :: ${PACKAGE}
+clean : ${PACKAGE}clean
+binclean : ${PACKAGE}binclean
+uninstall : ${PACKAGE}uninstall
+check : ${PACKAGE}check
+!endif
+#--------------------------------------------------------
+
+!if "$(use_requirements)" != ""
+$(use_requirements) : ;
+!endif
+
+#-- end of packages_header ------
Index: CMT/HEAD/mgr/fragments/nmake/packages_trailer
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/packages_trailer	(revision 595)
+++ CMT/HEAD/mgr/fragments/nmake/packages_trailer	(revision 595)
@@ -0,0 +1,17 @@
+#-- start of packages_trailer ------
+
+clean uninstall check : ;
+
+binclean : FORCE
+!if "$(BCAST_ONLY)" == ""
+!if "$(CMTINSTALLAREA)" != ""
+	$(silent) if exist $(CMTINSTALLAREA)\$(CMTCONFIG) rmdir /S /Q $(CMTINSTALLAREA)\$(CMTCONFIG)
+!endif
+!if "$(LOG_LOCATION)" != ""
+	$(silent) for %%f in ($(LOG_LOCATION)\*$(LOG_SUFFIX)) do $(silent) del %%f
+#	$(silent) del /Q $(LOG_LOCATION)\*$(LOG_SUFFIX)
+!endif
+!endif
+
+FORCE :
+#-- end of packages_trailer ------
Index: CMT/HEAD/mgr/fragments/nmake/yacc
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/yacc	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/yacc	(revision 595)
@@ -2,4 +2,6 @@
 
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
+
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
 
 $(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
Index: CMT/HEAD/mgr/fragments/nmake/yacc_library
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/yacc_library	(revision 576)
+++ CMT/HEAD/mgr/fragments/nmake/yacc_library	(revision 595)
@@ -2,4 +2,6 @@
 
 $(bin)${CONSTITUENT}_dependencies.nmake : $(${NAME}_${FILESUFFIX}_dependencies)
+
+$(bin)${CONSTITUENT}_dependencies.nmake : ${FULLNAME}
 
 $(bin)${CONSTITUENT}/${NAME}${CONSTITUENTSUFFIX}.obj : $(${NAME}_${FILESUFFIX}_dependencies)
