 Create a new Option directory structure. This can be done using a template that Rogue Wave has provided.
Create a new Option directory structure. This can be done using a template that Rogue Wave has provided. Modify the template files for the new Option
Modify the template files for the new Option Develop the Option code
Develop the Option code  Define the Option table
Define the Option table  Build the new Option
Build the new Option  Test the new Option
Test the new Option % cd $RW_DIR
% cp -r option-templates sample-1_0
> cd %RW_DIR%
> xcopy option-templates sample-1_0
| Files | Used for: | 
| Makefile | Controls the building of an Option. | 
| buildmachine | Defines a build machine for a given UNIX platform. | 
| init.mkinc | Common macros, variables for Makefile. | 
| src/Makefile | Controls the building of the source files. | 
| src/option_info.h | The Option definition template. | 
| src/option_table.c | The Option Table definition. | 
| src/option_routines.c | The Option user routines template. | 
| src/option_rs6000.exp | The exported symbols for the Option Table (AIX only). | 
| src/option_rs6000.imp | The imported symbols for the Option (AIX only). | 
| src/depend.mkinc | Dependencies target for make. | 
| src/flags.mkinc | Defines cc, ld flags based on platform. | 
| src/axposf.mkcfg |  specific make flags. | 
| src/hps700.mkcfg | HP-UX specific make flags. | 
| src/rs6000.mkcfg | RS6000/AIX specific make flags. | 
| src/sgi.mkcfg | SGI/IRIX specific make flags. | 
| src/solaris.mkcfg | SPARC/Solaris specific make flags. | 
| src/linux.mkcfg | Linux specific make flags. | 
| bin/Makefile | Controls the building of the Option shareable libraries. | 
| lib/Makefile | Controls the compilation of the PV‑WAVE procedures. | 
| Files | Used for: | 
| makefile.nt | Controls the building of an Option. | 
| src\makefile.nt | Controls the building of the source files. | 
| src\option_info.h | The Option definition template. | 
| src\option_table.c | The Option Table definition. | 
| src\option_routines.c | The Option user routines template. | 
| src\option_table.def | The module definition file for the Option Table. | 
| src\option_routines.def | The module definition file for the Option. | 
| Files | Modification | 
| Makefile | Change the ROOTNAME variable to the name of your Option directory. | 
| buildmachine | Define a build machine for the supported platform(s). | 
| init.mkinc | Change the ROOTNAME variable to the name of your Option directory. | 
| src/Makefile | Change the ROOTNAME variable to the name of your Option directory. | 
| src/option_info.h | See the section 
    "Step 4: Define the New Option Table". | 
| src/option_routines.c | See the section 
    "Step 3: Develop the Option Code". | 
| src/option_rs6000.imp | Add (or delete) the IMPORTed PV‑WAVE routines used in your Option (AIX only). | 
| bin/Makefile | Change the ROOTNAME variable to the name of your Option directory. | 
| lib/Makefile | Change the ROOTNAME variable to the name of your Option directory. | 
| Files | Modification | 
| makefile.nt | Change the ROOTNAME variable to the name of your Option directory. | 
| src\makefile.nt | Change the ROOTNAME variable to the name of your Option directory. | 
| src\option_info.h | See the section 
    "Step 4: Define the New Option Table". | 
| src\option_routines.c | See the section 
    "Step 3: Develop the Option Code". | 
| src\option_routines.def | Define the EXPORTed Option routines, and the IMPORTed PV‑WAVE routines used in your Option. | 
| note | Windows platforms require the LibMain function to be defined in one of the files containing the Option routine code.  AIX/RS6000 platforms require a list of the Option procedures and/or functions to be defined in the set_sys_table function defined in the option_routines.c file (for details, refer directly to the file src/option_routines.c).  | 
/* Option Feature Identifier: Place the string between the double
quotes. Leave this string blank for unlicensed options. */
static char feature[] = ””;
/* Option Version Identifier: Replace the 0.0 with the
   option's version */static double version = 0.0;
/* Option Functions: Enter the number of option functions and
the option function names below. Enter one name per string
in the ”function_names” array. Function names must be in
upper case and listed in alphabetical order. */
static int nm_functions = 0;
static char * function_names[] = {};
/* Option Procedures: Enter the number of option procedures
and the option procedure names below. Enter one name per
string in the ”procedure_names” array. Procedure names
must be in upper case and listed in alphabetical order. */
static int nm_procedures = 0;
static char * procedure_names[] = {};
% cd $RW_DIR/<Option_Dir_Name>% gmake all TARGARCH = '<platform name>'
| note | The UNIX Makefiles are written for gmake, the FSF GNU version of make. | 
Z:\VNI> cd <Option_Dir_Name>$ nmake all -f makefile.nt
| note | The environment variables/logicals RW_DIR and WAVE_DIR must be set before building the Option. Refer to the PV‑WAVE User’s Guide if you any questions about these variables. |