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.