Index: CMT/HEAD/ChangeLog
===================================================================
--- CMT/HEAD/ChangeLog	(revision 486)
+++ CMT/HEAD/ChangeLog	(revision 487)
@@ -1,2 +1,91 @@
+2009-01-08    <rybkin@lal.in2p3.fr> 382
+	
+	* source/cmt_parser.cxx: In function Cmt::do_show_groups, ensure that the
+	constituents are parsed so that command "cmt show groups" is functional
+	* src/Makefile.header: Make the READONLY mode obsolete (the relocation
+	of the binary build directory provides this functionality as well).
+	Change the name of the file recording the setup to $(bin)setup.make and
+	generate it here. Do not specify the first, config targets. Add the
+	uninstall targets to the help message
+	* mgr/fragments/constituents_header: Make the READONLY mode obsolete.
+	Change the name of the file recording the setup to $(bin)setup.make and
+	do not generate it here. Remove the first, config, checkuses targets
+	* mgr/fragments/constituent: Make the READONLY mode obsolete.
+	Change the names of the files recording the setup to $(bin)setup.make and
+	$(bin)setup_${CONSTITUENT}.make, do not override the latter when identical
+	(see C.L. 233). Make $(cmt_local_${CONSTITUENT}_makefile) only depend on
+	$(cmt_local_tagfile_${CONSTITUENT}). Make ${CONSTITUENT}clean also depend
+	on $(cmt_local_${CONSTITUENT}_makefile)
+	* mgr/fragments/constituent_lock: idem
+	* mgr/fragments/make_header: Make the READONLY mode obsolete. 
+	Change the names of the files recording the setup to $(bin)setup.make and
+	$(bin)setup_${CONSTITUENT}.make. Add a rule with an empty command for
+	$(use_requirements) for optimisation.
+	* mgr/fragments/cmt_action_runner_header: Improve control of Make verbosity
+	* mgr/fragments/protos_header: idem
+	* mgr/fragments/buildproto: idem
+	* mgr/fragments/cleanup_objects: Clean up per object file dependencies
+	files and stamps
+	* mgr/fragments/library: idem
+	* mgr/fragments/library_no_share: idem
+	* mgr/fragments/library_no_static: idem
+	* mgr/fragments/dependencies: Do not include dependencies fragment in the
+	constituent makefile when "make uninstall" is run
+	* mgr/fragments/c: idem
+	* mgr/fragments/c_library: idem
+	* mgr/fragments/cpp: idem
+	* mgr/fragments/cpp_library: idem
+	* mgr/fragments/cleanup_library: Fix for the clean command
+	* mgr/fragments/check_application_header: Improve control of Make verbosity,
+	make ${CONSTITUENT}check depend on $(cmt_local_${CONSTITUENT}_makefile)
+	* mgr/fragments/check_application: Specify the application path when
+	running it (so that the command does not fail if . is not in the PATH)
+	* mgr/fragments/constituents_trailer: Minor change to diognostic messages
+	* mgr/fragments/cleanup_application: idem
+	* mgr/fragments/cleanup_header: Replace cd . with an empty command
+	* mgr/cmt_uninstall_action.sh: Ensure that dangling symbolic links can be
+	uninstalled
+	* src/NMakefile.header: Improve the help message, make it the same as for UNix-like
+	systems. In the QUICK mode, generate $(cmt_constituents_makefile) if non-existent
+	* mgr/fragments/nmake/constituents_header: Do not override the $(bin)setup.nmake
+	when identical (see C.L. 233). In the QUICK mode, generate $(cmt_local_tagfile)
+	if non-existent. Add diagnostic messages
+	* mgr/fragments/nmake/constituent: Change the names of the files recording
+	the setup to $(bin)setup.nmake and $(bin)setup_${CONSTITUENT}.nmake, do not
+	override the latter when identical (see C.L. 233).
+	Make $(cmt_local_${CONSTITUENT}_makefile) only depend on
+	$(cmt_local_tagfile_${CONSTITUENT}). Make ${CONSTITUENT}clean also depend
+	on $(cmt_local_${CONSTITUENT}_makefile).
+	In the QUICK mode, generate $(cmt_local_tagfile_${CONSTITUENT}) if non-existent
+	* mgr/fragments/nmake/constituent_lock:	idem
+	* mgr/fragments/nmake/cmt_action_runner_header: Improve control of Make verbosity
+	* mgr/fragments/nmake/protos_header: idem
+	* mgr/fragments/nmake/buildproto: Introduce NMake version of the file
+	* mgr/fragments/nmake/cpp: Fix a typo
+	* mgr/fragments/nmake/cpp_library: idem
+	* mgr/fragments/nmake/c: idem
+	* mgr/fragments/nmake/c_library: idem
+	* mgr/fragments/nmake/application: Remove the connection between clean and
+	uninstall targets - same as the for Unix-like systems (see C.L. 246)
+	* mgr/fragments/nmake/library: idem
+	* mgr/fragments/nmake/library_no_share: idem
+	* mgr/fragments/nmake/library_no_static: idem
+	* mgr/fragments/nmake/jar: idem
+	* mgr/fragments/nmake/java_header: idem
+	* mgr/fragments/nmake/install_includes_header: idem
+	* mgr/fragments/nmake/dependencies: Do not attempt to include the dependencies
+	file if	non-existent
+	* mgr/fragments/nmake/group: Make ${GROUP} also depend on
+	$(${GROUP}_dependencies)
+	* mgr/fragments/nmake/check_application_header: Improve control of Make verbosity,
+	make ${CONSTITUENT}check depend on $(cmt_local_${CONSTITUENT}_makefile)
+	* mgr/fragments/nmake/make_header: Change the names of the files recording the
+	setup to $(bin)setup.nmake and $(bin)setup_${CONSTITUENT}.nmake. Add a rule with
+	an empty command for $(use_requirements) for optimisation
+	* mgr/fragments/nmake/constituents_trailer: Remove the connection between
+	binclean and clean targets to make the former a fast removal of $(bin)
+	* mgr/fragments/nmake/cleanup_header: Add a clean target dependent on
+	${CONSTITUENT}clean
+	
 2008-12-17    <rybkin@lal.in2p3.fr> 381
 	
Index: CMT/HEAD/mgr/cmt_uninstall_action.sh
===================================================================
--- CMT/HEAD/mgr/cmt_uninstall_action.sh	(revision 486)
+++ CMT/HEAD/mgr/cmt_uninstall_action.sh	(revision 487)
@@ -122,5 +122,15 @@
 fi
 
-if test -d ${dest_file_path}; then
+if test -L ${dest_file_path}; then
+
+if test "${cmtmsg}"; then
+  echo "${CMTMSGPREFIX}" removing symbolic link ${file_name} from ${install_dir}
+fi
+if test "${makecmd}"; then set -v; fi
+  /bin/rm -f ${dest_file_path}
+if test "${makecmd}"; then set +v; fi
+
+elif test -d ${dest_file_path}; then
+
 if test "${cmtmsg}"; then
   echo "${CMTMSGPREFIX}" removing directory ${file_name} from ${install_dir}
@@ -129,5 +139,7 @@
   /bin/rm -rf ${dest_file_path}
 if test "${makecmd}"; then set +v; fi
+
 elif test -f ${dest_file_path}; then
+
 if test "${cmtmsg}"; then
   echo "${CMTMSGPREFIX}" removing file ${file_name} from ${install_dir}
@@ -136,4 +148,5 @@
   /bin/rm -f ${dest_file_path}
 if test "${makecmd}"; then set +v; fi
+
 fi
 
Index: CMT/HEAD/mgr/fragments/buildproto
===================================================================
--- CMT/HEAD/mgr/fragments/buildproto	(revision 486)
+++ CMT/HEAD/mgr/fragments/buildproto	(revision 487)
@@ -2,7 +2,7 @@
 
 $(inc)${NAME}.pp : ${FILEPATH}${FILENAME}
-	@echo "Now rebuilding $@"
-	@cd $(inc); $(build_prototype) ${FILEPATH}${FILENAME} >/dev/null
-	@cat /dev/null >$(inc)${NAME}.pp
+	$(echo) "Now rebuilding $@"
+	cd $(inc); $(build_prototype) ${FILEPATH}${FILENAME} >/dev/null
+	cat /dev/null >$(inc)${NAME}.pp
 
 #-- end of buildproto
Index: CMT/HEAD/mgr/fragments/c
===================================================================
--- CMT/HEAD/mgr/fragments/c	(revision 486)
+++ CMT/HEAD/mgr/fragments/c	(revision 487)
@@ -4,4 +4,5 @@
 
 ifneq ($(MAKECMDGOALS),${CONSTITUENT}clean)
+ifneq ($(MAKECMDGOALS),uninstall)
 -include $(bin)$(binobj)${NAME}${CONSTITUENTSUFFIX}.d
 
@@ -12,4 +13,5 @@
 	$(c_silent) $(ccomp) ${DEPENDENCIESOPTS} -o $(@D)/${NAME}${CONSTITUENTSUFFIX}.dep $(use_pp_cflags) $(${CONSTITUENT}_pp_cflags) $(app_${CONSTITUENT}_pp_cflags) $(${NAME}_pp_cflags) $(use_cflags) $(${CONSTITUENT}_cflags) $(app_${CONSTITUENT}_cflags) $(${NAME}_cflags) $(${NAME}_${FILESUFFIX}_cflags) ${ADDINCLUDE} ${FULLNAME}
 	$(c_silent) $(format_dependencies) $@ $(@D)/${NAME}${CONSTITUENTSUFFIX}.o ${FULLNAME} $(@D)/${NAME}${CONSTITUENTSUFFIX}.dep
+endif
 endif
 
Index: CMT/HEAD/mgr/fragments/c_library
===================================================================
--- CMT/HEAD/mgr/fragments/c_library	(revision 486)
+++ CMT/HEAD/mgr/fragments/c_library	(revision 487)
@@ -4,4 +4,5 @@
 
 ifneq ($(MAKECMDGOALS),${CONSTITUENT}clean)
+ifneq ($(MAKECMDGOALS),uninstall)
 -include $(bin)$(binobj)${NAME}${CONSTITUENTSUFFIX}.d
 
@@ -12,4 +13,5 @@
 	$(c_silent) $(ccomp) ${DEPENDENCIESOPTS} -o $(@D)/${NAME}${CONSTITUENTSUFFIX}.dep $(use_pp_cflags) $(${CONSTITUENT}_pp_cflags) $(lib_${CONSTITUENT}_pp_cflags) $(${NAME}_pp_cflags) $(use_cflags) $(${CONSTITUENT}_cflags) $(lib_${CONSTITUENT}_cflags) $(${NAME}_cflags) $(${NAME}_${FILESUFFIX}_cflags) ${ADDINCLUDE} ${FULLNAME}
 	$(c_silent) $(format_dependencies) $@ $(@D)/${NAME}${CONSTITUENTSUFFIX}.o ${FULLNAME} $(@D)/${NAME}${CONSTITUENTSUFFIX}.dep
+endif
 endif
 
Index: CMT/HEAD/mgr/fragments/check_application
===================================================================
--- CMT/HEAD/mgr/fragments/check_application	(revision 486)
+++ CMT/HEAD/mgr/fragments/check_application	(revision 487)
@@ -4,6 +4,7 @@
 
 ${CONSTITUENT}check :: ${CONSTITUENT}
-	cd $(bin); $(${CONSTITUENT}_pre_check)
-	cd $(bin); ${CONSTITUENT}${application_suffix} $(${CONSTITUENT}_check_args)
-	cd $(bin); $(${CONSTITUENT}_post_check)
+	$(${CONSTITUENT}_pre_check)
+	$(bin)${CONSTITUENT}${application_suffix} $(${CONSTITUENT}_check_args)
+	$(${CONSTITUENT}_post_check)
+
 #-- end of check_application ------
Index: CMT/HEAD/mgr/fragments/check_application_header
===================================================================
--- CMT/HEAD/mgr/fragments/check_application_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/check_application_header	(revision 487)
@@ -2,9 +2,15 @@
 
 check :: ${CONSTITUENT}check
-	@echo "------> ${CONSTITUENT}check ok"
+	$(echo) "(constituents.make) ${CONSTITUENT}check ok"
+#	@echo "------> ${CONSTITUENT}check ok"
 
-${CONSTITUENT}check ::
-	@echo "------> starting ${CONSTITUENT}check"
-	@$(cmtexe) build constituent_makefile ${CONSTITUENT}; $(MAKE) -f ${CONSTITUENT}.make build_strategy=keep_makefiles ${CONSTITUENT}check
+#${CONSTITUENT}check : ${CONSTITUENT} $(cmt_local_${CONSTITUENT}_makefile)
+${CONSTITUENT}check : $(cmt_local_${CONSTITUENT}_makefile)
+	$(echo) "(constituents.make) Starting $@"
+	@$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) $@
+
+#${CONSTITUENT}check ::
+#	@echo "------> starting ${CONSTITUENT}check"
+#	@$(cmtexe) build constituent_makefile ${CONSTITUENT}; $(MAKE) -f ${CONSTITUENT}.make build_strategy=keep_makefiles ${CONSTITUENT}check
 
 #-- end of check_application_header ------
Index: CMT/HEAD/mgr/fragments/cleanup_application
===================================================================
--- CMT/HEAD/mgr/fragments/cleanup_application	(revision 486)
+++ CMT/HEAD/mgr/fragments/cleanup_application	(revision 487)
@@ -1,6 +1,4 @@
 #-- start of cleanup_application ------
-	$(cleanup_echo) ${CONSTITUENT}${application_suffix}
+	$(cleanup_echo) application ${CONSTITUENT}
 	-$(cleanup_silent) cd $(bin); /bin/rm -f ${CONSTITUENT}${application_suffix}
-
-#	@echo "------> (${CONSTITUENT}.make) Removing application files"
 #-- end of cleanup_application ------
Index: CMT/HEAD/mgr/fragments/cleanup_header
===================================================================
--- CMT/HEAD/mgr/fragments/cleanup_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/cleanup_header	(revision 487)
@@ -1,6 +1,6 @@
 #-- start of cleanup_header --------------
 
-clean :: ${CONSTITUENT}clean
-	@cd .
+clean :: ${CONSTITUENT}clean ;
+#	@cd .
 
 ifndef PEDANTIC
Index: CMT/HEAD/mgr/fragments/cleanup_library
===================================================================
--- CMT/HEAD/mgr/fragments/cleanup_library	(revision 486)
+++ CMT/HEAD/mgr/fragments/cleanup_library	(revision 487)
@@ -1,5 +1,4 @@
 #-- start of cleanup_library -------------
-	$(cleanup_echo) library
-	-$(cleanup_silent) cd $(bin); /bin/rm -f $(binobj)$(library_prefix)${CONSTITUENT}$(library_suffix).a $(binobj)$(library_prefix)${CONSTITUENT}$(library_suffix).s? $(binobj)${CONSTITUENT}.stamp $(binobj)${CONSTITUENT}.shstamp
+	$(cleanup_echo) library ${CONSTITUENT}
+	-$(cleanup_silent) cd $(bin); /bin/rm -f $(library_prefix)${CONSTITUENT}$(library_suffix).a $(library_prefix)${CONSTITUENT}$(library_suffix).s? ${CONSTITUENT}.stamp ${CONSTITUENT}.shstamp
 #-- end of cleanup_library ---------------
-
Index: CMT/HEAD/mgr/fragments/cleanup_objects
===================================================================
--- CMT/HEAD/mgr/fragments/cleanup_objects	(revision 486)
+++ CMT/HEAD/mgr/fragments/cleanup_objects	(revision 487)
@@ -1,5 +1,6 @@
 #-- start of cleanup_objects ------
-	$(cleanup_echo) objects
+	$(cleanup_echo) objects ${CONSTITUENT}
 	-$(cleanup_silent) /bin/rm -f ${OBJS}
+	-$(cleanup_silent) /bin/rm -f $(patsubst %.o,%.d,${OBJS}) $(patsubst %.o,%.dep,${OBJS}) $(patsubst %.o,%.d.stamp,${OBJS})
 	-$(cleanup_silent) cd $(bin); /bin/rm -rf ${CONSTITUENT}_deps ${CONSTITUENT}_dependencies.make
 #-- end of cleanup_objects ------
Index: CMT/HEAD/mgr/fragments/cmt_action_runner_header
===================================================================
--- CMT/HEAD/mgr/fragments/cmt_action_runner_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/cmt_action_runner_header	(revision 487)
@@ -7,15 +7,18 @@
 ifdef ${CONSTITUENT}_once
 
-${CONSTITUENT}actionstamp = ${CONSTITUENT}.actionstamp
+${CONSTITUENT}actionstamp = $(bin)${CONSTITUENT}.actionstamp
+#${CONSTITUENT}actionstamp = ${CONSTITUENT}.actionstamp
 
 ${CONSTITUENT} :: $(${CONSTITUENT}actionstamp)
-	@echo ${CONSTITUENT} ok
+	$(echo) "${CONSTITUENT} ok"
+#	@echo ${CONSTITUENT} ok
 
 $(${CONSTITUENT}actionstamp) :: $(${CONSTITUENT}_dependencies)
 	$(silent) ${action_value}
-	@echo ok > $(${CONSTITUENT}actionstamp)
+	$(silent) cat /dev/null > $(${CONSTITUENT}actionstamp)
+#	@echo ok > $(${CONSTITUENT}actionstamp)
 
 ${CONSTITUENT}clean ::
-	@/bin/rm -f $(${CONSTITUENT}actionstamp)
+	$(cleanup_silent) /bin/rm -f $(${CONSTITUENT}actionstamp)
 
 else
Index: CMT/HEAD/mgr/fragments/constituent
===================================================================
--- CMT/HEAD/mgr/fragments/constituent	(revision 486)
+++ CMT/HEAD/mgr/fragments/constituent	(revision 487)
@@ -7,14 +7,10 @@
 ifdef cmt_${CONSTITUENT}_has_target_tag
 
-ifdef READONLY
-cmt_local_tagfile_${CONSTITUENT} = /tmp/CMT_$(${PACKAGE}_tag)_${CONSTITUENT}.make$(cmt_lock_pid)
-cmt_final_setup_${CONSTITUENT} = /tmp/CMT_${PACKAGE}_${CONSTITUENT}setup.make
-cmt_local_${CONSTITUENT}_makefile = /tmp/CMT_${CONSTITUENT}$(cmt_lock_pid).make
-else
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag)_${CONSTITUENT}.make
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag)_${CONSTITUENT}.make
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}setup.make
+cmt_local_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}$$$$.make
+cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.make
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}setup.make
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
-endif
 
 ${CONSTITUENT}_extratags = -tag_add=target_${CONSTITUENT}
@@ -26,54 +22,70 @@
 $(cmt_local_tagfile_${CONSTITUENT}) :
 endif
-	$(echo) "(constituents.make) Rebuilding setup.make $(cmt_local_tagfile_${CONSTITUENT})"
-	@if test -f $(cmt_local_tagfile_${CONSTITUENT}); then /bin/rm -f $(cmt_local_tagfile_${CONSTITUENT}); fi ; \
-	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build tag_makefile >>$(cmt_local_tagfile_${CONSTITUENT}); \
-	  if test -f $(cmt_final_setup_${CONSTITUENT}); then /bin/rm -f $(cmt_final_setup_${CONSTITUENT}); fi; \
-	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >>$(cmt_final_setup_${CONSTITUENT})
-	$(echo) setup.make ok
+	$(echo) "(constituents.make) Rebuilding $@"; \
+	  if test -f $(cmt_local_tagfile_${CONSTITUENT}); then /bin/rm -f $(cmt_local_tagfile_${CONSTITUENT}); fi ; \
+	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build tag_makefile >>$(cmt_local_tagfile_${CONSTITUENT})
+	$(echo) "(constituents.make) Rebuilding $(cmt_final_setup_${CONSTITUENT})"; \
+	  test ! -f $(cmt_local_setup_${CONSTITUENT}) || \rm -f $(cmt_local_setup_${CONSTITUENT}); \
+	  trap '\rm -f $(cmt_local_setup_${CONSTITUENT})' 0 1 2 15; \
+	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >$(cmt_local_setup_${CONSTITUENT}) && \
+	  if [ -f $(cmt_final_setup_${CONSTITUENT}) ] && \
+	    \cmp -s $(cmt_final_setup_${CONSTITUENT}) $(cmt_local_setup_${CONSTITUENT}); then \
+	    \rm $(cmt_local_setup_${CONSTITUENT}); else \
+	    \mv -f $(cmt_local_setup_${CONSTITUENT}) $(cmt_final_setup_${CONSTITUENT}); fi
 
 else
 
-ifdef READONLY
-cmt_local_tagfile_${CONSTITUENT} = /tmp/CMT_$(${PACKAGE}_tag).make$(cmt_lock_pid)
-cmt_final_setup_${CONSTITUENT} = /tmp/CMT_${PACKAGE}setup.make
-cmt_local_${CONSTITUENT}_makefile = /tmp/CMT_${CONSTITUENT}$(cmt_lock_pid).make
-else
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag).make
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag).make
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}setup.make
+cmt_final_setup_${CONSTITUENT} = $(bin)setup.make
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}setup.make
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
-endif
 
 endif
 
-ifndef QUICK
 ifdef STRUCTURED_OUTPUT
- ${CONSTITUENT}dirs ::
+${CONSTITUENT}dirs :
 	@if test ! -d $(bin)${CONSTITUENT}; then $(mkdir) -p $(bin)${CONSTITUENT}; fi
 	$(echo) "STRUCTURED_OUTPUT="$(bin)${CONSTITUENT}
+else
+${CONSTITUENT}dirs : ;
+endif
 
-$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs ${CONSTITUENT}dirs
-else
-$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs
-endif
-else
-$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})
-endif
+#ifndef QUICK
+#ifdef STRUCTURED_OUTPUT
+# ${CONSTITUENT}dirs ::
+#	@if test ! -d $(bin)${CONSTITUENT}; then $(mkdir) -p $(bin)${CONSTITUENT}; fi
+#	$(echo) "STRUCTURED_OUTPUT="$(bin)${CONSTITUENT}
+#
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs ${CONSTITUENT}dirs
+#else
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs
+#endif
+#else
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})
+#endif
+
+$(cmt_local_${CONSTITUENT}_makefile) : $(cmt_local_tagfile_${CONSTITUENT})
 	$(echo) "(constituents.make) Building ${CONSTITUENT}.make"; \
 	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build constituent_makefile -out=$(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
 
-${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
+ifndef QUICK
+${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) build_library_links dirs ${CONSTITUENT}dirs
+else
+${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) dirs ${CONSTITUENT}dirs
+endif
 	$(echo) "(constituents.make) Starting ${CONSTITUENT}"
-	@$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} ${CONSTITUENT}
+	@$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
 	$(echo) "(constituents.make) ${CONSTITUENT} done"
 
 clean :: ${CONSTITUENT}clean
 
-${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) ##$(cmt_local_${CONSTITUENT}_makefile)
+${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
 	$(echo) "(constituents.make) Starting ${CONSTITUENT}clean"
-	@-if test -f $(cmt_local_${CONSTITUENT}_makefile); then \
-	  $(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} ${CONSTITUENT}clean; \
-	fi
+	@$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}clean
+	$(echo) "(constituents.make) ${CONSTITUENT}clean done"
+#	@-if test -f $(cmt_local_${CONSTITUENT}_makefile); then \
+#	  $(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} ${CONSTITUENT}clean; \
+#	fi
 
 ##	  /bin/rm -f $(cmt_local_${CONSTITUENT}_makefile) $(bin)${CONSTITUENT}_dependencies.make
@@ -83,5 +95,5 @@
 ${CONSTITUENT}install :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
 	$(echo) "(constituents.make) Starting install ${CONSTITUENT}"
-	@-$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} install
+	@-$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) install
 	$(echo) "(constituents.make) install ${CONSTITUENT} done"
 
@@ -90,5 +102,5 @@
 ${CONSTITUENT}uninstall :: $(cmt_local_${CONSTITUENT}_makefile)
 	$(echo) "(constituents.make) Starting uninstall ${CONSTITUENT}"
-	@-$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} uninstall
+	@$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) uninstall
 	$(echo) "(constituents.make) uninstall ${CONSTITUENT} done"
 
@@ -100,4 +112,3 @@
 endif
 
-
 #-- end of constituent ------
Index: CMT/HEAD/mgr/fragments/constituent_lock
===================================================================
--- CMT/HEAD/mgr/fragments/constituent_lock	(revision 486)
+++ CMT/HEAD/mgr/fragments/constituent_lock	(revision 487)
@@ -7,14 +7,10 @@
 ifdef cmt_${CONSTITUENT}_has_target_tag
 
-ifdef READONLY
-cmt_local_tagfile_${CONSTITUENT} = /tmp/CMT_$(${PACKAGE}_tag)_${CONSTITUENT}.make$(cmt_lock_pid)
-cmt_final_setup_${CONSTITUENT} = /tmp/CMT_${PACKAGE}_${CONSTITUENT}setup.make
-cmt_local_${CONSTITUENT}_makefile = /tmp/CMT_${CONSTITUENT}$(cmt_lock_pid).make
-else
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag)_${CONSTITUENT}.make
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag)_${CONSTITUENT}.make
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}setup.make
+cmt_local_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}$$$$.make
+cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.make
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}setup.make
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
-endif
 
 ${CONSTITUENT}_extratags = -tag_add=target_${CONSTITUENT}
@@ -26,48 +22,62 @@
 $(cmt_local_tagfile_${CONSTITUENT}) :
 endif
-	$(echo) "(constituents.make) Rebuilding setup.make $(cmt_local_tagfile_${CONSTITUENT})"
-	@if test -f $(cmt_local_tagfile_${CONSTITUENT}); then /bin/rm -f $(cmt_local_tagfile_${CONSTITUENT}); fi ; \
-	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build tag_makefile >>$(cmt_local_tagfile_${CONSTITUENT}); \
-	  if test -f $(cmt_final_setup_${CONSTITUENT}); then /bin/rm -f $(cmt_final_setup_${CONSTITUENT}); fi; \
-	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >>$(cmt_final_setup_${CONSTITUENT})
-	$(echo) setup.make ok
+	$(echo) "(constituents.make) Rebuilding $@"; \
+	  if test -f $(cmt_local_tagfile_${CONSTITUENT}); then /bin/rm -f $(cmt_local_tagfile_${CONSTITUENT}); fi ; \
+	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build tag_makefile >>$(cmt_local_tagfile_${CONSTITUENT})
+	$(echo) "(constituents.make) Rebuilding $(cmt_final_setup_${CONSTITUENT})"; \
+	  test ! -f $(cmt_local_setup_${CONSTITUENT}) || \rm -f $(cmt_local_setup_${CONSTITUENT}); \
+	  trap '\rm -f $(cmt_local_setup_${CONSTITUENT})' 0 1 2 15; \
+	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >$(cmt_local_setup_${CONSTITUENT}) && \
+	  if [ -f $(cmt_final_setup_${CONSTITUENT}) ] && \
+	    \cmp -s $(cmt_final_setup_${CONSTITUENT}) $(cmt_local_setup_${CONSTITUENT}); then \
+	    \rm $(cmt_local_setup_${CONSTITUENT}); else \
+	    \mv -f $(cmt_local_setup_${CONSTITUENT}) $(cmt_final_setup_${CONSTITUENT}); fi
 
 else
 
-ifdef READONLY
-cmt_local_tagfile_${CONSTITUENT} = /tmp/CMT_$(${PACKAGE}_tag).make$(cmt_lock_pid)
-cmt_final_setup_${CONSTITUENT} = /tmp/CMT_${PACKAGE}setup.make
-cmt_local_${CONSTITUENT}_makefile = /tmp/CMT_${CONSTITUENT}$(cmt_lock_pid).make
-else
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag).make
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag).make
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}setup.make
+cmt_final_setup_${CONSTITUENT} = $(bin)setup.make
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}setup.make
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
-endif
 
 endif
 
-ifndef QUICK
 ifdef STRUCTURED_OUTPUT
-${CONSTITUENT}dirs ::
+${CONSTITUENT}dirs :
 	@if test ! -d $(bin)${CONSTITUENT}; then $(mkdir) -p $(bin)${CONSTITUENT}; fi
 	$(echo) "STRUCTURED_OUTPUT="$(bin)${CONSTITUENT}
+else
+${CONSTITUENT}dirs : ;
+endif
 
-$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs ${CONSTITUENT}dirs
-else
-$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs
-endif
-else
-$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})
-endif
+#ifndef QUICK
+#ifdef STRUCTURED_OUTPUT
+# ${CONSTITUENT}dirs ::
+#	@if test ! -d $(bin)${CONSTITUENT}; then $(mkdir) -p $(bin)${CONSTITUENT}; fi
+#	$(echo) "STRUCTURED_OUTPUT="$(bin)${CONSTITUENT}
+#
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs ${CONSTITUENT}dirs
+#else
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs
+#endif
+#else
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})
+#endif
+
+$(cmt_local_${CONSTITUENT}_makefile) : $(cmt_local_tagfile_${CONSTITUENT})
 	$(echo) "(constituents.make) Building ${CONSTITUENT}.make"; \
 	  $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build constituent_makefile -out=$(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}
 
-${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
+ifndef QUICK
+${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) build_library_links dirs ${CONSTITUENT}dirs
+else
+${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) dirs ${CONSTITUENT}dirs
+endif
 	$(echo) "(constituents.make) Creating ${CONSTITUENT}${lock_suffix} and Starting ${CONSTITUENT}"
 	@${lock_command} ${CONSTITUENT}${lock_suffix} || exit $$?; \
 	  retval=$$?; \
 	  trap '${unlock_command} ${CONSTITUENT}${lock_suffix}; exit $${retval}' 1 2 15; \
-	  $(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} ${CONSTITUENT}; \
+	  $(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}; \
 	  retval=$$?; ${unlock_command} ${CONSTITUENT}${lock_suffix}; exit $${retval}
 	$(echo) "(constituents.make) ${CONSTITUENT} done"
@@ -75,9 +85,11 @@
 clean :: ${CONSTITUENT}clean
 
-${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) ##$(cmt_local_${CONSTITUENT}_makefile)
+${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
 	$(echo) "(constituents.make) Starting ${CONSTITUENT}clean"
-	@-if test -f $(cmt_local_${CONSTITUENT}_makefile); then \
-	  $(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} ${CONSTITUENT}clean; \
-	fi
+	@$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) ${CONSTITUENT}clean
+	$(echo) "(constituents.make) ${CONSTITUENT}clean done"
+#	@-if test -f $(cmt_local_${CONSTITUENT}_makefile); then \
+#	  $(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} ${CONSTITUENT}clean; \
+#	fi
 
 ##	  /bin/rm -f $(cmt_local_${CONSTITUENT}_makefile) $(bin)${CONSTITUENT}_dependencies.make
@@ -87,5 +99,5 @@
 ${CONSTITUENT}install :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
 	$(echo) "(constituents.make) Starting install ${CONSTITUENT}"
-	@-$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} install
+	@-$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) install
 	$(echo) "(constituents.make) install ${CONSTITUENT} done"
 
@@ -94,5 +106,5 @@
 ${CONSTITUENT}uninstall :: $(cmt_local_${CONSTITUENT}_makefile)
 	$(echo) "(constituents.make) Starting uninstall ${CONSTITUENT}"
-	@-$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) cmt_lock_pid=$${cmt_lock_pid} uninstall
+	@$(MAKE) -f $(cmt_local_${CONSTITUENT}_makefile) uninstall
 	$(echo) "(constituents.make) uninstall ${CONSTITUENT} done"
 
@@ -104,4 +116,3 @@
 endif
 
-
 #-- end of constituent_lock ------
Index: CMT/HEAD/mgr/fragments/constituents_header
===================================================================
--- CMT/HEAD/mgr/fragments/constituents_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/constituents_header	(revision 487)
@@ -14,23 +14,15 @@
 ${PACKAGE}_tag = $(tag)
 
-ifdef READONLY
-cmt_local_tagfile = /tmp/CMT_$(${PACKAGE}_tag).make$(cmt_lock_pid)
-else
 #cmt_local_tagfile = $(${PACKAGE}_tag).make
 cmt_local_tagfile = $(bin)$(${PACKAGE}_tag).make
-endif
 
 #-include $(cmt_local_tagfile)
 include $(cmt_local_tagfile)
 
-ifdef READONLY
-cmt_local_setup = /tmp/CMT_${PACKAGE}setup$(cmt_lock_pid).make
-cmt_final_setup = /tmp/CMT_${PACKAGE}setup.make
-else
-#cmt_local_setup = $(bin)${PACKAGE}setup$(cmt_lock_pid).make
-cmt_local_setup = $(bin)$(package)setup$$$$.make
+#cmt_local_setup = $(bin)setup$$$$.make
+#cmt_local_setup = $(bin)$(package)setup$$$$.make
 #cmt_final_setup = $(bin)${PACKAGE}setup.make
-cmt_final_setup = $(bin)$(package)setup.make
-endif
+cmt_final_setup = $(bin)setup.make
+#cmt_final_setup = $(bin)$(package)setup.make
 
 #--------------------------------------------------------
@@ -41,9 +33,9 @@
 #first :: $(cmt_local_tagfile)
 #	@echo $(cmt_local_tagfile) ok
-ifndef QUICK
-first :: $(cmt_final_setup) ;
-else
-first :: ;
-endif
+#ifndef QUICK
+#first :: $(cmt_final_setup) ;
+#else
+#first :: ;
+#endif
 
 ##	@bin=`$(cmtexe) show macro_value bin`
@@ -51,29 +43,29 @@
 #$(cmt_local_tagfile) : $(cmt_lock_setup)
 #	@echo "#CMT> Error: $@: No such file" >&2; exit 1
-$(cmt_local_tagfile) :
-	@echo "#CMT> Warning: $@: No such file" >&2; exit
+#$(cmt_local_tagfile) :
+#	@echo "#CMT> Warning: $@: No such file" >&2; exit
 #	@echo "#CMT> Info: $@: No need to rebuild file" >&2; exit
 
-$(cmt_final_setup) : $(cmt_local_tagfile) 
-	$(echo) "(constituents.make) Rebuilding $@"
-	@if test ! -d $(@D); then $(mkdir) -p $(@D); fi; \
-	  if test -f $(cmt_local_setup); then /bin/rm -f $(cmt_local_setup); fi; \
-	  trap '/bin/rm -f $(cmt_local_setup)' 0 1 2 15; \
-	  $(cmtexe) -tag=$(tags) show setup >>$(cmt_local_setup); \
-	  if test ! -f $@; then \
-	    mv $(cmt_local_setup) $@; \
-	  else \
-	    if /usr/bin/diff $(cmt_local_setup) $@ >/dev/null ; then \
-	      : ; \
-	    else \
-	      mv $(cmt_local_setup) $@; \
-	    fi; \
-	  fi
+#$(cmt_final_setup) : $(cmt_local_tagfile) 
+#	$(echo) "(constituents.make) Rebuilding $@"
+#	@if test ! -d $(@D); then $(mkdir) -p $(@D); fi; \
+#	  if test -f $(cmt_local_setup); then /bin/rm -f $(cmt_local_setup); fi; \
+#	  trap '/bin/rm -f $(cmt_local_setup)' 0 1 2 15; \
+#	  $(cmtexe) -tag=$(tags) show setup >>$(cmt_local_setup); \
+#	  if test ! -f $@; then \
+#	    mv $(cmt_local_setup) $@; \
+#	  else \
+#	    if /usr/bin/diff $(cmt_local_setup) $@ >/dev/null ; then \
+#	      : ; \
+#	    else \
+#	      mv $(cmt_local_setup) $@; \
+#	    fi; \
+#	  fi
 
 #	@/bin/echo $@ ok   
 
-config :: checkuses
-	@exit 0
-checkuses : ;
+#config :: checkuses
+#	@exit 0
+#checkuses : ;
 
 env.make ::
@@ -91,12 +83,17 @@
 	@if test ! -d $(src) ; then $(mkdir) -p $(src) ; fi
 
-dirs ::
-	@if test ! -r requirements ; then echo "No requirements file" ; fi; \
-	  if test ! -d $(bin) ; then $(mkdir) -p $(bin) ; fi
+dirs :: requirements
+	@if test ! -d $(bin) ; then $(mkdir) -p $(bin) ; fi
+#	@if test ! -r requirements ; then echo "No requirements file" ; fi; \
+#	  if test ! -d $(bin) ; then $(mkdir) -p $(bin) ; fi
 
-build_library_links : dirs requirements
+requirements :
+	@if test ! -r requirements ; then echo "No requirements file" ; fi
+
+build_library_links : dirs
 	$(echo) "(constituents.make) Rebuilding library links"; \
-	if test ! -d $(bin) ; then $(mkdir) -p $(bin) ; fi; \
-	$(build_library_links)
+	 $(build_library_links)
+#	if test ! -d $(bin) ; then $(mkdir) -p $(bin) ; fi; \
+#	$(build_library_links)
 
 .DEFAULT ::
Index: CMT/HEAD/mgr/fragments/constituents_trailer
===================================================================
--- CMT/HEAD/mgr/fragments/constituents_trailer	(revision 486)
+++ CMT/HEAD/mgr/fragments/constituents_trailer	(revision 487)
@@ -4,5 +4,5 @@
 
 remove_library_links ::
-	$(echo) "Removing library links"; \
+	$(echo) "(constituents.make) Removing library links"; \
 	  $(remove_library_links)
 
@@ -16,5 +16,5 @@
 
 binclean :: clean
-	$(echo) "Removing binary directory $(bin)"
+	$(echo) "(constituents.make) Removing binary directory $(bin)"
 	@if test ! "$(bin)" = "./"; then \
 	  /bin/rm -rf $(bin); \
Index: CMT/HEAD/mgr/fragments/cpp
===================================================================
--- CMT/HEAD/mgr/fragments/cpp	(revision 486)
+++ CMT/HEAD/mgr/fragments/cpp	(revision 487)
@@ -4,4 +4,5 @@
 
 ifneq ($(MAKECMDGOALS),${CONSTITUENT}clean)
+ifneq ($(MAKECMDGOALS),uninstall)
 -include $(bin)$(binobj)${NAME}${CONSTITUENTSUFFIX}.d
 
@@ -12,4 +13,5 @@
 	$(cpp_silent) $(cppcomp) ${DEPENDENCIESOPTS} -o $(@D)/${NAME}${CONSTITUENTSUFFIX}.dep $(use_pp_cppflags) $(${CONSTITUENT}_pp_cppflags) $(app_${CONSTITUENT}_pp_cppflags) $(${NAME}_pp_cppflags) $(use_cppflags) $(${CONSTITUENT}_cppflags) $(app_${CONSTITUENT}_cppflags) $(${NAME}_cppflags) $(${NAME}_${FILESUFFIX}_cppflags) ${ADDINCLUDE} ${FULLNAME}
 	$(cpp_silent) $(format_dependencies) $@ $(@D)/${NAME}${CONSTITUENTSUFFIX}.o ${FULLNAME} $(@D)/${NAME}${CONSTITUENTSUFFIX}.dep
+endif
 endif
 
Index: CMT/HEAD/mgr/fragments/cpp_library
===================================================================
--- CMT/HEAD/mgr/fragments/cpp_library	(revision 486)
+++ CMT/HEAD/mgr/fragments/cpp_library	(revision 487)
@@ -4,4 +4,5 @@
 
 ifneq ($(MAKECMDGOALS),${CONSTITUENT}clean)
+ifneq ($(MAKECMDGOALS),uninstall)
 -include $(bin)$(binobj)${NAME}${CONSTITUENTSUFFIX}.d
 
@@ -12,4 +13,5 @@
 	$(cpp_silent) $(cppcomp) ${DEPENDENCIESOPTS} -o $(@D)/${NAME}${CONSTITUENTSUFFIX}.dep $(use_pp_cppflags) $(${CONSTITUENT}_pp_cppflags) $(lib_${CONSTITUENT}_pp_cppflags) $(${NAME}_pp_cppflags) $(use_cppflags) $(${CONSTITUENT}_cppflags) $(lib_${CONSTITUENT}_cppflags) $(${NAME}_cppflags) $(${NAME}_${FILESUFFIX}_cppflags) ${ADDINCLUDE} ${FULLNAME}
 	$(cpp_silent) $(format_dependencies) $@ $(@D)/${NAME}${CONSTITUENTSUFFIX}.o ${FULLNAME} $(@D)/${NAME}${CONSTITUENTSUFFIX}.dep
+endif
 endif
 
Index: CMT/HEAD/mgr/fragments/dependencies
===================================================================
--- CMT/HEAD/mgr/fragments/dependencies	(revision 486)
+++ CMT/HEAD/mgr/fragments/dependencies	(revision 487)
@@ -1,4 +1,5 @@
 #-- start of dependency ------------------
 ifneq ($(MAKECMDGOALS),${CONSTITUENT}clean)
+ifneq ($(MAKECMDGOALS),uninstall)
 
 #$(bin)${CONSTITUENT}_dependencies.make :: dirs
@@ -15,3 +16,4 @@
 
 endif
+endif
 #-- end of dependency -------------------
Index: CMT/HEAD/mgr/fragments/library
===================================================================
--- CMT/HEAD/mgr/fragments/library	(revision 486)
+++ CMT/HEAD/mgr/fragments/library	(revision 487)
@@ -34,6 +34,7 @@
 
 ${CONSTITUENT}clean ::
-	$(cleanup_echo) objects
+	$(cleanup_echo) objects ${CONSTITUENT}
 	$(cleanup_silent) /bin/rm -f ${OBJS}
+	$(cleanup_silent) /bin/rm -f $(patsubst %.o,%.d,${OBJS}) $(patsubst %.o,%.dep,${OBJS}) $(patsubst %.o,%.d.stamp,${OBJS})
 	$(cleanup_silent) cd $(bin); /bin/rm -rf ${CONSTITUENT}_deps ${CONSTITUENT}_dependencies.make
 
Index: CMT/HEAD/mgr/fragments/library_no_share
===================================================================
--- CMT/HEAD/mgr/fragments/library_no_share	(revision 486)
+++ CMT/HEAD/mgr/fragments/library_no_share	(revision 487)
@@ -61,6 +61,10 @@
 
 ${CONSTITUENT}clean ::
-	$(cleanup_echo) ${OBJS}
+	$(cleanup_echo) objects ${CONSTITUENT}
 	$(cleanup_silent) /bin/rm -f ${OBJS}
+	$(cleanup_silent) /bin/rm -f $(patsubst %.o,%.d,${OBJS}) $(patsubst %.o,%.dep,${OBJS}) $(patsubst %.o,%.d.stamp,${OBJS})
+	$(cleanup_silent) cd $(bin); /bin/rm -rf ${CONSTITUENT}_deps ${CONSTITUENT}_dependencies.make
+#	$(cleanup_echo) ${OBJS}
+#	$(cleanup_silent) /bin/rm -f ${OBJS}
 
 #-- end of library_no_share ------
Index: CMT/HEAD/mgr/fragments/library_no_static
===================================================================
--- CMT/HEAD/mgr/fragments/library_no_static	(revision 486)
+++ CMT/HEAD/mgr/fragments/library_no_static	(revision 487)
@@ -36,6 +36,7 @@
 
 ${CONSTITUENT}clean ::
-	$(cleanup_echo) objects
+	$(cleanup_echo) objects ${CONSTITUENT}
 	$(cleanup_silent) /bin/rm -f ${OBJS}
+	$(cleanup_silent) /bin/rm -f $(patsubst %.o,%.d,${OBJS}) $(patsubst %.o,%.dep,${OBJS}) $(patsubst %.o,%.d.stamp,${OBJS})
 	$(cleanup_silent) cd $(bin); /bin/rm -rf ${CONSTITUENT}_deps ${CONSTITUENT}_dependencies.make
 
Index: CMT/HEAD/mgr/fragments/make_header
===================================================================
--- CMT/HEAD/mgr/fragments/make_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/make_header	(revision 487)
@@ -26,10 +26,6 @@
 ${PACKAGE}_tag = $(tag)
 
-ifdef READONLY
-cmt_local_tagfile_${CONSTITUENT} = /tmp/CMT_$(${PACKAGE}_tag)_${CONSTITUENT}.make$(cmt_lock_pid)
-else
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag)_${CONSTITUENT}.make
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag)_${CONSTITUENT}.make
-endif
 
 else
@@ -39,52 +35,30 @@
 ${PACKAGE}_tag = $(tag)
 
-ifdef READONLY
-cmt_local_tagfile_${CONSTITUENT} = /tmp/CMT_$(${PACKAGE}_tag).make$(cmt_lock_pid)
-else
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag).make
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag).make
-endif
 
 endif
 
--include $(cmt_local_tagfile_${CONSTITUENT})
+include $(cmt_local_tagfile_${CONSTITUENT})
+#-include $(cmt_local_tagfile_${CONSTITUENT})
 
 ifdef cmt_${CONSTITUENT}_has_target_tag
 
-ifdef READONLY
-cmt_final_setup_${CONSTITUENT} = /tmp/CMT_${PACKAGE}_${CONSTITUENT}setup.make
-cmt_local_${CONSTITUENT}_makefile = /tmp/CMT_${CONSTITUENT}$(cmt_lock_pid).make
-else
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}setup.make
+cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.make
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}setup.make
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
-endif
 
 else
 
-ifdef READONLY
-cmt_final_setup_${CONSTITUENT} = /tmp/CMT_${PACKAGE}setup.make
-cmt_local_${CONSTITUENT}_makefile = /tmp/CMT_${CONSTITUENT}$(cmt_lock_pid).make
-else
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}setup.make
+cmt_final_setup_${CONSTITUENT} = $(bin)setup.make
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}setup.make
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
-endif
 
 endif
 
-ifdef READONLY
-cmt_final_setup = /tmp/CMT_${PACKAGE}setup.make
-else
-cmt_final_setup = $(bin)${PACKAGE}setup.make
-endif
+cmt_final_setup = $(bin)setup.make
+#cmt_final_setup = $(bin)${PACKAGE}setup.make
 
-${CONSTITUENT} ::
-
-
-ifdef READONLY
-${CONSTITUENT} ::
-	@echo tags=$(tags)
-	@echo cmt_local_tagfile=$(cmt_local_tagfile)
-endif
-
+#${CONSTITUENT} :: ;
 
 dirs ::
@@ -109,4 +83,7 @@
 endif
 
+ifdef use_requirements
+$(use_requirements) : ;
+endif
+
 #-- end of make_header ------------------
-
Index: CMT/HEAD/mgr/fragments/nmake/application
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/application	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/application	(revision 487)
@@ -30,5 +30,5 @@
 !endif
 
-${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
+##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
 
 uninstall :: ${CONSTITUENT}uninstall
Index: CMT/HEAD/mgr/fragments/nmake/buildproto
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/buildproto	(revision 487)
+++ CMT/HEAD/mgr/fragments/nmake/buildproto	(revision 487)
@@ -0,0 +1,8 @@
+#-- start of buildproto
+
+$(inc)${NAME}.pp : ${FILEPATH}${FILENAME}
+	$(echo) Now rebuilding $@
+	cd $(inc) & $(build_prototype) ${FILEPATH}${FILENAME} >nul
+	type nul >$(inc)${NAME}.pp
+
+#-- end of buildproto
Index: CMT/HEAD/mgr/fragments/nmake/c
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/c	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/c	(revision 487)
@@ -3,5 +3,5 @@
 !if "${DEPENDENCIESOPTS}" != ""
 
-!if exists ($(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d)
+!if exist ($(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d)
 !include $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
 !endif
Index: CMT/HEAD/mgr/fragments/nmake/c_library
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/c_library	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/c_library	(revision 487)
@@ -3,5 +3,5 @@
 !if "${DEPENDENCIESOPTS}" != ""
 
-!if exists ($(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d)
+!if exist ($(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d)
 !include $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
 !endif
Index: CMT/HEAD/mgr/fragments/nmake/check_application_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/check_application_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/check_application_header	(revision 487)
@@ -1,9 +1,17 @@
+#-- start of check_application_header ------
 
 check :: ${CONSTITUENT}check
-	@echo "------> ${CONSTITUENT}check ok"
+	$(echo) "(constituents.nmake) ${CONSTITUENT}check ok"
+#	@echo "------> ${CONSTITUENT}check ok"
 
-${CONSTITUENT}check ::
-	@echo "------> starting ${CONSTITUENT}check"
-	@$(cmtexe) build -nmake constituent_makefile ${CONSTITUENT}
-	$(MAKE) /f ${CONSTITUENT}.nmake build_strategy=keep_makefiles ${CONSTITUENT}check
+#${CONSTITUENT}check : ${CONSTITUENT} $(cmt_local_${CONSTITUENT}_makefile)
+${CONSTITUENT}check : $(cmt_local_${CONSTITUENT}_makefile)
+	$(echo) "(constituents.nmake) Starting $@"
+	@$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles $@ tag=$(tag)
 
+#${CONSTITUENT}check ::
+#	@echo "------> starting ${CONSTITUENT}check"
+#	@$(cmtexe) build -nmake constituent_makefile ${CONSTITUENT}
+#	$(MAKE) /f ${CONSTITUENT}.nmake build_strategy=keep_makefiles ${CONSTITUENT}check
+
+#-- end of check_application_header ------
Index: CMT/HEAD/mgr/fragments/nmake/cleanup_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/cleanup_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/cleanup_header	(revision 487)
@@ -1,2 +1,4 @@
+
+clean :: ${CONSTITUENT}clean ;
 
 ${CONSTITUENT}clean ::
Index: CMT/HEAD/mgr/fragments/nmake/cmt_action_runner_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/cmt_action_runner_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/cmt_action_runner_header	(revision 487)
@@ -7,16 +7,20 @@
 !if defined (${CONSTITUENT}_once)
 
-${CONSTITUENT}actionstamp = ${CONSTITUENT}.actionstamp
+${CONSTITUENT}actionstamp = $(bin)${CONSTITUENT}.actionstamp
+#${CONSTITUENT}actionstamp = ${CONSTITUENT}.actionstamp
 
 ${CONSTITUENT} :: $(${CONSTITUENT}actionstamp)
-	@echo ${CONSTITUENT} ok
+	$(echo) "${CONSTITUENT} ok"
+#	@echo ${CONSTITUENT} ok
 
 #-- $(${CONSTITUENT}_dependencies)
 $(${CONSTITUENT}actionstamp) :: 
 	$(silent) ${action_value}
-	@echo ok > $(${CONSTITUENT}actionstamp)
+	$(silent) type nul > $(${CONSTITUENT}actionstamp)
+#	@echo ok > $(${CONSTITUENT}actionstamp)
 
 ${CONSTITUENT}clean ::
-	@if exist $(${CONSTITUENT}actionstamp) del $(${CONSTITUENT}actionstamp)
+	$(cleanup_silent)if exist $(${CONSTITUENT}actionstamp) del $(${CONSTITUENT}actionstamp)
+#	@if exist $(${CONSTITUENT}actionstamp) del $(${CONSTITUENT}actionstamp)
 
 !else
Index: CMT/HEAD/mgr/fragments/nmake/constituent
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/constituent	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/constituent	(revision 487)
@@ -9,5 +9,7 @@
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag)_${CONSTITUENT}.nmake
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag)_${CONSTITUENT}.nmake
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}_setup.nmake
+cmt_local_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.nmake.tmp
+cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.nmake
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}_setup.nmake
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.nmake
 
@@ -17,10 +19,22 @@
 !endif
 
-!if "$(QUICK)" == ""
+!if "$(QUICK)" == "" || !exist ($(cmt_local_tagfile_${CONSTITUENT}))
 
+!if [$(echo) (constituents.nmake) Rebuilding $(cmt_local_tagfile_${CONSTITUENT})] == 0
+!endif
 !if [cmt -tag=$(tags) $(${CONSTITUENT}_extratags) build tag_makefile >$(cmt_local_tagfile_${CONSTITUENT})] == 0
 !endif
 
-!if [$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >$(cmt_final_setup_${CONSTITUENT})] == 0
+!if [$(echo) (constituents.nmake) Rebuilding $(cmt_final_setup_${CONSTITUENT})] == 0
+!endif
+!if [$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >$(cmt_local_setup_${CONSTITUENT})] == 0
+!endif
+
+!if exist ($(cmt_final_setup_${CONSTITUENT})) && [ echo n|comp $(cmt_final_setup_${CONSTITUENT}) $(cmt_local_setup_${CONSTITUENT}) >nul 2>&1 ] == 0
+!if [ del $(cmt_local_setup_${CONSTITUENT}) ] == 0
+!endif
+!else
+!if [ move /y $(cmt_local_setup_${CONSTITUENT}) $(cmt_final_setup_${CONSTITUENT}) >nul ] == 0
+!endif
 !endif
 
@@ -31,21 +45,24 @@
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag).nmake
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag).nmake
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_setup.nmake
+#cmt_local_setup_${CONSTITUENT} = $(bin)setup.nmake.tmp
+cmt_final_setup_${CONSTITUENT} = $(bin)setup.nmake
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_setup.nmake
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.nmake
 
 !endif
 
-!if "$(QUICK)" == ""
-$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) dirs
-!else
-$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})
-!endif
+#!if "$(QUICK)" == ""
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) dirs
+#!else
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})
+#!endif
+$(cmt_local_${CONSTITUENT}_makefile) : $(cmt_local_tagfile_${CONSTITUENT})
 	$(echo) (constituents.nmake) Building ${CONSTITUENT}.nmake
 	@set include=$(include)
 	@set lib=$(lib)
 	@$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -out=$@ ${CONSTITUENT}
-	$(echo) (constituents.nmake) ${CONSTITUENT}.nmake done
+#	$(echo) (constituents.nmake) ${CONSTITUENT}.nmake done
 
-${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
+${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) dirs
 	$(echo) (constituents.nmake) Starting ${CONSTITUENT}
 	@set include=$(include)
@@ -56,10 +73,13 @@
 clean :: ${CONSTITUENT}clean
 
-${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) ##$(cmt_local_${CONSTITUENT}_makefile)
+#${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) ##$(cmt_local_${CONSTITUENT}_makefile)
+${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
 	$(echo) (constituents.nmake) Starting ${CONSTITUENT}clean
 	@set include=$(include)
 	@set lib=$(lib)
-	@-if exist $(cmt_local_${CONSTITUENT}_makefile) $(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles ${CONSTITUENT}clean tag=$(tag)
+	@$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles ${CONSTITUENT}clean tag=$(tag)
 	$(echo) (constituents.nmake) ${CONSTITUENT}clean done
+#	@-if exist $(cmt_local_${CONSTITUENT}_makefile) $(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles ${CONSTITUENT}clean tag=$(tag)
+#	$(echo) (constituents.nmake) ${CONSTITUENT}clean done
 
 install :: ${CONSTITUENT}install
@@ -75,5 +95,5 @@
 
 ${CONSTITUENT}uninstall :: $(cmt_local_${CONSTITUENT}_makefile)
-	$(echo) (constituents.nmake) Starting uninstall ${CONSTITUENT}"
+	$(echo) (constituents.nmake) Starting uninstall ${CONSTITUENT}
 	@set include=$(include)
 	@set lib=$(lib)
Index: CMT/HEAD/mgr/fragments/nmake/constituent_lock
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/constituent_lock	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/constituent_lock	(revision 487)
@@ -9,5 +9,7 @@
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag)_${CONSTITUENT}.nmake
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag)_${CONSTITUENT}.nmake
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}_setup.nmake
+cmt_local_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.nmake.tmp
+cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.nmake
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}_setup.nmake
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.nmake
 
@@ -17,10 +19,22 @@
 !endif
 
-!if "$(QUICK)" == ""
+!if "$(QUICK)" == "" || !exist ($(cmt_local_tagfile_${CONSTITUENT}))
 
+!if [$(echo) (constituents.nmake) Rebuilding $(cmt_local_tagfile_${CONSTITUENT})] == 0
+!endif
 !if [cmt -tag=$(tags) $(${CONSTITUENT}_extratags) build tag_makefile >$(cmt_local_tagfile_${CONSTITUENT})] == 0
 !endif
 
-!if [$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >$(cmt_final_setup_${CONSTITUENT})] == 0
+!if [$(echo) (constituents.nmake) Rebuilding $(cmt_final_setup_${CONSTITUENT})] == 0
+!endif
+!if [$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >$(cmt_local_setup_${CONSTITUENT})] == 0
+!endif
+
+!if exist ($(cmt_final_setup_${CONSTITUENT})) && [ echo n|comp $(cmt_final_setup_${CONSTITUENT}) $(cmt_local_setup_${CONSTITUENT}) >nul 2>&1 ] == 0
+!if [ del $(cmt_local_setup_${CONSTITUENT}) ] == 0
+!endif
+!else
+!if [ move /y $(cmt_local_setup_${CONSTITUENT}) $(cmt_final_setup_${CONSTITUENT}) >nul ] == 0
+!endif
 !endif
 
@@ -31,22 +45,25 @@
 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag).nmake
 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag).nmake
-cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_setup.nmake
+#cmt_local_setup_${CONSTITUENT} = $(bin)setup.nmake.tmp
+cmt_final_setup_${CONSTITUENT} = $(bin)setup.nmake
+#cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_setup.nmake
 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.nmake
 
 !endif
 
-!if "$(QUICK)" == ""
-$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) dirs
-!else
-$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})
-!endif
+#!if "$(QUICK)" == ""
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) dirs
+#!else
+#$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})
+#!endif
+$(cmt_local_${CONSTITUENT}_makefile) : $(cmt_local_tagfile_${CONSTITUENT})
 	$(echo) (constituents.nmake) Building ${CONSTITUENT}.nmake
 	@set include=$(include)
 	@set lib=$(lib)
 	@$(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build -nmake constituent_makefile -out=$@ ${CONSTITUENT}
-	$(echo) (constituents.nmake) ${CONSTITUENT}.nmake done
+#	$(echo) (constituents.nmake) ${CONSTITUENT}.nmake done
 
-${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
-	$(echo) (constituents.make) Creating ${CONSTITUENT}$(lock_suffix)
+${CONSTITUENT} :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) dirs
+	$(echo) (constituents.nmake) Creating ${CONSTITUENT}$(lock_suffix)
 	@$(lock_command) ${CONSTITUENT}$(lock_suffix)
 	$(echo) (constituents.nmake) Starting ${CONSTITUENT}
@@ -60,10 +77,13 @@
 clean :: ${CONSTITUENT}clean
 
-${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) ##$(cmt_local_${CONSTITUENT}_makefile)
+#${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) ##$(cmt_local_${CONSTITUENT}_makefile)
+${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) $(cmt_local_${CONSTITUENT}_makefile)
 	$(echo) (constituents.nmake) Starting ${CONSTITUENT}clean
 	@set include=$(include)
 	@set lib=$(lib)
-	@-if exist $(cmt_local_${CONSTITUENT}_makefile) $(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles ${CONSTITUENT}clean tag=$(tag)
+	@$(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles ${CONSTITUENT}clean tag=$(tag)
 	$(echo) (constituents.nmake) ${CONSTITUENT}clean done
+#	@-if exist $(cmt_local_${CONSTITUENT}_makefile) $(MAKE) /nologo /f $(cmt_local_${CONSTITUENT}_makefile) /$(MAKEFLAGS) bin=$(bin) build_strategy=keep_makefiles ${CONSTITUENT}clean tag=$(tag)
+#	$(echo) (constituents.nmake) ${CONSTITUENT}clean done
 
 install :: ${CONSTITUENT}install
@@ -79,5 +99,5 @@
 
 ${CONSTITUENT}uninstall :: $(cmt_local_${CONSTITUENT}_makefile)
-	$(echo) (constituents.nmake) Starting uninstall ${CONSTITUENT}"
+	$(echo) (constituents.nmake) Starting uninstall ${CONSTITUENT}
 	@set include=$(include)
 	@set lib=$(lib)
Index: CMT/HEAD/mgr/fragments/nmake/constituents_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/constituents_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/constituents_header	(revision 487)
@@ -1,2 +1,3 @@
+#-- start of constituents_header ------
 
 !include $(CMTROOT)/src/NMakefile.core
@@ -14,12 +15,27 @@
 cmt_local_tagfile = $(bin)$(${PACKAGE}_tag).nmake
 
-!if "$(QUICK)" == ""
+cmt_local_setup = $(bin)setup.nmake.tmp
+cmt_final_setup = $(bin)setup.nmake
+
+!if "$(QUICK)" == "" || !exist ($(cmt_local_tagfile))
 
 #!if [$(echo) (constituents.nmake) Rebuilding $(${PACKAGE}_tag).nmake] == 0
 !if [$(echo) (constituents.nmake) Rebuilding $(cmt_local_tagfile)] == 0
 !endif
-
 #!if [cmt build tag_makefile -tag_add=$(tags) >$(${PACKAGE}_tag).nmake] == 0
 !if [cmt build tag_makefile -tag_add=$(tags) >$(cmt_local_tagfile)] == 0
+!endif
+
+!if [$(echo) (constituents.nmake) Rebuilding $(cmt_final_setup)] == 0
+!endif
+!if [cmt -tag=$(tags) show setup >$(cmt_local_setup)] == 0
+!endif
+
+!if exist ($(cmt_final_setup)) && [ echo n|comp $(cmt_final_setup) $(cmt_local_setup) >nul 2>&1 ] == 0
+!if [ del $(cmt_local_setup) ] == 0
+!endif
+!else
+!if [ move /y $(cmt_local_setup) $(cmt_final_setup) >nul ] == 0
+!endif
 !endif
 
@@ -33,8 +49,8 @@
 #--------------------------------------------------------
 
-cmt_lock_setup = lock$(cmt_lock_pid).nmake
-cmt_setup_pid  = $(bin)setup.nmake
+#cmt_lock_setup = lock$(cmt_lock_pid).nmake
+#cmt_setup_pid  = $(bin)setup.nmake
 
-config ::  ##$(${PACKAGE}_tag).nmake
+#config ::  ##$(${PACKAGE}_tag).nmake
 
 env.nmake ::
@@ -49,18 +65,25 @@
 	@if not exist $(src) mkdir $(src)
 
-!if "$(QUICK)" == ""
-dirs ::
+dirs :: requirements
+	@if not exist $(bin) mkdir $(bin)
+
+requirements :
 	@if not exist requirements echo "No requirements file"
-	$(echo) (constituents.nmake) Rebuilding setup.nmake
-	@if not exist $(bin) mkdir $(bin)
-	@$(cmtexe) -tag=$(tags) show setup   >$(cmt_setup_pid)
-	$(echo) setup.nmake ok
-!else
-dirs ::
-	@if not exist requirements echo "No requirements file"
-	@if not exist $(bin) mkdir $(bin)
-!endif
+
+#!if "$(QUICK)" == ""
+#dirs ::
+#	@if not exist requirements echo "No requirements file"
+#	$(echo) (constituents.nmake) Rebuilding setup.nmake
+#	@if not exist $(bin) mkdir $(bin)
+#	@$(cmtexe) -tag=$(tags) show setup   >$(cmt_setup_pid)
+#	$(echo) setup.nmake ok
+#!else
+#dirs ::
+#	@if not exist requirements echo "No requirements file"
+#	@if not exist $(bin) mkdir $(bin)
+#!endif
 
 .DEFAULT :
         $(echo) "???"
 
+#-- end of constituents_header ------
Index: CMT/HEAD/mgr/fragments/nmake/constituents_trailer
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/constituents_trailer	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/constituents_trailer	(revision 487)
@@ -1,11 +1,12 @@
+#-- start of constituents_trailer ------
 
-clean :: remove_library_links
+#clean :: remove_library_links
 
 remove_library_links ::
-	$(echo) "Removing library links"
+	$(echo) "(constituents.make) Removing library links"
 	@$(remove_library_links)
 
 makefilesclean ::
-	@if exist *.make.* del *.make*
+#	@if exist *.nmake* del *.nmake*
 
 ###	@if exist checkuses del checkuses
@@ -13,5 +14,9 @@
 clean :: makefilesclean
 
-binclean :: clean
-	@del /Q $(bin)\*
+#binclean :: clean
+binclean ::
+	$(echo) (constituents.make) Removing binary directory $(bin)
+	$(cleanup_silent)if not "$(bin)"==".\" (if exist $(bin) rmdir /S /Q $(bin))
+#	@del /Q $(bin)\*
 
+#-- end of constituents_trailer ------
Index: CMT/HEAD/mgr/fragments/nmake/cpp
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/cpp	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/cpp	(revision 487)
@@ -3,5 +3,5 @@
 !if "${DEPENDENCIESOPTS}" != ""
 
-!if exists ($(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d)
+!if exist ($(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d)
 !include $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
 !endif
Index: CMT/HEAD/mgr/fragments/nmake/cpp_library
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/cpp_library	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/cpp_library	(revision 487)
@@ -3,5 +3,5 @@
 !if "${DEPENDENCIESOPTS}" != ""
 
-!if exists ($(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d)
+!if exist ($(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d)
 !include $(bin)${CONSTITUENT}\${NAME}${CONSTITUENTSUFFIX}.d
 !endif
Index: CMT/HEAD/mgr/fragments/nmake/dependencies
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/dependencies	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/dependencies	(revision 487)
@@ -13,5 +13,7 @@
 !endif
 
+!if exist ($(bin)${CONSTITUENT}_dependencies.nmake)
 !include $(bin)${CONSTITUENT}_dependencies.nmake
+!endif
 
 #-- end of dependency ------------------
Index: CMT/HEAD/mgr/fragments/nmake/group
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/group	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/group	(revision 487)
@@ -1,6 +1,7 @@
+#-- start of group ------
 
 all_groups :: ${GROUP}
 
-${GROUP} ::  $(${GROUP}_pre_constituents)  $(${GROUP}_constituents)  $(${GROUP}_post_constituents)
+${GROUP} :: $(${GROUP}_dependencies)  $(${GROUP}_pre_constituents) $(${GROUP}_constituents)  $(${GROUP}_post_constituents)
 	$(echo) " ${GROUP} ok."
 
@@ -13,2 +14,3 @@
 ${GROUP}clean :: makefilesclean
 
+#-- end of group ------
Index: CMT/HEAD/mgr/fragments/nmake/install_includes_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/install_includes_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/install_includes_header	(revision 487)
@@ -18,5 +18,5 @@
 	@if NOT "$(CMTINSTALLAREA)"=="" $(cmt_installdir_action) "$(PACKAGE_ROOT)" "$(package)" "$(install_dir)" "$(cmt_installdir_excludes)"
 
-${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
+##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
 
 uninstall :: ${CONSTITUENT}uninstall
Index: CMT/HEAD/mgr/fragments/nmake/jar
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/jar	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/jar	(revision 487)
@@ -24,5 +24,5 @@
 !endif
 
-${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
+##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
 
 uninstall :: ${CONSTITUENT}uninstall
Index: CMT/HEAD/mgr/fragments/nmake/java_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/java_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/java_header	(revision 487)
@@ -31,5 +31,5 @@
 !endif
 
-${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
+##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
 
 uninstall :: ${CONSTITUENT}uninstall
Index: CMT/HEAD/mgr/fragments/nmake/library
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/library	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/library	(revision 487)
@@ -68,5 +68,5 @@
 !endif
 
-${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
+##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
 
 uninstall :: ${CONSTITUENT}uninstall
Index: CMT/HEAD/mgr/fragments/nmake/library_no_share
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/library_no_share	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/library_no_share	(revision 487)
@@ -34,5 +34,5 @@
 !endif
 
-${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
+##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
 
 uninstall :: ${CONSTITUENT}uninstall
Index: CMT/HEAD/mgr/fragments/nmake/library_no_static
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/library_no_static	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/library_no_static	(revision 487)
@@ -86,5 +86,5 @@
 !endif
 
-${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
+##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall
 
 uninstall :: ${CONSTITUENT}uninstall
Index: CMT/HEAD/mgr/fragments/nmake/make_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/make_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/make_header	(revision 487)
@@ -46,5 +46,19 @@
 !include $(cmt_local_tagfile)
 
-${CONSTITUENT} ::
+!if defined (cmt_${CONSTITUENT}_has_target_tag)
+
+cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.make
+#cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
+
+!else
+
+cmt_final_setup_${CONSTITUENT} = $(bin)setup.make
+#cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make
+
+!endif
+
+#cmt_final_setup = $(bin)setup.make
+
+#${CONSTITUENT} ::
 
 javadirs ::
@@ -61,3 +75,7 @@
 	@echo '${CONSTITUENT}'
 
+!if "$(use_requirements)" != ""
+$(use_requirements) : ;
+!endif
+
 #-- end of make_header ------------------
Index: CMT/HEAD/mgr/fragments/nmake/protos_header
===================================================================
--- CMT/HEAD/mgr/fragments/nmake/protos_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/nmake/protos_header	(revision 487)
@@ -1,4 +1,7 @@
+#-- start of protos_header ------
     
 ${CONSTITUENT}PROTOS :: ${PROTOSTAMPS}
-	@echo ${CONSTITUENT} : Protos ok
+	$(echo) "${CONSTITUENT} : Protos ok"
+#	@echo ${CONSTITUENT} : Protos ok
 
+#-- end of protos_header ------
Index: CMT/HEAD/mgr/fragments/protos_header
===================================================================
--- CMT/HEAD/mgr/fragments/protos_header	(revision 486)
+++ CMT/HEAD/mgr/fragments/protos_header	(revision 487)
@@ -2,5 +2,5 @@
     
 ${CONSTITUENT}PROTOS :: ${PROTOSTAMPS}
-	@/bin/echo ${CONSTITUENT} : Protos ok
+	$(echo) "${CONSTITUENT} : Protos ok"
 
 #-- end of protos_header ------
Index: CMT/HEAD/source/cmt_parser.cxx
===================================================================
--- CMT/HEAD/source/cmt_parser.cxx	(revision 486)
+++ CMT/HEAD/source/cmt_parser.cxx	(revision 487)
@@ -3886,4 +3886,6 @@
 void Cmt::do_show_groups (const ArgParser& /*ap*/)
 {
+  Constituent::parse_all ();
+  //  set_standard_macros ();
   Group::show_all ();
 }
Index: CMT/HEAD/src/Makefile.header
===================================================================
--- CMT/HEAD/src/Makefile.header	(revision 486)
+++ CMT/HEAD/src/Makefile.header	(revision 487)
@@ -18,15 +18,13 @@
 tags      = $(tag),$(CMTEXTRATAGS)
 
-ifdef READONLY
-cmt_local_tagfile = /tmp/CMT_$(tag).make$$$$
-else
 cmt_local_tagfile = $(bin)$(tag).make
-endif
 
-ifdef READONLY
-cmt_constituents_makefile = /tmp/CMT_$(tag)_constituents.make$$$$
-else
 cmt_constituents_makefile = $(bin)constituents.make
-endif
+
+cmt_local_setup = $(bin)setup$$$$.make
+#cmt_local_setup = $(bin)$(package)setup$$$$.make
+#cmt_final_setup = $(bin)${PACKAGE}setup.make
+cmt_final_setup = $(bin)setup.make
+#cmt_final_setup = $(bin)$(package)setup.make
 
 #
@@ -42,5 +40,5 @@
 	@$(cmtexe) check configuration; retval=$$?; \
 	if test $${retval} = 0; then \
-	  $(MAKE) --no-print-directory target="first config all" common_target; \
+	  $(MAKE) --no-print-directory target="all" common_target; \
 	else \
 	  echo "#CMT> There are configuration errors. Please correct them before running gmake"; \
@@ -48,5 +46,5 @@
 
 no_check_config ::
-	@$(MAKE) --no-print-directory target="first config all" common_target
+	@$(MAKE) --no-print-directory target="all" common_target
 
 binclean ::
@@ -54,5 +52,5 @@
 	  if test -d $(bin) ; then \
 	    test -z "$(cmtmsg)" || \
-	    echo "$(CMTMSGPREFIX)" "(Makefile.header) Cleaning all from $(bin)"; \
+	    echo "$(CMTMSGPREFIX)" "(Makefile.header) Removing binary directory $(bin)"; \
 	    /bin/rm -rf $(bin) ; \
 	  fi ; \
@@ -65,5 +63,5 @@
 .DEFAULT ::
 	@$(cmtexe) check configuration
-	$(MAKE) --no-print-directory target="first config $@" common_target
+	@$(MAKE) --no-print-directory target="$@" common_target
 #	@$(MAKE) --no-print-directory target="config $@" common_target
 
@@ -71,31 +69,7 @@
 #  Capture all possible targets
 #
-ifdef READONLY
-common_target ::
-	@tmpdir=/tmp; \
-	  if test ! "${TMPDIR}" = ""; then tmpdir=${TMPDIR}; fi; \
-	  cmt_lock_pid=`mkdir -p $${tmpdir}; mktemp $${tmpdir}/CMT_XXXXXX | sed -e 's#'"$${tmpdir}"'/CMT_##'`; \
-	  temp_marker=$${tmpdir}/CMT_$${cmt_lock_pid}; \
-	  temp_lock=$${tmpdir}/CMT_lock$${cmt_lock_pid}.make; \
-	  temp_constituents=$${tmpdir}/CMT_constituents$${cmt_lock_pid}; \
-	  if test ! "${CMTMAKEDEBUG}" = 1; then\
-	    trap '/bin/rm -f $${temp_lock} $${temp_constituents} $${temp_marker}; exit $${status}' 0 1 2 15; \
-	  fi; \
-	  /bin/rm -f $${temp_marker}; \
-	  /bin/rm -f $${temp_lock}; \
-	  echo "------> (Makefile.header) Rebuilding constituents.make"; \
-	  $(cmtexe) -tag=$(tags) build constituents_makefile -out=$${temp_constituents}; status=$$?; \
-	  if test $${status} = 0; then \
-	    /bin/rm -f $(cmt_local_tagfile); \
-	    $(MAKE) --no-print-directory -f $${temp_constituents} cmt_lock_pid=$${cmt_lock_pid} $(target); \
-	    status=$$?; \
-	  else \
-	    echo "#CMT> Error generating constituents makefile"; \
-	  fi; \
-	  exit $${status}
-else
 common_target : $(cmt_constituents_makefile)
-	@$(MAKE) --no-print-directory -f $< cmt_lock_pid=$(cmt_lock_pid) $(target)
-endif
+	@$(MAKE) --no-print-directory -f $(cmt_constituents_makefile) $(target)
+#	@$(MAKE) --no-print-directory -f $< cmt_lock_pid=$(cmt_lock_pid) $(target)
 
 $(cmt_constituents_makefile) : $(cmt_local_tagfile)
@@ -118,4 +92,12 @@
 	  if test ! -d $(@D); then $(mkdir) -p $(@D); fi; \
 	  $(cmtexe) -tag=$(tags) build tag_makefile >$@
+	$(echo) "(Makefile.header) Rebuilding $(cmt_final_setup)"; \
+	  test ! -f $(cmt_local_setup) || \rm -f $(cmt_local_setup); \
+	  trap '\rm -f $(cmt_local_setup)' 0 1 2 15; \
+	  $(cmtexe) -tag=$(tags) show setup >$(cmt_local_setup) && \
+	  if [ -f $(cmt_final_setup) ] && \
+	    \cmp -s $(cmt_final_setup) $(cmt_local_setup); then \
+	    \rm $(cmt_local_setup); else \
+	    \mv -f $(cmt_local_setup) $(cmt_final_setup); fi
 
 # 	  && /bin/echo $@ ok   
@@ -147,4 +129,5 @@
 	@echo 'clean       : remove everything that can be rebuilt'
 	@echo 'binclean    : fast erase of the binary directory'
+	@echo 'uninstall   : remove everything installed in the installation area'
 	@echo ' '
 	@groups=`$(cmtexe) show groups -tag=$(tags)`; \
@@ -154,5 +137,5 @@
 	@echo "Constituents:"; \
 	  for c in `$(cmtexe) show constituent_names -tag=$(tags)` ; do \
-	    echo "  $${c}  $${c}clean"; \
+	    echo "  $${c}  $${c}clean  $${c}uninstall"; \
 	  done
 	@echo ' '
Index: CMT/HEAD/src/NMakefile.header
===================================================================
--- CMT/HEAD/src/NMakefile.header	(revision 486)
+++ CMT/HEAD/src/NMakefile.header	(revision 487)
@@ -43,19 +43,26 @@
 	@echo --------------------------------------------------------------------------
 	@echo You may select one of the following make targets :
-	@echo  
+	@echo.
 	@echo help        : this help
 	@echo all         : rebuild everything according to the $$(constituents) macro
 	@echo               (this is the default target)
 	@echo clean       : remove everything that can be rebuilt
-	@echo configclean : remove configuration files (*.nmake)
-	@echo  
+#	@echo configclean : remove configuration files (*.nmake)
+	@echo binclean    : fast erase of the binary directory
+	@echo uninstall   : remove everything installed in the installation area
+	@echo.
+	@for /F "usebackq" %%i in (`$(cmtexe) show groups -tag^=$(tags)`) do \
+	  @echo %%i : rebuild all constituents of group %%i
+	@echo Constituents: & \
+	  for /F "usebackq" %%i in (`$(cmtexe) show constituent_names -tag^=$(tags)`) do \
+	    @echo   %%i  %%iclean  %%iuninstall
+	@echo.
 	@echo check :
 	@echo               run all applications defined with the -check option
-	@echo  
-	@echo everywhere [target=...] : 
-	@echo               o Rebuild on all plateforms specified in the $$(everywhere) macro
-	@echo               o Use "cmt show macro everywhere -tag=<site>" to check it
-	@echo               o The "target" option permits to transmit a target to the remote site
-
+	@echo.
+#	@echo everywhere [target=...] : 
+#	@echo               o Rebuild on all plateforms specified in the $$(everywhere) macro
+#	@echo               o Use "cmt show macro everywhere -tag=<site>" to check it
+#	@echo               o The "target" option permits to transmit a target to the remote site
 
 cmt_constituents_makefile = $(bin)constituents.nmake
@@ -66,7 +73,11 @@
 !ENDIF
 
-!if "$(QUICK)" == ""
+!if "$(QUICK)" == "" || !exist ($(cmt_constituents_makefile))
+
+!if [$(echo) (NMakefile.header) Rebuilding $(cmt_constituents_makefile)] == 0
+!endif
 !if [$(cmtexe) -tag=$(tags) build constituents_makefile -out=$(cmt_constituents_makefile)] == 0
 !endif
+
 !endif
 
@@ -75,4 +86,2 @@
 
 
-
-
