diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,10 @@
+### 0.5.6.0
+
+- *nhm-tool*: Cabal *3.12* generates paths with *Project Unit Id* for GHC
+  *9.10* which affects the *clean* rule in generated *Makefile*.
+- *nhm-tool*: test if *stdout* is connected to an ANSI terminal when executing
+  command *init -to-stdout* with color highlighting.
+
 ### 0.5.5.0
 
 - Refactor function *buildSharedLib* in module *NgxExport.Distribution*.
diff --git a/ngx-export-distribution.cabal b/ngx-export-distribution.cabal
--- a/ngx-export-distribution.cabal
+++ b/ngx-export-distribution.cabal
@@ -1,5 +1,5 @@
 name:                       ngx-export-distribution
-version:                    0.5.5.0
+version:                    0.5.6.0
 synopsis:                   Build custom libraries for Nginx Haskell module
 description:                Build custom libraries for
         <https://github.com/lyokha/nginx-haskell-module Nginx Haskell module>.
@@ -34,7 +34,7 @@
                           , filepath
                           , text
                           , containers
-                          , ansi-terminal
+                          , ansi-terminal >= 0.6.2
                           , cabal-plan
                           , parsec >= 3.0.0
 
diff --git a/nhm-tool.hs b/nhm-tool.hs
--- a/nhm-tool.hs
+++ b/nhm-tool.hs
@@ -445,8 +445,8 @@
                     else T.writeFile name file
     where replace from to = foldr (\v -> ((if v == from then to else v) :)) ""
           printHeader header = do
-              isTerm <- hIsTerminalDevice stdout
-              if isTerm
+              isANSITerm <- hSupportsANSI stdout
+              if isANSITerm
                   then do
                       setSGR [SetColor Foreground Dull Blue
                              ,SetUnderlining SingleUnderline
@@ -518,9 +518,22 @@
      \GHC := ghc\n\
      \CABAL := cabal\n\
      \GHCVER := $(shell $(GHC) --numeric-version)\n\
+     \CABALVER := $(shell $(CABAL) --numeric-version)\n\
+     \GHCPUID := $(shell \\\n\
+     \    if printf '3.12\\n$(CABALVER)' | sort -VC && \\\n\
+     \       printf '9.10\\n$(GHCVER)' | sort -VC; \\\n\
+     \    then ghcpuid=`$(GHC) --info | sed -n \\\n\
+     \             's/^.*\\x28\"Project Unit Id\",\"\\(.*\\)\"\\x29.*$$/\
+     \\\1/ip'`; \\\n\
+     \        if test -z \"$$ghcpuid\"; \\\n\
+     \        then echo \"ghc-$(GHCVER)\"; \\\n\
+     \        else echo \"$$ghcpuid\"; \\\n\
+     \        fi; \\\n\
+     \    else echo \"ghc-$(GHCVER)\"; \\\n\
+     \    fi)\n\
      \GHCENV := .ghc.environment.$(MACHINE)-$(KERNEL)-$(GHCVER)\n\
      \GHCENVLNK := ", ghcEnvLnk, "\n\
-     \DEPLIBS := $(MACHINE)-$(KERNEL)-ghc-$(GHCVER)\n\
+     \DEPLIBS := $(MACHINE)-$(KERNEL)-$(GHCPUID)\n\
      \BUILDDIR := dist-nhm\n\
      \SETUPCONFIG := $(BUILDDIR)/setup-config\n\
      \\n\
