            Project Manager V1.01 for GCC/EMX 0.9a

                   1 General Information
                   2 Configuration
                   3 Quick Overview
                   4 Hints
                   5 Files Groupbox
                     5.1 Add Button|Menu
                     5.2 Delete Button|Menu
                     5.3 Edit Button|Menu
                     5.4 Header Button|Menu
                   6 Header Dialogbox
                      6.1 Add
                      6.2 Delete
                      6.3 Edit
                   7 Compile Button|Menu
                   8 Link Button|Menu
                   9 Make Button|Menu
                   10 Options Menu
                      10.1 Project Settings
                         10.1.1 Application Options
                         10.1.2 Libraries
                         10.1.3 Warnings
                         10.1.4 Optimization
                         10.1.5 Linker
                      10.2 Standard Libraries
                      10.3 Library & Include Path
                      10.4 Editor
                      10.5 Message Font
                      10.6 Files Font
                   11 Info Menu
                      11.1 Help
                      11.2 File List
                      11.3 About


1. General Information
-----------------------------------------------------------
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Project Manager (PRJMGR) is a simple to use PM-Frontend
and Maketool for GCC/EMX 0.9a. If you haven't installed
the EMX 0.9a package you can get it on several ftp-Servers.
This program doesn't work with older versions of EMX but I
hope with future versions. It needs the EMX runtime package
and will not work without it.

You can create OS/2 Commandline, PM applications and DLL's
with PRJMGR. PRJMGR calls GCC for compliation, RC.EXE for
resource files and LINK386.EXE for linking. (Don't worry!
You can find LINK386.EXE and RC.EXE on every OS/2-System).

If you find this program usefull please send a postcard
(or 9Bit 4MB Simms ;-)) to

      Roland Knospe
      Prozessionsweg 8
      D-59387 Ascheberg
      Germany

      E-Mail ( until march 1996 )
      Knospe@medinf.informatik.fh-dortmund.de


Release Notes:
V1.0 March 95:
	- First Release
V1.01 September 95:
	-Changed the "Show" Button to "Edit"
	-Added a default action (Edit) to the Files ListBox 
	  (Thanks to Harald Leinders -> I hope it's ok now)
	-Changed the run function :
	   1. The original exe file is used for execution.     
	   2. PrjMgr-Window is blocked during execution.

( Is there somebody who can correct the mistakes in this text ? )

2. Configuration
-----------------------------------------------------------
First you have to install the EMX 0.9a package (Read the
README.DOC and INSTALL.DOC of the EMX package). Then start the
OMFLIBS.CMD command file in the \EMX\LIB directory (PRJMGR
needs the OMF-style libraries !!).

After this call INSTALL.EXE. It will copy the PRJMGR files
to a location of your choice and creates Desktop objects.
Open the new 'Projects' folder and start the 'Project Manager'
object.

Use the 'Info/Help' Menu to read this text. Change the library
and the include Path in the 'Opions/libraray & include Path' Menu
to the location of your EMX package. You can also change the
Editor PRJMGR works with in the 'Options/Editor' Menu.

You will find two other folders in 'Project' with examples.
Open one of them and start the 'XXDemo.prj' object.
To compile the project press the 'Make' button. After
compilation and linking you can start the demo programs with
the 'Test/Run' Menu.



3. Quick Overview
-----------------------------------------------------------
First steps to create a project:
Start PRJMGR (or use the project template to create a project
object and start it). Add the source files (*.c, *.cpp, *.m,
*.def, *.rc, (or precompiled *.res, *.obj)) with the Add Button.
For the time check of the Make function, PRJMGR needs the
header files of each source file. Therefore select the source
file in the listbox and press the Header Button. Then add the
header files.

Example for a PM program:

   Source:        Header:
------------------------------------------------
   Module1.c      Module1.h Global.h
   Module2.cpp    Module2.h Global.h
   Resource.rc    Dialog.dlg Global.h Icon.ico
   Deffile.def

Example for a simple program:

   Source:        Header:
------------------------------------------------
   Module.c       Module.h


Then use the project settings in the Options Menu to set the
Compiler and linker settings. For simple commandline programs
you can use the default settings. These settings are for each
project individual. They are stored in the *.prj file.

Save the project with the 'Save' Button or the 'Save as'
function in the File Menu.

Press the 'Make' Button ( or press Compile and then Link).

To start the program use the Test/Run Menu.



4. Hints:
-----------------------------------------------------------
- the Debug option doesn't work with GDB. ( it needs unix-style
  libraries ! ). IBM's IPMD should work. ( never testet !! )

- the 'Standard Libraries' setting should only be used to adjust
  the standard libraries of future EMX versions !!

- PRJMGR creates the EXE files in the directory of the
  project file

- PRJMGR compiles each source file of a project separately

- the Make function compiles and links only if it's necessary !
  (The Make function doesn't take notice of project setting changes)

- for bigger projects ( many *.c *.cpp *.m *.obj files ) the
  source files should be in the same directory as the project file !
  ( the parameter file for LINK386 is limited in size )


5. Files Groupbox
-----------------------------------------------------------
Here you can enter the source and object files and the
definition file.


5.1 Add Button|Menu
-----------------------------------------------------------
Add one or more source, object or definition file(s) to the
project.


5.2 Delete Button|Menu
-----------------------------------------------------------
Delete the selected files ( Listbox) from the project.


5.3 Edit Button|Menu
-----------------------------------------------------------
Start the Editor with the selected file ( Listbox).


5.4 Header Button|Menu
-----------------------------------------------------------
Opens the Header Dialogbox of the selected file.


6 Header Dialogbox
-----------------------------------------------------------
You can add, delete and display the header files of a source
file in this Dialogbox. PRJMGR does check the time stamp of
these files to determine if it's necessary to compile the
source file.


6.1 Add
-----------------------------------------------------------
Add one or more header files to the source file.


6.2 Delete
-----------------------------------------------------------
Delete the selected header files ( Listbox) from the source
file.


6.3 Edit
-----------------------------------------------------------
Start the Editor with the selected header file.


7. Compile Button|Menu
-----------------------------------------------------------
Create object files from the *.c, *.cpp, *.m and *.rc files.


8. Link Button|Menu
-----------------------------------------------------------
Link the *.obj, *.res and the compiled source files.


9. Make Button|Menu
-----------------------------------------------------------
Compile changed source files and link if necessary.


10 Options Menu
-----------------------------------------------------------
You can find the settings here.


10.1 Project Settings
-----------------------------------------------------------
Settings for the compiler and linker. They are stored in
the *.prj file.


10.1.1 Application Options
-----------------------------------------------------------
Type of the generated code.

File format
-----------
   EXE: Executable
   Runtime DLL: Runtime dynamic link library
   Stand alone DLL: DLL with it's own runtime environment

Thread's
--------
   Single-thread: Program has only one thread
   Multi-thread: Program work's with the _beginthread function

Standard Libraries
------------------
   C-Library Static: Link C-Library static (c.lib)
   C-Library Dynamic: Link C-Library dynamic (emxlibc.dll)
   System-library Static: Link system call library static (sys.lib)
   System-library Dynamic: Link system call library dynamic (emx.dll)

//-Comments ( I know. It's not the correct place !!)
-----------
   Enable C++ comments in c programs

Stack probes
------------
   Generate stack probes

Debug Information
-----------------
   Add debug info (for IPMD ! It doesn't work with GDB )


10.1.2 Libraries
-----------------------------------------------------------
Additional libraries

Emx IO: EMXIO.LIB (Import library for EMXIO.DLL -> I/O functions )
Graphic: GRAPH.LIB ( Graphics library )
Video: VIDEO.LIB ( Textmode window manager functions )
Module Def.: MODDEF.LIB (Functions for reading def files )
Wraper Func: WRAP.LIB ( Import library fo emxwrap.dll )
Omflib: OMFLIB.LIB ( Functions for reading & creating OMF Libraries)
Gpp: GPP.LIB ( Gnu C++ library )
IOStream: IOSTREAM.LIB ( C++ IOStream library )
Objective C: OBJC.LIB (You have to use this library for Objective C)
Bsd: BSD.LIB ( BSD library )
Curses: CURSES ( BSD curses library )
Socket: SOCKET.LIB ( Socket library )

Other: You can specify other libraries in this field.
       ( Without lib extension. Separate them with space)


10.1.3 Warnings
-----------------------------------------------------------
Enable/Disable compiler warnings. The default is 'All warnings'


10.1.4 Optimization
-----------------------------------------------------------
No optimazation: Do nothing
Standard optimization: Gcc option O1
Extended optimization: Gcc option O2


10.1.5 Linker
-----------------------------------------------------------
Base command: Code base address
Stack command: Stacksize
Run from VDM: Program startable from VDM
Map file: Create map file

Application type
----------------
   See Def-File: Use the type setting in the linker definition file

   Use this settings only for executable programs without def file:
   ------------------------------------------------------
   PM Application: Presentation manager application
   Windowed: Windowable Commandline program
   Fullscreen: Fullscreen Commandline program


10.2 Standard Libraries
-----------------------------------------------------------
This setting should only be used to adjust the standard libraries
of future EMX versions !


10.3 Library & Include Path
-----------------------------------------------------------

Linker library path
-------------------
Library path: \emx\Lib directory of the EMX package
Single-thread Library path: emx\lib\st directory (Single-thread libraries)
Multi-thread Library path: emx\lib\mt directory (Multi-thread libraries)

Resource compiler include path: \emx\include


10.4 Editor
-----------------------------------------------------------
Editor used for the 'Edit' function.
The default is E.EXE. ( But EPM.EXE is the better choice !)


10.5 Message Font
-----------------------------------------------------------
Message display font


10.6 Files Font
-----------------------------------------------------------
Files listbox font


11 Info Menu
11.1 Help
-----------------------------------------------------------
Show this help text.


11.2 File List
-----------------------------------------------------------
Show the source & header files with there full path.


11.3 About
-----------------------------------------------------------
'About' displays the version of PRJMGR.

