home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Programming / fd2pragma / Scripts / vbcc / amigawos / MakeALIB.script next >
Encoding:
Text File  |  2001-06-23  |  12.7 KB  |  290 lines

  1. if not exists MakeALIB.script
  2.   echo "Please change first to the script's directory!"
  3.   quit
  4. endif
  5.  
  6. assign _CLIB_: Develop:Asm/NDUK40/Include_h/clib
  7. assign _CLIB_: Develop:CC/netinclude/clib ADD
  8. assign _CLIB_: ADCD_2.1:NDK/NDK_3.5/Include/include_h/clib ADD
  9. assign _CLIB_: PPC-CDROM:PPCRelease/include/powerup/clib ADD
  10.  
  11. set alibnam amiga.lib
  12. set temp T:
  13. set fdflags special 73 to $temp onlycnames
  14. set fdLVOflags special 103 to $temp
  15. set vcflags +warpos -O1
  16.  
  17. echo "Checking for required commands. Stopping if missing.*N"
  18.  
  19. failat 5
  20.   echo noline "which    : "
  21.     which which                 ;stop if missing. :-)
  22.   echo noline "copy     : "
  23.     which copy
  24.   echo noline "delete   : "
  25.     which delete
  26.   echo noline "execute  : "
  27.     which execute
  28.   echo noline "join     : "
  29.     which join
  30.   echo noline "list     : "
  31.     which list
  32.   echo noline "spat     : "
  33.     which spat
  34.   echo noline "fd2pragma: "
  35.     which fd2pragma
  36.   echo noline "vc       : "
  37.     which vc
  38.   echo noline "PhxAss   : "
  39.     which phxass
  40. failat 20
  41.  
  42.  
  43. echo "*NCompiling $alibnam for WarpOS/PowerPC. This may take some time..."
  44.   delete t:($alibnam|#?.(s|o|i|lib)) quiet >nil:
  45. echo "*NProcessing FDs..."
  46.   failat 21
  47.  
  48. echo "*NGenerating stub functions..."
  49.   ; OS3.1 libraries
  50.   fd2pragma $fdflags FD:amigaguide_lib.fd clib _CLIB_:amigaguide_protos.h
  51.   fd2pragma $fdflags FD:asl_lib.fd clib _CLIB_:asl_protos.h
  52.   fd2pragma $fdflags FD:battclock_lib.fd clib _CLIB_:battclock_protos.h
  53.   fd2pragma $fdflags FD:battmem_lib.fd clib _CLIB_:battmem_protos.h
  54.   fd2pragma $fdflags FD:bullet_lib.fd clib _CLIB_:bullet_protos.h
  55.   fd2pragma $fdflags FD:cardres_lib.fd clib _CLIB_:cardres_protos.h
  56.   fd2pragma $fdflags FD:cia_lib.fd clib _CLIB_:clib/cia_protos.h
  57.   fd2pragma $fdflags FD:colorwheel_lib.fd clib _CLIB_:colorwheel_protos.h
  58.   fd2pragma $fdflags FD:commodities_lib.fd clib _CLIB_:commodities_protos.h
  59.   fd2pragma $fdflags FD:console_lib.fd clib _CLIB_:console_protos.h
  60.   fd2pragma $fdflags FD:datatypes_lib.fd clib _CLIB_:datatypes_protos.h
  61.   fd2pragma $fdflags FD:diskfont_lib.fd clib _CLIB_:diskfont_protos.h
  62.   fd2pragma $fdflags FD:disk_lib.fd clib _CLIB_:disk_protos.h
  63.   fd2pragma $fdflags FD:dos_lib.fd clib _CLIB_:dos_protos.h
  64.   fd2pragma $fdflags FD:dtclass_lib.fd clib _CLIB_:dtclass_protos.h
  65.   fd2pragma $fdflags FD:exec_lib.fd clib _CLIB_:exec_protos.h
  66.   fd2pragma $fdflags FD:expansion_lib.fd clib _CLIB_:expansion_protos.h
  67.   fd2pragma $fdflags FD:gadtools_lib.fd clib _CLIB_:gadtools_protos.h
  68.   fd2pragma $fdflags FD:graphics_lib.fd clib _CLIB_:graphics_protos.h
  69.   fd2pragma $fdflags FD:icon_lib.fd clib _CLIB_:icon_protos.h
  70.   fd2pragma $fdflags FD:iffparse_lib.fd clib _CLIB_:iffparse_protos.h
  71.   fd2pragma $fdflags FD:input_lib.fd clib _CLIB_:input_protos.h
  72.   fd2pragma $fdflags FD:intuition_lib.fd clib _CLIB_:intuition_protos.h
  73.   fd2pragma $fdflags FD:keymap_lib.fd clib _CLIB_:keymap_protos.h
  74.   fd2pragma $fdflags FD:layers_lib.fd clib _CLIB_:layers_protos.h
  75.   fd2pragma $fdflags FD:locale_lib.fd clib _CLIB_:locale_protos.h
  76.   fd2pragma $fdflags FD:lowlevel_lib.fd clib _CLIB_:lowlevel_protos.h
  77.   fd2pragma $fdflags FD:mathffp_lib.fd clib _CLIB_:mathffp_protos.h
  78.   fd2pragma $fdflags FD:mathieeedoubbas_lib.fd clib _CLIB_:mathieeedoubbas_protos.h
  79.   fd2pragma $fdflags FD:mathieeedoubtrans_lib.fd clib _CLIB_:mathieeedoubtrans_protos.h
  80.   fd2pragma $fdflags FD:mathieeesingbas_lib.fd clib _CLIB_:mathieeesingbas_protos.h
  81.   fd2pragma $fdflags FD:mathieeesingtrans_lib.fd clib _CLIB_:mathieeesingtrans_protos.h
  82.   fd2pragma $fdflags FD:mathtrans_lib.fd clib _CLIB_:mathtrans_protos.h
  83.   fd2pragma $fdflags FD:misc_lib.fd clib _CLIB_:misc_protos.h
  84.   fd2pragma $fdflags FD:nonvolatile_lib.fd clib _CLIB_:nonvolatile_protos.h
  85.   fd2pragma $fdflags FD:potgo_lib.fd clib _CLIB_:potgo_protos.h
  86.   fd2pragma $fdflags FD:ramdrive_lib.fd clib _CLIB_:ramdrive_protos.h
  87.   fd2pragma $fdflags FD:realtime_lib.fd clib _CLIB_:realtime_protos.h
  88.   fd2pragma $fdflags FD:rexxsyslib_lib.fd clib _CLIB_:rexxsyslib_protos.h
  89.   fd2pragma $fdflags FD:timer_lib.fd clib _CLIB_:timer_protos.h
  90.   fd2pragma $fdflags FD:translator_lib.fd clib _CLIB_:translator_protos.h
  91.   fd2pragma $fdflags FD:utility_lib.fd clib _CLIB_:utility_protos.h
  92.   fd2pragma $fdflags FD:wb_lib.fd clib _CLIB_:wb_protos.h
  93.   ; OS3.5 libraries
  94.   fd2pragma $fdflags FD:aml_lib.fd clib _CLIB_:aml_protos.h
  95.   fd2pragma $fdflags FD:arexx_lib.fd clib _CLIB_:arexx_protos.h
  96.   fd2pragma $fdflags FD:bevel_lib.fd clib _CLIB_:bevel_protos.h
  97.   fd2pragma $fdflags FD:bitmap_lib.fd clib _CLIB_:bitmap_protos.h
  98.   fd2pragma $fdflags FD:button_lib.fd clib _CLIB_:button_protos.h
  99.   fd2pragma $fdflags FD:checkbox_lib.fd clib _CLIB_:checkbox_protos.h
  100.   fd2pragma $fdflags FD:chooser_lib.fd clib _CLIB_:chooser_protos.h
  101.   fd2pragma $fdflags FD:clicktab_lib.fd clib _CLIB_:clicktab_protos.h
  102.   fd2pragma $fdflags FD:datebrowser_lib.fd clib _CLIB_:datebrowser_protos.h
  103.   fd2pragma $fdflags FD:drawlist_lib.fd clib _CLIB_:drawlist_protos.h
  104.   fd2pragma $fdflags FD:fuelgauge_lib.fd clib _CLIB_:fuelgauge_protos.h
  105.   fd2pragma $fdflags FD:getfile_lib.fd clib _CLIB_:getfile_protos.h
  106.   fd2pragma $fdflags FD:getfont_lib.fd clib _CLIB_:getfont_protos.h
  107.   fd2pragma $fdflags FD:getscreenmode_lib.fd clib _CLIB_:getscreenmode_protos.h
  108.   fd2pragma $fdflags FD:glyph_lib.fd clib _CLIB_:glyph_protos.h
  109.   fd2pragma $fdflags FD:hdwrench_lib.fd clib _CLIB_:hdwrench_protos.h
  110.   fd2pragma $fdflags FD:integer_lib.fd clib _CLIB_:integer_protos.h
  111.   fd2pragma $fdflags FD:label_lib.fd clib _CLIB_:label_protos.h
  112.   fd2pragma $fdflags FD:layout_lib.fd clib _CLIB_:layout_protos.h
  113.   fd2pragma $fdflags FD:listbrowser_lib.fd clib _CLIB_:listbrowser_protos.h
  114.   fd2pragma $fdflags FD:palette_lib.fd clib _CLIB_:palette_protos.h
  115.   fd2pragma $fdflags FD:penmap_lib.fd clib _CLIB_:penmap_protos.h
  116.   fd2pragma $fdflags FD:popcycle_lib.fd clib _CLIB_:popcycle_protos.h
  117.   fd2pragma $fdflags FD:radiobutton_lib.fd clib _CLIB_:radiobutton_protos.h
  118.   fd2pragma $fdflags FD:requester_lib.fd clib _CLIB_:requester_protos.h
  119.   fd2pragma $fdflags FD:scroller_lib.fd clib _CLIB_:scroller_protos.h
  120.   fd2pragma $fdflags FD:slider_lib.fd clib _CLIB_:slider_protos.h
  121.   fd2pragma $fdflags FD:space_lib.fd clib _CLIB_:space_protos.h
  122.   fd2pragma $fdflags FD:speedbar_lib.fd clib _CLIB_:speedbar_protos.h
  123.   fd2pragma $fdflags FD:string_lib.fd clib _CLIB_:string_protos.h
  124.   fd2pragma $fdflags FD:texteditor_lib.fd clib _CLIB_:texteditor_protos.h
  125.   fd2pragma $fdflags FD:textfield_lib.fd clib _CLIB_:textfield_protos.h
  126.   fd2pragma $fdflags FD:window_lib.fd clib _CLIB_:window_protos.h
  127.   ; Third party libraries
  128.   fd2pragma $fdflags FD:ahi_lib.fd clib _CLIB_:ahi_protos.h
  129.   fd2pragma $fdflags FD:ahi_sub_lib.fd clib _CLIB_:ahi_sub_protos.h
  130.   fd2pragma $fdflags FD:cgxdither_lib.fd clib _CLIB_:cgxdither_protos.h
  131.   fd2pragma $fdflags FD:cgxsystem_lib.fd clib _CLIB_:cgxsystem_protos.h basename CGXSystemBase
  132.   fd2pragma $fdflags FD:cgxvideo_lib.fd clib _CLIB_:cgxvideo_protos.h
  133.   fd2pragma $fdflags FD:chunkyppc_lib.fd clib _CLIB_:chunkyppc_protos.h
  134.   fd2pragma $fdflags FD:cybergraphics_lib.fd clib _CLIB_:cybergraphics_protos.h
  135.   fd2pragma $fdflags FD:muiclass_lib.fd
  136.   fd2pragma $fdflags FD:muimaster_lib.fd clib _CLIB_:muimaster_protos.h
  137. ;  fd2pragma $fdflags FD:multiuser_lib.fd clib _CLIB_:multiuser_protos.h
  138.   fd2pragma $fdflags FD:Picasso96API.fd clib _CLIB_:Picasso96_protos.h
  139.   fd2pragma $fdflags FD:powerpc_lib.fd clib _CLIB_:powerpc_protos.h
  140.   fd2pragma $fdflags FD:ppcdiss_lib.fd clib _CLIB_:ppcdiss_protos.h
  141.   fd2pragma $fdflags FD:ppc_lib.fd clib _CLIB_:ppc_protos.h
  142. ;  fd2pragma $fdflags FD:reqtools_lib.fd clib _CLIB_:reqtools_protos.h
  143.   fd2pragma $fdflags FD:rtgmaster_lib.fd clib _CLIB_:rtgmaster_protos.h
  144.   fd2pragma $fdflags FD:socket_lib.fd clib _CLIB_:socket_protos.h
  145.   fd2pragma $fdflags FD:triton_lib.fd ;clib _CLIB_:triton_protos.h
  146.   fd2pragma $fdflags FD:Warp3D.fd clib _CLIB_:Warp3D_protos.h
  147.   fd2pragma $fdflags FD:wizard_lib.fd clib _CLIB_:wizard_protos.h
  148.  
  149. echo "*NGenerating LVOs..."
  150.   ; OS3.1 libraries
  151.   fd2pragma $fdLVOflags FD:amigaguide_lib.fd
  152.   fd2pragma $fdLVOflags FD:asl_lib.fd
  153.   fd2pragma $fdLVOflags FD:battclock_lib.fd
  154.   fd2pragma $fdLVOflags FD:battmem_lib.fd
  155.   fd2pragma $fdLVOflags FD:bullet_lib.fd
  156.   fd2pragma $fdLVOflags FD:cardres_lib.fd
  157. ; fd2pragma $fdLVOflags FD:cia_lib.fd        ; doesn't work!
  158.   fd2pragma $fdLVOflags FD:colorwheel_lib.fd
  159.   fd2pragma $fdLVOflags FD:commodities_lib.fd
  160.   fd2pragma $fdLVOflags FD:console_lib.fd
  161.   fd2pragma $fdLVOflags FD:datatypes_lib.fd
  162.   fd2pragma $fdLVOflags FD:diskfont_lib.fd
  163.   fd2pragma $fdLVOflags FD:disk_lib.fd
  164.   fd2pragma $fdLVOflags FD:dos_lib.fd
  165.   fd2pragma $fdLVOflags FD:dtclass_lib.fd
  166.   fd2pragma $fdLVOflags FD:exec_lib.fd
  167.   fd2pragma $fdLVOflags FD:expansion_lib.fd
  168.   fd2pragma $fdLVOflags FD:gadtools_lib.fd
  169.   fd2pragma $fdLVOflags FD:graphics_lib.fd
  170.   fd2pragma $fdLVOflags FD:icon_lib.fd
  171.   fd2pragma $fdLVOflags FD:iffparse_lib.fd
  172.   fd2pragma $fdLVOflags FD:input_lib.fd
  173.   fd2pragma $fdLVOflags FD:intuition_lib.fd
  174.   fd2pragma $fdLVOflags FD:keymap_lib.fd
  175.   fd2pragma $fdLVOflags FD:layers_lib.fd
  176.   fd2pragma $fdLVOflags FD:locale_lib.fd
  177.   fd2pragma $fdLVOflags FD:lowlevel_lib.fd
  178.   fd2pragma $fdLVOflags FD:mathffp_lib.fd
  179.   fd2pragma $fdLVOflags FD:mathieeedoubbas_lib.fd
  180.   fd2pragma $fdLVOflags FD:mathieeedoubtrans_lib.fd
  181.   fd2pragma $fdLVOflags FD:mathieeesingbas_lib.fd
  182.   fd2pragma $fdLVOflags FD:mathieeesingtrans_lib.fd
  183.   fd2pragma $fdLVOflags FD:mathtrans_lib.fd
  184.   fd2pragma $fdLVOflags FD:misc_lib.fd
  185.   fd2pragma $fdLVOflags FD:nonvolatile_lib.fd
  186.   fd2pragma $fdLVOflags FD:potgo_lib.fd
  187.   fd2pragma $fdLVOflags FD:ramdrive_lib.fd
  188.   fd2pragma $fdLVOflags FD:realtime_lib.fd
  189.   fd2pragma $fdLVOflags FD:rexxsyslib_lib.fd
  190.   fd2pragma $fdLVOflags FD:timer_lib.fd
  191.   fd2pragma $fdLVOflags FD:translator_lib.fd
  192.   fd2pragma $fdLVOflags FD:utility_lib.fd
  193.   fd2pragma $fdLVOflags FD:wb_lib.fd
  194.   ; OS3.5 libraries
  195.   fd2pragma $fdLVOflags FD:aml_lib.fd
  196.   fd2pragma $fdLVOflags FD:arexx_lib.fd 
  197.   fd2pragma $fdLVOflags FD:bevel_lib.fd
  198.   fd2pragma $fdLVOflags FD:bitmap_lib.fd
  199.   fd2pragma $fdLVOflags FD:button_lib.fd
  200.   fd2pragma $fdLVOflags FD:checkbox_lib.fd
  201.   fd2pragma $fdLVOflags FD:chooser_lib.fd
  202.   fd2pragma $fdLVOflags FD:clicktab_lib.fd
  203.   fd2pragma $fdLVOflags FD:datebrowser_lib.fd
  204.   fd2pragma $fdLVOflags FD:drawlist_lib.fd
  205.   fd2pragma $fdLVOflags FD:fuelgauge_lib.fd
  206.   fd2pragma $fdLVOflags FD:getfile_lib.fd
  207.   fd2pragma $fdLVOflags FD:getfont_lib.fd
  208.   fd2pragma $fdLVOflags FD:getscreenmode_lib.fd
  209.   fd2pragma $fdLVOflags FD:glyph_lib.fd
  210.   fd2pragma $fdLVOflags FD:hdwrench_lib.fd
  211.   fd2pragma $fdLVOflags FD:integer_lib.fd
  212.   fd2pragma $fdLVOflags FD:label_lib.fd
  213.   fd2pragma $fdLVOflags FD:layout_lib.fd
  214.   fd2pragma $fdLVOflags FD:listbrowser_lib.fd
  215.   fd2pragma $fdLVOflags FD:palette_lib.fd
  216.   fd2pragma $fdLVOflags FD:penmap_lib.fd
  217.   fd2pragma $fdLVOflags FD:popcycle_lib.fd
  218.   fd2pragma $fdLVOflags FD:radiobutton_lib.fd
  219.   fd2pragma $fdLVOflags FD:requester_lib.fd
  220.   fd2pragma $fdLVOflags FD:scroller_lib.fd
  221.   fd2pragma $fdLVOflags FD:slider_lib.fd
  222.   fd2pragma $fdLVOflags FD:space_lib.fd
  223.   fd2pragma $fdLVOflags FD:speedbar_lib.fd
  224.   fd2pragma $fdLVOflags FD:string_lib.fd
  225.   fd2pragma $fdLVOflags FD:texteditor_lib.fd
  226.   fd2pragma $fdLVOflags FD:textfield_lib.fd
  227.   fd2pragma $fdLVOflags FD:window_lib.fd
  228.   ; Third party libraries
  229.   fd2pragma $fdLVOflags FD:ahi_lib.fd
  230.   fd2pragma $fdLVOflags FD:ahi_sub_lib.fd
  231.   fd2pragma $fdLVOflags FD:cgxdither_lib.fd
  232.   fd2pragma $fdLVOflags FD:cgxsystem_lib.fd basename CGXSystemBase
  233.   fd2pragma $fdLVOflags FD:cgxvideo_lib.fd
  234.   fd2pragma $fdLVOflags FD:chunkyppc_lib.fd
  235.   fd2pragma $fdLVOflags FD:cybergraphics_lib.fd
  236.   fd2pragma $fdLVOflags FD:muiclass_lib.fd
  237.   fd2pragma $fdLVOflags FD:muimaster_lib.fd
  238.   fd2pragma $fdLVOflags FD:multiuser_lib.fd
  239.   fd2pragma $fdLVOflags FD:Picasso96API.fd
  240.   fd2pragma $fdLVOflags FD:powerpc_lib.fd
  241.   fd2pragma $fdLVOflags FD:ppcdiss_lib.fd
  242.   fd2pragma $fdLVOflags FD:ppc_lib.fd
  243.   fd2pragma $fdLVOflags FD:reqtools_lib.fd
  244.   fd2pragma $fdLVOflags FD:rtgmaster_lib.fd
  245.   fd2pragma $fdLVOflags FD:socket_lib.fd
  246.   fd2pragma $fdLVOflags FD:triton_lib.fd
  247.   fd2pragma $fdLVOflags FD:Warp3D.fd
  248.   fd2pragma $fdLVOflags FD:wizard_lib.fd
  249.  
  250. echo "*NCompiling/Assembling support routines..."
  251.   vc $vcflags -c #?.(c|s)
  252.  
  253. echo "*NJoining everything together..."
  254.   join #?.o ${temp}#?.lib ${temp}#?.o to ${temp}${alibnam}_
  255.  
  256. echo "*NCleaning up..."
  257.   delete ${temp}#?.(s|o|i|lib) #?.o quiet
  258.   rename ${temp}${alibnam}_ ${temp}${alibnam}
  259.  
  260. unset vcflags
  261. unset fdflags
  262. unset fdLVOflags
  263. unset lbmodel
  264.  
  265. set instto $temp
  266.  
  267. which >nil: ask
  268. if not warn
  269.   ask "*NInstall $alibnam to vlibwos: (y/n)?"
  270.   if warn
  271.     set instto vlibwos:
  272.     failat 21
  273.     copy >nil: ${temp}$alibnam $instto
  274.     if not fail
  275.       delete ${temp}$alibnam quiet
  276.     endif
  277.     failat 20
  278.   endif
  279. endif
  280.  
  281. if exists ${instto}${alibnam}
  282.   echo "*N*N...poooh... $alibnam can be found in ${instto}."
  283. else
  284.   echo "*N*NInstallation error!"
  285. endif
  286.  
  287. unset instto
  288. unset alibnam
  289. assign _CLIB_: REMOVE
  290.