瀏覽代碼

+ support for generating multiple script files (.sh/.bat/.cmd/...) with link
commands

git-svn-id: trunk@20847 -

Jonas Maebe 13 年之前
父節點
當前提交
ec1cceb3d1
共有 1 個文件被更改,包括 22 次插入16 次删除
  1. 22 16
      compiler/script.pas

+ 22 - 16
compiler/script.pas

@@ -101,6 +101,7 @@ var
 
 
 Function ScriptFixFileName(const s:TCmdStr):TCmdStr;
 Function ScriptFixFileName(const s:TCmdStr):TCmdStr;
 Procedure GenerateAsmRes(const st : TCmdStr);
 Procedure GenerateAsmRes(const st : TCmdStr);
+Function GenerateScript(const st : TCmdStr): TAsmScript;
 
 
 
 
 implementation
 implementation
@@ -459,24 +460,29 @@ end;
 
 
 
 
 Procedure GenerateAsmRes(const st : TCmdStr);
 Procedure GenerateAsmRes(const st : TCmdStr);
-var
-  scripttyp : tscripttype;
 begin
 begin
-  if cs_link_on_target in current_settings.globalswitches then
-    scripttyp := target_info.script
-  else
-    scripttyp := source_info.script;
-  case scripttyp of
-    script_unix :
-      AsmRes:=TAsmScriptUnix.Create(st);
-    script_dos :
-      AsmRes:=TAsmScriptDos.Create(st);
-    script_amiga :
-      AsmRes:=TAsmScriptAmiga.Create(st);
-    script_mpw :
-      AsmRes:=TAsmScriptMPW.Create(st);
+  AsmRes:=GenerateScript(st);
+end;
+
+function GenerateScript(const st: TCmdStr): TAsmScript;
+  var
+    scripttyp : tscripttype;
+  begin
+    if cs_link_on_target in current_settings.globalswitches then
+      scripttyp := target_info.script
+    else
+      scripttyp := source_info.script;
+    case scripttyp of
+      script_unix :
+        Result:=TAsmScriptUnix.Create(st);
+      script_dos :
+        Result:=TAsmScriptDos.Create(st);
+      script_amiga :
+        Result:=TAsmScriptAmiga.Create(st);
+      script_mpw :
+        Result:=TAsmScriptMPW.Create(st);
+    end;
   end;
   end;
-end;
 
 
 
 
 {****************************************************************************
 {****************************************************************************