home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / jËzyki_programowania / ace_basic / ace / bin / bas2 < prev    next >
AmigaDOS Script File  |  1977-12-31  |  2KB  |  85 lines

  1. .key arg1,arg2,arg3
  2.  
  3. ; ** compile, assemble and link an ACE program **
  4.  
  5. ; make sure stack is big enough.
  6. STACK 40000
  7.  
  8. ; don't abort script if ACE or APP quits 
  9. ; with a return code of 10 (ERROR).
  10. FAILAT 11
  11.  
  12. IF <arg2> GT ""
  13.  
  14.  ; at least 2 arguments: <arg1> = compiler options.
  15.  ;                       <arg2> = ACE source file.
  16.  ;                       <arg3> = extra object module/library to link.
  17.  
  18.  ; preprocess source file.
  19.  acpp <arg2>.b T:<arg2>.beta
  20.  IF NOT ERROR
  21.   ; remove preprocessor-inserted information lines.
  22.   removeline t:<arg2>.beta t:<arg2>.b
  23.   IF NOT ERROR
  24.    delete >NIL: T:<arg2>.beta
  25.    ; compile preprocessed source file.
  26.    ace <arg1> T:<arg2>
  27.  
  28.    IF NOT ERROR
  29.      ; assemble and link
  30.      delete >NIL: T:<arg2>.b
  31.      a68k T:<arg2>.s
  32.      delete >NIL: T:<arg2>.s
  33.      blink from T:<arg2>.o LIB <arg3>+ACElib:startup.lib+ ACElib:db.lib+
  34.                               ACElib:ami.lib SMALLCODE SMALLDATA
  35.  
  36.      ; leave us with the executable (and icon?).
  37.      copy T:<arg2> ""
  38.  
  39.      IF EXISTS T:<arg2>.info
  40.        copy T:<arg2>.info ""
  41.      ENDIF
  42.  
  43.    ENDIF
  44.  
  45.   ENDIF
  46.  ENDIF
  47. ELSE 
  48.  
  49.  ; no compiler options: <arg1> = ACE source file.
  50.  ;                      <arg2> = extra object module/library to link.
  51.  
  52.  ; preprocess source file.
  53.  acpp <arg1>.b T:<arg1>.beta
  54.  IF NOT ERROR
  55.   ; remove preprocessor-inserted information lines.
  56.   removeline t:<arg1>.beta t:<arg1>.b
  57.   IF NOT ERROR
  58.    delete >NIL: t:<arg1>.beta
  59.    ; compile source file.
  60.    ace T:<arg1>
  61.  
  62.    IF NOT ERROR
  63.      ; assemble and link.
  64.      delete >NIL: T:<arg1>.b
  65.      a68k T:<arg1>.s
  66.      delete >NIL: T:<arg1>.s
  67.      blink T:<arg1>.o LIB <arg2>+ACElib:startup.lib+ACElib:db.lib+
  68.                               ACElib:ami.lib SMALLCODE SMALLDATA
  69.  
  70.      ; leave us with the executable (and icon?).
  71.      copy T:<arg1> ""
  72.    
  73.      IF EXISTS T:<arg1>.info
  74.        copy T:<arg1>.info ""
  75.      ENDIF
  76.  
  77.    ENDIF
  78.   ENDIF 
  79.  ENDIF
  80.  
  81. ENDIF
  82.  
  83. ; kill any remaining temporary files.
  84. delete >NIL: T:<arg2>#?
  85.