home *** CD-ROM | disk | FTP | other *** search
- C development aid 1.1 [ QuickC ]
- ==================================
-
- This program acts both as a front end to the Acorn make utility, and as a
- stand-alone, ( ie. without !Edit, ) task window. It requires TaskWindow 0.03
- or later to run, which you should find in the Edit application directory.
- Either RMEnsure this module in your C start-up sequence, or copy it to the
- 'QuickC' directory. It also requires SharedCLibrary version 3.50 or above.
-
- The features of this front-end are:
-
- * Single click on icon bar initiates make.
- * Make runs in a background window.
- * Make is suspendable.
- * Make output may be saved.
- * Errors highlighed.
- * Goto line.
- * Open source facility.
- * Buttons to control make options.
- * Single click on icon bar opens task window.
-
-
- =================== Using the application =====================
-
- OverView of development cycle
-
- Start QuickC application.
- repeat
- Register make file
- repeat
- Make
- while ( errors )
- edit sources
- end while
- until happy with result
- until no more to do
-
-
- To start the application, double click on the !QuickC icon in the filer
- window. The QuickC icon ( 'C' ) will appear on the icon bar.
-
- Before you can make any C programs, you must first drag the required
- make file from the filer and drop it onto the C icon. This will register the
- make file to the Quick C application. There are two effects of this:
- 1. The 'Make Options' window will open, displaying default options
- and the name of the make file.
- 2. The current selected directory is set to the file system and path
- that contains the make file.
- Once registered, the make file stays registered until you either register
- another make file or quit the program.
-
- To open the make file for editing, choose the 'Open' button in the 'Make
- Options' window.
-
- Once a make file is registered, a make may be performed by either choosing
- the 'Make' button in the 'Make Options' window, or by clicking with the left
- mouse button on the C icon. The 'Output' window will now open, and the make
- will proceed in background, showing error and warning messages in, strangely
- enough, the 'Output' window.
-
- When the Error and Warning lines appear, bringing up a menu over each line
- produces an option to open that file: a single left click will tell the editor
- to move to the source line in question. This assumes that your editor uses F5
- as the GotoLine dialog shortcut, ( eg. Edit, SrcEdit, StrongEd2. )
-
- To start a task window, single right click on the C icon. This operates
- in almost exactly the same way as the Edit task window, except that Ctrl
- characters are always ignored.
-
-
- Make options -------------------
- makefile - The name of the current makefile
- .IGNORE - Ignores return codes from compilers.
- Stamp - Stamps files to bring the target up-to-date.
- Build !Make - Does not execute commands but echos them to a file
- '!Make' which is created in the same directory as the
- current makefile.
- .SILENT - Does not echo commands before execution.
- Continue - Continues after errors.
- No execute - Merely show commands that would be executed to bring
- the target up-to-date.
- WimpSlot - How much memory the make task will have to run in.
- Note that this memory is only used for the duration
- of the make.
- Open - Opens the current makefile into an Edit window.
- Make - Invokes make with the current options. The same effect
- may be achieved by clicking on the icon bar 'C' icon.
- This will open the 'output' window.
-
- A click on the menu button will give a list of the first twenty targets
- defined in the makefile. Choosing any of these will start a make of the
- chosen target.
-
-
- Output window -------------
- The results of the task are shown in this window. Warnings are shown in
- black and errors in red. The other text will be grey.
- The title of the output window gives an indication of how the task was
- started, along with the current WimpSlot size.
-
- Menu options:
- Open '' - See below.
- Save => - Saves the contents of the output window in the normal
- RISC-OS manner.
- Link - Tracks the output as it is produced ( vis. Link on the
- Edit TaskWindow menu ).
- Gain caret - As single clicks on the output window are trapped,
- ( see below, ) the caret may be moved to the output
- window with this menu option.
- Suspend - The make may be suspended whenever active.
- Resume - The make may be resumed when suspended.
-
- Lines of the following format are especially useful.
- "c.file", line XXX: ...
- Menu over this line will give a menu option of
- Open 'c.file'
- Choosing this will load the source file into !Edit.
-
- Select over a line of the above format will send keystrokes to the
- current input focus to move the caret to the required line.
-
- Adjust in the output window will give the output window the input focus
- ( ie. the caret. )
-
-
- Icon Bar Icon
- -------------
- The icon bar menu is as follows:
- Info - Standard program information.
- Make options - Opens the make options window.
- New makefile - Allows the saving of a new 'blank' makefile in the
- normal RISC-OS manner.
- Quit - Kills the task window and exits.
-
- Select on the C icon will initiate a make, assuming that a makefile has
- been registered by dropping on to either the C icon or the make options
- window.
-
- Adjust on the C icon will open a task window.
-
-
- Known problems
- --------------
- Quitting whilst a make is in progress may cause strange effects, such as
- files left open, or switching out of the desktop to complete the make.
-
- Dismounting and remounting the disc, or *CLOSE, will close the files for
- you, but remember that ALL files are closed in this way, not just the ones
- you want to close!!
-
- Sorry, but I can't find any way to kill the child task cleanly, ( apart
- from not trying at all )!
-
-
- The default makefile explained
- ------------------------------
- The default makefile is available from the icon bar menu option
- 'New makefile'. A commented version appears below.
- _______________________________________________________________________
-
- INCLUDE= # Additional include path
- # eg. INCLUDE=$.MyLib
- OBJECTS= # List of objects that link to form the
- # main target. eg: OBJECTS=o.main o.keyb
- LIBRARY=$.Clib.o.Stubs # Which standard library to use: either
- # $.CLib.o.Stubs, or $.CLib.o.ANSILib
- CFLAGS= # Default compile flags. eg: CFLAGS=-g
- LFLAGS= -MAP # Default linker flags
- TARGET=!RunImage # Default target of make
-
- .c.o: # Rule for creating any o.* from a c.* file
- cc -c $(CFLAGS) $(INCLUDE) $<
-
- .s.o: # Default rule for creating any o.* from
- ASM $< # an assembler ( s.* ) file
-
- $(TARGET): $(OBJECTS) # Rule for creating the main target from
- # it's depenencies
- link -output !RunImage $(LFLAGS) $(OBJECTS) $(LIBRARY)
-
- clean: # Rule for removing all object modules,
- remove $(TARGET) # and the final target, thus
- wipe o.* # ensuring the next make is a full one.
- _______________________________________________________________________
-
-
- Building your makefile
- ----------------------
- Targets which have no dependants may be included in the make options
- menu by following the colon with a single space before the newline. If the
- space is not present, then that target will be excluded from the menu. This
- is useful to hide default or dangerous rules.
- For more information on makefiles, refer to the documentation supplied
- with your C compiler, or to the Unix make manual page.
-