home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / projects / projman_1 / !ProjMan / !Help < prev    next >
Text File  |  1994-11-16  |  10KB  |  215 lines

  1. =================================================================
  2. |                                                               |
  3. |    !Projman : A project manager for RISC OS   Version 1.53    |
  4. |                                                               |
  5. |         by Andrew McMurry                                     |
  6. |                                                               |
  7. =================================================================
  8.  
  9. Copyright Andrew McMurry 1994
  10.  
  11. This software may be copied freely but only complete. This notice must
  12. remain on the copied version. Any additions must be documented,
  13. and identified as such.
  14.  
  15. I don't object to people uploading this software onto public-domain
  16. archives, BUT WOULD ANYONE WHO DOES THIS PLEASE TELL ME. If I am told then
  17. I can send the maintainer new versions as they come out.
  18.  
  19. Users of this software do so at their own risk. I hereby disclaim any
  20. liabilty of any kind due to the use or misuse of this software.
  21.  
  22. PLEASE REPORT ALL BUGS, COMMENTS, CRITISISM TO:
  23.  
  24.     Andrew McMurry, Balliol College, Oxford OX1 3BJ.
  25.  
  26.     internet:  a.mcmurry1@physics.oxford.ac.uk
  27.  
  28. 1) INTRODUCTION:
  29. ----------------
  30. !Projman is a replacement, and hopefully an improvement on !Make,
  31. the project manager that comes with the Acorn DDE package. It currently
  32. supports the DDE tools for compiling, assembling and linking the source
  33. code. It will support other environments, eg the RISC OS version
  34. of GCC.
  35.  
  36. !Projman uses one file type for its own use. Filetype 1AC "Project" is
  37. used to store information about which source files are used to make the
  38. target. IT IS ONLY A TEMPORARY FILETYPE. IT IS ***NOT*** REGISTERED WITH
  39. ACORN. Please inform me of any filetype clashes.
  40.  
  41. 2) USING !PROJMAN:
  42. ------------------
  43.  
  44. Options
  45. -------
  46. To get the Options window, choose Options... from the main menu. You can
  47. choose between project appearing as icons or windows. You can also choose
  48. the action that will occur when clicking on a Project Icon with select
  49. or adjust. See below for more details on their effects. If you do not wish
  50. ProjMan to produce a log file during makes, turn off the 'log makes to file'
  51. option. Save will save the options to disc as permanent. Cancel will revert
  52. to previous options. OK sets the current options to the ones given in the
  53. window.
  54.  
  55. Creating a New Project
  56. ----------------------
  57. Clicking Select on the !ProjMan icon will open the 'New Project' window.
  58. There is a project title icon and 3 file icons, each with a name icon.
  59. You should also choose an environment. initially there are just DDE and
  60. GCC environments but more can be created, see later.
  61. The file icons can be dragged to a filer window to create a new project.
  62. The application icon will create an application with a !Project file in it.
  63. A new directory also will contain a !Project file.
  64. New application projects start with one target called !RunImage.
  65. New directory projects and straight projects do not contain any Targets.
  66.  
  67. Opening Projects
  68. ----------------
  69. New projects are automatically opened. To open another project double
  70. click on it or drag it, or a directory/application containing a !Project
  71. file to the !ProjMan icon. An open project has either an icon with the
  72. project title underneath on the icon bar, or a 'project' window titled
  73. with the project title. The 'project' window has 4 buttons on it. The
  74. actions on these can also be obtained by clicking menu on the window,
  75. or on the icon. The menu also has a close option which does the same as
  76. closing the Project window. The Project is AUTOMATICALLY SAVED when closed.
  77. This will become an option in a later version.
  78.  
  79. Save saves the project. Open will open a target window for the main target.
  80. Make makes the whole project (ie all targets). Run WILL make the whole
  81. project and run it if there are no errors.
  82.  
  83. Menu:
  84.     File ->
  85.         Info ->        Project Information Window.
  86.         Save        Save Project.
  87.         Revert        Revert to version on disc.
  88.     Rename ->        Rename the project
  89.     Make            Makes all targets
  90.     Target ->        Open Main Target
  91.         New Target    Creates new target
  92.         ...        Open a target
  93.     Open Dir ->        Open filer window for main directory
  94.         c        Opens c subdirectory
  95.         ...        Opens other subdirectories
  96.     Close            Close Project
  97.  
  98. The Target Window
  99. -----------------
  100. The Target window is titled with the current target name. Filnames starting
  101. with . are relative to the directory containing the project file. The up
  102. and down arrows change the current target. Make makes the current Target.
  103. In the Pane which occupies the lower part of the window all the source files
  104. used to make the Target are listed, together with the tool used to make each
  105. of them and the object file produced. Source files can be selected using
  106. select and adjust in the normal way. Double clicking on a source file will
  107. open the source information window. To add source files to the list, drag a
  108. text file into the window. The Debug option will set the debugging flags for
  109. making the current target. The libraries menu sets the libraries to be
  110. included. Ones to be included are ticked.
  111.  
  112. Menu:
  113.     Info ->                Target information window.
  114.     Selection ->
  115.         Clear                   Clear the selection
  116.         Make            Make a single source file
  117.         Touch            Set time and date stamp for selection
  118.         Debug            Toggle Debug flag for selection
  119.         Remove            Remove selection
  120.     Select All            Select all source files
  121.     Options ->            Set options for the target
  122.     Touch                Touch all source files
  123.     Rename ->            Rename Target
  124.     Remove                Remove Target
  125.  
  126. Making
  127. ------
  128. Choosing Make from anywhere will search for source files that have been
  129. changed since the last make (by comparing date stamps on the files).
  130. If no changed files are found then an 'Up to date' message is produced.
  131. Otherwise a 'Making' window will open. This window tells which target and
  132. file are currently being made. The tool for making the file runs in the
  133. background. A 'Make Task' will appear in the task manager's 'Tasks' window.
  134. The tool can be paused or aborted from the buttons on the 'Making' window.
  135. Any compiler errors or warnings are sent to an editor using Throwback.
  136. If a tool fails then the output of the tool is displayed in a 'report'
  137. window. All output produced by tools during a make is logged to the MakeLog
  138. file. MakeObey and !Depend files are also created during the make, but
  139. deleted afterwards.
  140.  
  141. The DDE tools and GCC produce !Depend files if asked, which contain all the
  142. dependencies of the source file (ie #includes in C, GET's in assembly).
  143. !ProjMan does ask, and stores these dependencies with the source file
  144. list. It checks if any of these dependencies have been changed when
  145. making, and remakes the source file if they have. It works just like !Make.
  146.  
  147. Tools and Environments
  148. ----------------------
  149. For each environment there is a subdirectory in the !ProjMan.Env directory.
  150. Each environment directory should contain a Tools file. It can also include
  151. a Templates file. To add a new environment just create a new subdirectory
  152. with a tools file in it. ProjMan will notice next time it is run.
  153.  
  154. The tools file should contain a set of records like the following example:
  155.  
  156. tool    cc
  157. from    c
  158. to    o
  159. line    cc -c {d-g} {x} -Depend !Depend -Throwback -o {o} -Ic: {s}
  160. opts    {2-I } {3-f} {5-D } {6-U } {11-w} {7-zM} {8-P} {9-list} {10-pcc}
  161.  
  162. One of these is needed for each tool. The fields that can be used are:
  163.  
  164. tool    this is required as the first field and gives the tool name
  165. from    required, the prefix of source files translated
  166. to    required, the prefix of object files produced
  167. line    required, the command to use, see later
  168. opts    optional, translation from options window to string
  169. noopts    optional, there is no options window
  170. defo    optional, default options string
  171. mem    optional, amount of memory to allocate for tool
  172. noname    optional, do not display the name in the target window
  173.  
  174. The first record should be the details for the linker.
  175. There should follow a set of records like the following example:
  176.  
  177. lib    CLib
  178. file    C:o.Stubs
  179.  
  180. One of these is needed for each library. The order is important. A library
  181. which depends on routines in another library should come earlier in the
  182. list. The fields are:
  183.  
  184. lib    this is required as the first field and gives the library name
  185. file    required, the filename of the library
  186. dbug    optional, filename of an alternative library to be used when
  187.     the debug flag is set.
  188.  
  189. After the libraries an 'end' is required. See the DDE and GCC tools files
  190. for more examples.
  191. The command line for the tool is just plain text, except for the control
  192. sequences which are contained in { }:
  193.  
  194. d***    The *** is included on the command line if the debug flag is set.
  195. v***    The *** is included if via files are being used (link only)
  196. x    This expands to the options string
  197. o    This expands to the object filename
  198. s    This expands to the source filename
  199.  
  200. If you wish you can create an options window template in the environment
  201. Templates file. It should have the same name as the tool.
  202. The options translation string is similar to the command line. The control
  203. sequences this time are started by numbers. The number is a icon number
  204. in the options window. The icon should have a button type of either
  205. 11(Select/drag) or 15(Writable). The number is followed by a string.
  206. If the icon is of type 11 then the control sequence expands to that string
  207. if the icon is selected and nothing if it isn't. If the icon is of type 15
  208. then the string is included and followed by the text contents of the icon
  209. (must be an indirected icon) only if the text has non-zero length.
  210. Also icons 0 and 1 in the window must be OK and Cancel buttons respectively.
  211.  
  212. If anyone is having problems creating tools files and associated Templates
  213. please send me your files and I will try and fix them or ProjMan depending
  214. where the problem lies.
  215.