- Paradigm Visual Make - ------------------------ C/C++/etc. software development environment Copyright (C) 1997 Andrew Guryanov andrew-guryanov@usa.net What is it ---------------- PVM is software development environment, written on pure Tcl/Tk. It can be adjusted to different programming languages and source file types. It incorporates text editor, software project (makefile) editor and enables you to develop and build your software projects from within single program. To debug your application, it can start external debugger. It also enables you to execute almost any external program (e.g. "diff" or "dircmp") and get its output into a specialised PVM text window. It looks like MS Windows MDI application and has highly reconfigurable visual appearance. What you should know --------------------- You ought to understand how does "make" work and how to create "makefiles". And you should know how to use tools like Compiler, Archiver and Linker. System requirements ------------------- To install and use PVM you need: --- UNIX + X-Windows environment; --- Tcl7.5 / Tk4.1 or higher try: "wish", or "iwish", or "itkwish" then, if it starts and you get "%" prompt, enter following commands: puts $tcl_version puts $tk_version exit --- "xlsfonts" program. I use it to enumerate known fonts. try "which xlsfonts". How to install it ------------------ 1. Put all PVM files into a permanent location. (e.g. /usr/local/pvm). 2. Edit "pvm" shell script: --- change PATH_TO_WISH to the location of the "wish" binary --- change APP_HOME to the directory from step 1 3. Put "pvm" in your path (e.g. /usr/local/bin) That is all. Now type "pvm" and press . How to configure visual appearance ----------------------------------- If everything is OK you will see the main window. Now press a couple of times left-most button in the toolbar, type in something into text window(s), select Window-Preferences menu item and spend some time playing with fonts, colours and "Apply" button. How to edit text ------------------ All shortcuts and accelerators are specified in the Edit menu. Note, that Find-Replace dialog is modeless. That is it works on ACTIVE document and you can find given text in multiple windows - one at a time, of course. There is no UNDO. I am sorry. How to create/edit a project ----------------------------- Everything is better understood by example. Select File-Open menu item and go to the directory where you have installed PVM (was it /usr/local/pvm ?) now go to the "sample" subdirectory and open "sample.mak" file. Left mouse button double-click on any file in Project listbox opens that file in a text window. Try also to hold down Shift or Control key when clicking on a file... Now select Project-Edit menu. You will see "Settings" dialog box. Now it is the place to say about principles. PVM uses some very general rules to create a makefile, namely: --- there are files that can be compiled by "Assembler" --- there are files that can be compiled by "Compiler" --- there are files that can be maked by "Maker" (nested makefiles!) --- both "Assembler" and "Compiler" produce "Object files" of the same format --- if "Target" is not empty, then all "Object files" should be "linked" by "Linker" or "archived" by "Archiver", depending on the type of the "Target" (if "Target" has archive-like extension - use "Archiver", otherwise - "Linker") NOTES: --- when you press "Add directory" button, you should select then A FILE and press "Open", then ALL files in the given directory with the SAME EXTENSION will be added to the project. --- "General" flags are made to propagate throughout the "makefiles tree" that is why they should be used with care. --- if the target is an archive - you can use MORE THAN ONE makefile to contribute to it (archive) --- there are two SEPARATE build settings in each makefile - Debug and Release - be careful, edit BOTH of them. --- when the nested makefile is being build - it uses Release type settings only. (I think it is convenient: e.g. Debug build can produce executable, while Release - a part of an archive). --- you can change Project default settings by editing "docproj.res" PVM source file Now examine other makefiles: super1.mak, super2.mak, heap.mak. I tried to demonstrate different types of build strategies, and also a flexibility of PVM. Note, because all of them are about the same two C-files, either remove intermediate object files manually between builds, or make rebuild. Of course you can invoke build from command line too. And finally look on "pvm.mak". It is a "makefile" for PVM itself. It makes nothing of course, but gives easy access to all PVM files. You can even "debug" PVM - press F5 key... As I believe, all this gives enough freedom to adjust PVM to different programming languages and to create your own customised development environment. Acknowledgements ---------------- Thanks to Jeffrey Hobbs (http://www.cs.uoregon.edu/~jhobbs/). Under Tk4.1 I use his "Tk File Selection Dialog" (filesel.tcl). Tk4.2 has standard one in the core... Thanks to Stewart Allen (http://www.neuron.com/stewart/vtcl/). Without his "Visual Tcl" this work was impossible. Andrew ------------------- document revision: 30 Jul 1997, Andrew Guryanov