PBMake includes an option to override the default compiler, the
source extension and the object extension, if the defaults are not
correct for the compiler you need a make engine for.

If you do not use these three added directives, they default to:

COMPILER=CLIPPER
SRCEXT=.PRG
OBJEXT=.OBJ

You may also override the COMPILER=, SRCEXT=, OBJEXT=, OBJDIR= and
SRCDIR= which are active across all sections with individual
directives for each section.

So, you can do this:

FLAG= /N /M /A /V /W /ES2
INCLUDE= MASTER.CH COMM.CH
SRCEXT=.PRG (this is a default, anyway)
OBJEXT=.OBJ (this one too)

PROG1= HELP MAIN MENU

FLAG2= /M
PROG2= OLDSTUFF

FLAG4=
COMPILER4=MASM
SRCEXT4=.ASM

INCLUDE5= myheader.h
FLAG5=
COMPILER5=CL /c /AL /Zl /W2 /FPa /Gs
SRCEXT5=.C

FLAG6= -E -= -MC -^2
COMPILER6=FOOBAR
SRCEXT6=.FOO
OBJEXT6=.BAR
OBJDIR6= OUTPUT%\DATA\FOO\BAR

Note: When you specify an OBJDIR, and the compiler is not
CLIPPER for that area, the output directory will not be verified.
This is done so that you may use whatever compiler directive that
is necessary to cause the output to be placed in some other
directory, without regard for making the OBJDIR??= directive look
like a findable directory to DOS.

For example, in the example above, there is no way to validate
OUTPUT%\DATA\FOO\BAR with a DOS path validation.