StackThreads/MP: version 0.77 User's Guide
Compile the sample program in the previous section (call it
fib.c) by:
% stgcc fib.c -o fib
We use a simple frontend driver for gcc, called stgcc
(stg++ is provided for C++ programs). It is NOT a preprocessor,
but a simple script that invokes gcc with appropriate options
(such as include search paths and library search paths). Also, it
automatically links the StackThreads/MP library and utilities.
It is intended to accept ALL gcc options (unless it fundamentally conflicts with StackThreads/MP), so that any C program that can be compiled with gcc can at least be compiled with stgcc.
StackThreads/MP provides a small utility that generates a simple Makefile for new applications. Try:
stmkmf "app_name" > Makefile
For example, if you want to create an application called "fib", you type:
stmkmf fib > Makefile
The generated Makefile has some necessary settings such as
CC=stgcc and some useful targets (such as clean). It
assumes that you write a single source file (fib.c or
fib.cc). For programs with multiple sources, look for
BASES variable in the generated Makefile. Add base names
of other object files there. For example, if the executable fib
is going to be generated from fib.o, myutil.o, and
main.o, you add util main to the BASES variables,
like this:
BASES = $(APP) util main
If you already have a Makefile for your program, do not bother to
generate it and merge it into the old one. The generated Makefile does
nothing particularly important. Simply set your CC variable to
stgcc in your original Makefile.