diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # shake-ats
 
+## 1.10.2.0
+
+  * `genATS` takes `cpphs` parameter again
+
 ## 1.10.1.0
 
   * `genATS` no longer takes `cpphs` parameter
diff --git a/shake-ats.cabal b/shake-ats.cabal
--- a/shake-ats.cabal
+++ b/shake-ats.cabal
@@ -1,6 +1,6 @@
 cabal-version: 1.18
 name: shake-ats
-version: 1.10.1.0
+version: 1.10.2.0
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018 Vanessa McHale
@@ -41,7 +41,7 @@
         base >=4.9 && <5,
         language-ats -any,
         shake-ext >=3.0.0.0,
-        hs2ats >=0.4.0.0,
+        hs2ats >=0.5.0.0,
         directory -any,
         microlens -any,
         text -any,
diff --git a/src/Development/Shake/ATS.hs b/src/Development/Shake/ATS.hs
--- a/src/Development/Shake/ATS.hs
+++ b/src/Development/Shake/ATS.hs
@@ -154,7 +154,7 @@
 doLib _          = id
 
 hsAts :: ATSGen -> Rules ()
-hsAts (ATSGen x y) = genATS x y
+hsAts (ATSGen x y z) = genATS x y z
 
 satsGen :: HATSGen -> Rules ()
 satsGen (HATSGen x y) = genLinks x y
diff --git a/src/Development/Shake/ATS/Rules.hs b/src/Development/Shake/ATS/Rules.hs
--- a/src/Development/Shake/ATS/Rules.hs
+++ b/src/Development/Shake/ATS/Rules.hs
@@ -26,11 +26,12 @@
 -- the equivalent types.
 genATS :: FilePath -- ^ Haskell source
        -> FilePattern -- ^ @.sats@ file to generate
+       -> Bool -- ^ Whether to call cpphs preprocessor
        -> Rules ()
-genATS src' target =
+genATS src' target cpphs' =
     target %> \out -> liftIO $ do
         createDirectoryIfMissing True (takeDirectory out)
-        genATSTypes src' out
+        genATSTypes src' out cpphs'
 
 genLinks :: FilePath -> FilePath -> Rules ()
 genLinks dats link =
diff --git a/src/Development/Shake/ATS/Type.hs b/src/Development/Shake/ATS/Type.hs
--- a/src/Development/Shake/ATS/Type.hs
+++ b/src/Development/Shake/ATS/Type.hs
@@ -72,6 +72,7 @@
 
 data ATSGen = ATSGen { _hsFile    :: FilePath -- ^ Haskell file containing types
                      , _atsTarget :: FilePath -- ^ ATS file to be generated
+                     , _cpphs     :: Bool -- ^ Whether to use the C preprocessor on the Haskell code
                      } deriving (Generic, Binary)
 
 -- TODO split off haskell-related types and leave it more general??
