diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # shake-c
 
+## 0.4.4.0
+
+  * Add `Pgi` constructor
+
 ## 0.4.3.0
 
   * Add `preprocessA` and `preprocessR`
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright Vanessa McHale (c) 2018-2019
+Copyright Vanessa McHale (c) 2018-2020
 
 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
 
diff --git a/shake-c.cabal b/shake-c.cabal
--- a/shake-c.cabal
+++ b/shake-c.cabal
@@ -1,38 +1,39 @@
-cabal-version: 1.18
-name: shake-c
-version: 0.4.3.0
-license: BSD3
-license-file: LICENSE
-copyright: Copyright: (c) 2018-2019 Vanessa McHale
-maintainer: vanessa.mchale@iohk.io
-author: Vanessa McHale
-bug-reports: https://hub.darcs.net/vmchale/ats/issues
-synopsis: Library for building C code with shake
+cabal-version:   1.18
+name:            shake-c
+version:         0.4.4.0
+license:         BSD3
+license-file:    LICENSE
+copyright:       Copyright: (c) 2018-2020 Vanessa McHale
+maintainer:      vamchale@gmail.com
+author:          Vanessa McHale
+bug-reports:     https://hub.darcs.net/vmchale/ats/issues
+synopsis:        Library for building C code with shake
 description:
     Facilities for building C libraries and binaries, and depending on C source files. Extends [shake](http://hackage.haskell.org/package/shake).
-category: Development, C
-build-type: Simple
-extra-doc-files: README.md
-                 CHANGELOG.md
 
+category:        Development, C
+build-type:      Simple
+extra-doc-files:
+    README.md
+    CHANGELOG.md
+
 source-repository head
-    type: darcs
+    type:     darcs
     location: https://hub.darcs.net/vmchale/ats
 
 flag development
-    description:
-        Enable `-Werror`
-    default: False
-    manual: True
+    description: Enable `-Werror`
+    default:     False
+    manual:      True
 
 library
-    exposed-modules:
-        Development.Shake.C
-    hs-source-dirs: src
+    exposed-modules:  Development.Shake.C
+    hs-source-dirs:   src
     default-language: Haskell2010
-    other-extensions: DeriveAnyClass DeriveGeneric DeriveDataTypeable
-                      TypeFamilies
-    ghc-options: -Wall
+    other-extensions:
+        DeriveAnyClass DeriveGeneric DeriveDataTypeable TypeFamilies
+
+    ghc-options:      -Wall
     build-depends:
         base >=4.3 && <5,
         shake >=0.14,
@@ -43,8 +44,9 @@
         ghc-options: -Werror
 
     if impl(ghc >=8.0)
-        ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
-                     -Wredundant-constraints -Wnoncanonical-monad-instances
+        ghc-options:
+            -Wincomplete-uni-patterns -Wincomplete-record-updates
+            -Wredundant-constraints -Wnoncanonical-monad-instances
 
     if impl(ghc >=8.4)
         ghc-options: -Wmissing-export-lists
diff --git a/src/Development/Shake/C.hs b/src/Development/Shake/C.hs
--- a/src/Development/Shake/C.hs
+++ b/src/Development/Shake/C.hs
@@ -56,7 +56,7 @@
 mkQualified :: Monoid a => Maybe a -> Maybe a -> a -> a
 mkQualified pre suff = h [f suff, g pre]
     where g = maybe id mappend
-          f = maybe id (flip mappend)
+          f = maybe id (mappend -$)
           h = thread
 
 -- | The target triple of the host machine.
@@ -74,6 +74,7 @@
 ccToString (GHC pre suff) = mkQualified pre suff "ghc"
 ccToString CompCert       = "ccomp"
 ccToString TCC            = "tcc"
+ccToString Pgi            = "pgcc"
 
 stripToString :: CCompiler -> String
 stripToString (GCC pre _) = mkQualified pre Nothing "strip"
@@ -95,6 +96,7 @@
 ccFromString :: String -> CCompiler
 ccFromString "icc" = ICC
 ccFromString "gcc" = GCC Nothing Nothing
+ccFromString "pgcc" = Pgi
 ccFromString "ccomp" = CompCert
 ccFromString "clang" = Clang
 ccFromString "ghc" = GHC Nothing Nothing
@@ -119,6 +121,7 @@
                | CompCert
                | ICC
                | TCC
+               | Pgi
                | Other String
                deriving (Generic, Binary, Show, Typeable, Eq, Hashable, NFData)
 
