SASCProjectManager ================== ©1993 Donald Milne Please see the readme file for important copyright information. This is v2.2 of a project manager for SAS/C v6.0 or greater. It is freely distributable within the limits given in the readme file. Introduction ------------ This is a front end to simplify maintenance and building of SAS/C projects, particularly those with multiple source files and headers. It allows the user to construct a list of source files that make up the project and to define global and local compiler options for these files. It can also build a list of #includ'ed local headers (those in "...") and use all this information to construct a make file. The user can compile individual files, link the project, build the project via smake, set global compiler and linker options and set local compiler options on a file by file basis. The user can also edit both source files (.c/.cpp) and header files. The makefile that the program consructs ensures that any changes to the source files, local headers, local options and global options will result in the recompilation and relinking of all affected parts of the source code. Installation ------------ 1) Copy 'SASCProjectManager' to SC:C/. 2) Delete the SC:Starter_Project drawer. 3) Copy the supplied Starter_Project drawer to SC: When the SCSetUp program is used to create a new project, the files in the new Starter_Project drawer will be used. The Build, Edit and SCoptions icons are replaced with the ProjectMan icon. Using The Program ----------------- Create your source files using the 'Operation/Edit New File...' menu item. Once you have at least one source file you can double click on the ProjectMan icon. A window will appear with a large scrolling list and several buttons. Select Project/Add Item... (Amiga A) and a file requester will appear. Use this to select a source file and click OK. The file will be added to the scrolling list. The file requester supports multi-selection of files using the shift key. Another alternative is to drag the icon(s) for the file(s) into the ProjectMan window as the window is an AppWindow and supports drag and drop of icons. Note that only files matching '#?.c' or (new in v2.1) '#?.cpp' will be displayed in the file requester and the AppWindow will ignore any file dropped in it that fails to match one of these patterns. When you are ready to compile something, select Operation/Global Options... (Amiga G). This will run the normal SCOpts program and allow you to set the options that all source files will be compiled and linked with. Next select the source file you wish to compile from the list then click on the Compile button. A window will open in which the compiler output will be displayed. When the compiler is finished, close the window using its close gadget. It is recommended that you turn on the verbose option in SCOpts otherwise it will not be obvious when the compiler has finished. Use the Make button to recompile and relink all files that require it, using smake. Use the Link button to relink all object files. Use the Build button to recompile and relink all files whether it is required or not, a requester will prompt you before comencing with this operation. If you do not have a real-time clock then you should use this option the first time you do a compile in order to set the correct datestamps on the object files and the executable. The Show Headers button will scan the selected file and display a list of all files that are #include'ed in "..." in a scrolling list in a seperate window. Click on Done to return to the main window. Note that only the source file will be searched, any files it #include's will not be searched so header files should not #include any non-system headers of their own. (System headers in <...> are ok however as these are not scanned for). The Edit button can be used to edit (via se) the currently selected header file. The Local Options button runs the SCOpts program and allows the setting of options local to s source file. The source file must be selected before clicking on this button. The Edit Files button allows the editing (via se) of the currently selected source file. The Operation menu has entries that perform the same actions as these buttons as well as an entry for gloabl options and the edit new file option. The Project menu has the add item entry but also has a 'Delete Item...' entry (Amiga D) to remove source files from the list (it does not actually delete the source file itself however), an 'About...' item which does the same as in any other program, an 'Iconify' entry (Amiga I) which reduces the window to an AppIcon on the workbench (double click on it to get the window back) and a 'Quit...' option (Amiga Q) which performs the same action as the window close gadget. Notes ----- The program creates several files. ProjectMan - this is the data file assosciated with the icon and it contains the source file list. GLOBALOPTS - this is the global options file. .lopt - this is the local options file assosiated with a source file. smakefile - the created makefile passes to smake. .lnk - the command file passes to slink. The SCOpts program creates an SCOptions file but this is renamed to either GLOBALOPTS or .lopt by this program. You may see a 'sc:c/sc failed returncode 10' message in the output window just before the linker runs, this is ok, the program uses 'sc' to build the .lnk file and 'sc' fails because it cannot find 'slink' as there are no paths set up in a workbench process. It is also recommended that you give the project a name in the global options to avoid problems, If the project is not given a name, it will be named after the first source file in the list and if this changes then the compiler etc may become confused (not to mention that you will get multiple copies of your executable and '.lnk' files). Archive Contents ---------------- ProjectMan.info ProjectMan/Starter_Project.info ProjectMan/Starter_Project/Debug ProjectMan/Starter_Project/Debug.info ProjectMan/Starter_Project/ProjectMan.info ProjectMan/README (distribution notes) ProjectMan/README.info ProjectMan/SASCProjectMan.doc (this file) ProjectMan/SASCProjectMan.doc.info ProjectMan/SASCProjectManager (the program) Contact Details --------------- You can contact me by mailing 'donald' on the Alpha Complex BBS on 0224-626203 (UK). Thanks ------ Thanks to : Commodore-Amiga for the machine. SAS Institute for the compiler. Al for letting me recompile my 5.10 source under 6.3. Gary for the suggestions.