definition:
|
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:
|
no demanded arguments
|
deterministic:
|
deterministic operation
|
documentation:
|
-- Generate a makefile for a given main module:
|
failfree:
|
<FAILING>
|
indeterministic:
|
referentially transparent operation
|
infix:
|
no fixity defined
|
iotype:
|
{(_,_,_,_) |-> _}
|
name:
|
generateMakeFile
|
precedence:
|
no precedence defined
|
result-values:
|
_
|
signature:
|
String -> String -> String -> String -> Prelude.IO [MakeFile.MakeElement]
|
solution-complete:
|
operation might suspend on free variables
|
terminating:
|
possibly non-terminating
|
totally-defined:
|
possibly non-reducible on same data term
|