aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--silc.icl19
1 files changed, 4 insertions, 15 deletions
diff --git a/silc.icl b/silc.icl
index 4e6e909..445f771 100644
--- a/silc.icl
+++ b/silc.icl
@@ -70,14 +70,7 @@ Start w
# err = err <<< "No input file given.\r\n"
= finish 1 io err w
# infile = fromJust args.inputfile
-# (dir, module, infile, abcfile, sfile, ofile) =
- ( if (size dir==0) ?None (?Just dir)
- , name
- , indir $ addExtension name "sil"
- , indir $ addExtension name "abc"
- , indir $ addExtension name "s"
- , indir $ addExtension name "o"
- )
+# [module,infile,abcfile,sfile,ofile:_] = map (indir o addExtension name) ["", "sil", "abc", "s", "o"]
with
(dir, name) = splitFileName $ if (ext == "sil") base` infile
(base`, ext) = splitExtension infile
@@ -113,7 +106,7 @@ Start w
#! (_,w) = fclose f w
| not args.generate
= finish 0 io err w
-#! (p,w) = callProcess "/opt/clean/exe/cg" [module, "-s", sfile] dir w
+#! (p,w) = callProcess "/opt/clean/exe/cg" [dropExtension abcfile, "-s", sfile] ?None w
| isError p
# err = err <<< snd (fromError p) <<< "\r\n"
= finish 1 io err w
@@ -122,11 +115,7 @@ Start w
#! (_,f,w) = fopen sfile FAppendText w
#! f = foldl (<<<) f options
#! (_,w) = fclose f w
-#! (p,w) = callProcess "/usr/bin/as"
- [ sfile
- , "-o"
- , ofile
- ] dir w
+#! (p,w) = callProcess "/usr/bin/as" [sfile, "-o", ofile] ?None w
| isError p
# err = err <<< snd (fromError p) <<< "\r\n"
= finish 1 io err w
@@ -141,7 +130,7 @@ Start w
, "/opt/clean/lib/StdEnv/Clean System Files/_startup.o"
, "-o"
, module
- ] dir w
+ ] ?None w
| isError p
# err = err <<< snd (fromError p) <<< "\r\n"
= finish 1 io err w