Select Standard Make or Managed Make

Next, decide whether you want to use standard make or managed make to build your application.

Standard Make

In the standard make project wizards, Developer Suite provides a generic set of makefiles that you can modify and tailor for your specific application build. The standard make makefiles are user-defined and user-controlled. You have to manually update when you make changes to your project (adding files, removing files, changing the output, etc.). Developer Suite essentially invokes make to build the standard make projects.

You also have the option of not using the Developer Suite supplied makefiles, but the you must modify your makefiles to meet certain Developer Suite requirements. Developer Suite requires that the following variables (site) be defined in the makefile:

ARTIFACT_NAME
Represents the root name of the target of the build, without any extensions. For example, if you are building the application sample.prc, then ARTIFACT_NAME must have a value sample.
DEBUG_OR_RELEASE
The valid values for this variable are Debug or Release.
This variable indicates whether the current build is a debug build or a release build.
TARGET_PLATFORM
The valid values for this variable are Device or Simulator.
Standard make projects build applications, shared libraries, and static libraries for two targets: device and simulator. To select the target for your project build, edit the make file provided with the project and change the TARGET_PLATFORM variable to either Device (actual hardware device or emulator), or Simulator (Palm OS Garnet or Cobalt Simulator).
Device builds and Simulator builds produce output in different files and in different formats; Developer Suite must be able to differentiate the two.
DEBUG_DEVICE_OUTPUT_DIR
Indicates the directory relative to the project's directory that contains the final output for a debug build targeting a device platform.
RELEASE_DEVICE_OUTPUT_DIR
Indicates the directory relative to the project's directory that contains the final output for a release build targeting a device platform.
DEBUG_SIMULATOR_OUTPUT_DIR
Indicates the directory relative to the project's directory that contains the final output for a debug build targeting a simulator platform.
RELEASE_SIMULATOR_OUTPUT_DIR
Indicates the directory relative to the project's directory that contains the final output for a release build targeting a simulator platform.
SDK_LOCATION
Specifies the location of the Palm OS SDK used for this project.
TOOLS_DIR
Specifies the location of the Palm OS tools used for this project.
Whenever you build a project, the Palm OS C/C++ Development perspective dynamically determines the location of the Palm OS SDKs and tools used for the project build. These locations are included in the generated file called auto-generated.mk, which is placed in the project's root directory. This auto-generated.mk file is used by the default makefiles generated with Palm OS projects. You may include this file in your own make files if you want to determine the values of SDK_LOCATION and TOOLS_DIR at compile time.

The variables in makefiles must be direct assignments of values with no variable substitution. For example,

ARTIFACT_NAME = a
ARTIFACT_NAME := b

are valid in a Developer Suite makefile, but

ARTIFACT_NAME = $(SOME_OTHER_VARIABLE)

is not valid.

You can review the sample code produced by Developer Suite's wizards for more examples of these variables in makefiles.

Managed Make

Managed Make dynamically generates your makefile based on the contents of your project folders. Managed make "watches" your project and automatically updates the makefile when you add files or remove files in your project. To make additional project updates, you use the provided preference panels.

To select build targets (Device or Simulator targets) for managed make projects, select a project and select Project > Properties. In the Properties dialog box, select the C/C++ Build settings group, and change the Active configuration setting appropriately.