CurryInfo: makefile-3.0.0 / GenerateMakeFile.generateMakeFile

definition: Info
 
generateMakeFile :: String -> String -> String -> String -> IO MakeFile
generateMakeFile args root tool mainmod = do
  allints <- readFlatCurryIntWithImports mainmod
  let allmods = (foldl union [mainmod]
                       (map (\ (Prog _ imps _ _ _) -> imps) allints))
  allsources <- mapM findSourceFileInLoadPath (filter (/="Prelude") allmods)
  currypath  <- getEnv "CURRYPATH"
  curdir     <- getCurrentDirectory
  let simpcurrypath = if null currypath
                        then ""
                        else intercalate [searchPathSeparator]
                                         (map (simplifyPath curdir)
                                              (splitSearchPath currypath))
  return $ modToMakeFile args root tool mainmod
                         (sort (map (simplifyPath curdir) allsources))
                         simpcurrypath
demand: Info
 no demanded arguments
deterministic: Info
 deterministic operation
documentation: Info
 
Generate a makefile for a given main module:
failfree: Info
 <FAILING>
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_,_) |-> _}
name: Info
 generateMakeFile
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 String -> String -> String -> String -> Prelude.IO [MakeFile.MakeElement]
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 possibly non-reducible on same data term