rem  System abbreviations used here are five characters 'smpth' where
rem  's' is the system
rem	a Autocad ADS
rem	d DOS
rem	o OS/2
rem	l Netware NLM
rem	n Windows NT
rem     q QNX
rem	w Windows 3.x
rem	p Pharlap DOS extender
rem  'm' modifies the system specified in 's'
rem	ad AutoCad device interface
rem	ae AutoCad executable
rem	af AutoCad floating-point device interface
rem	dc DOS .com file
rem	df Flashtek, register based calling conventions
rem	ds Flashtek, stack based calling conventions
rem	dp Pharlap
rem	dr Rational DOS 4G
rem	dt Pharlap tnt
rem	nc Windows NT character mode executable
rem	nm Windows NT MFC 2.1
rem	nw Windows NT windowed executable
rem	nv Windows NT Visual Prgrammer executable
rem     oc OS/2 PM Compatible
rem	od OS/2 Physical device
rem	op OS/2 PM
rem	of OS/2 Full screen
rem	ov OS/2 Virtual device
rem	wv Windows 3.x Visual Programmer executable
rem	ws Windows 3.x application (not Visual Programmer)
rem	wm Windows 3.x MFC 2.5 application (not Visual Programmer)
rem  'p' is the processor
rem	6 for 16 bit
rem	2 for 32 bit
rem  't' is the type of target
rem	e executable
rem	d dll
rem	s library
rem     h help file
rem  'h' is the host system
rem	o OS/2 PM
rem	n Windows NT
rem	w Windows 3.x

Version 2

Tool WMAKE "Make Utility"
  Family Make
    CSwitch 0, ?????, "", "wmake -f $(%_makefile)", ON
    CSwitch 0, ?????, "Make all targets", -a, OFF
    CSwitch 0, ?????, "Don't print header", -h, ON
    CSwitch 0, ?????, "Erase bad targets", -e, ON
    CSwitch 0, ?????, "Ignore bad targets", -i, OFF
    CSwitch 0, ?????, "Don't check for files made", -c, OFF
    CSwitch 0, ?????, "Don't use MAKEINIT file", -m, OFF
    CSwitch 0, ?????, "Use circular path", -o, OFF
    CSwitch 0, ?????, "Print info", -p, OFF
    CSwitch 0, ?????, "Ignore built-in defns", -r, OFF
    CSwitch 0, ?????, "Only touch files", -t, OFF
    CSwitch 0, ?????, "Do not erase files", -z, OFF
    CSwitch 1, ?????, "Echo progress of work", -d, OFF
    CSwitch 1, ?????, "Continue after an error", -k, OFF
    CSwitch 1, ?????, "Print without executing", -n, OFF
    CSwitch 1, ?????, "Query mode", -q, OFF
    CSwitch 1, ?????, "Silent mode", -s, OFF
    VSwitch 1, ?????, "Append output to log:", -l, =, ONE, OFF, "$*.lst"
    VSwitch 1, ?????, "Other options:",,, ONE, REQ, ""

Tool RUN "User Application"
  Family Application
    CSwitch 0, dr2e?, "", $(%watcom)\bin\dos4gw, ON
rem Pharlap run386 must be in your path
    CSwitch 0, dp2e?, "", run386, ON
rem Pharlap TNT run386 must be in your path
    CSwitch 0, dt2e?, "", run386, ON
    CSwitch 0, w?2eo, "", "!Fullscreen", ON
    CSwitch 0, ?????, "", $@, ON
    VSwitch 0, ?????, "Application parameters:",,, ONE, REQ, ""

Tool WDEBUG "Debugger"
  Family "Debugger (a)"
    CSwitch 0, w???n, "", "!Error Cannot debug a Windows 3.x program in Windows NT$", ON
    CSwitch 0, w?2?o, "", "!Error Cannot debug a 32bit Windows 3.x program in OS/2$", ON
    CSwitch 0, dt2e?, "", "!Error Cannot debug a TNT executable$", ON
    CSwitch 0, df2e?, "", "!Error Cannot debug a FlashTek executable$", ON
    CSwitch 0, ds2e?, "", "!Error Cannot debug a FlashTek executable$", ON
    CSwitch 0, dr2eo, "", "$(%watcom)\\bin\\vdmserv /once /tr=rsi $&\n", ON
    CSwitch 0, dp2eo, "", "$(%watcom)\\bin\\vdmserv /once /tr=pls $&\n", ON
    CSwitch 0, d?6eo, "", "$(%watcom)\\bin\\vdmserv /once $&\n", ON
    
    RGroup "Debugger session"
	RSwitch 0, w???o, "Windowed", "!Fullscreen $(%watcom)\\binw\\wdw", ON
	RSwitch 0, w????, "Windowed", $(%watcom)\binw\wdw, ON
	RSwitch 0, w????, "Character mode", "!Fullscreen $(%watcom)\\binw\\wd.exe", OFF
	RSwitch 0, n????, "Windowed", $(%watcom)\binnt\wdw, ON
	RSwitch 0, n????, "Character mode", $(%watcom)\binnt\wd, OFF
	RSwitch 0, o????, "PM", $(%watcom)\binp\wdw, ON
	RSwitch 0, o????, "Character mode", "!Fullscreen $(%watcom)\\binp\\wd", OFF
	
    CSwitch 0, dr2ew, " Run", "$(%watcom)\\binw\\wd.pif", ON
    CSwitch 0, dp2ew, " Run", "$(%watcom)\\binw\\wd.pif", ON
    CSwitch 0, dt2ew, " Run", "$(%watcom)\\binw\\wd.pif", ON
    CSwitch 0, d???o, " Run", $(%watcom)\binp\wdw, ON
    CSwitch 0, d????, " Run", $(%watcom)\bin\wd, ON
    CSwitch 0, l????, " Run", wdw, ON
    CSwitch 0, a????, " Run", wdw, ON
    VSwitch 0, ?????, "Configuration file:", /i, =, ONE, REQ, ""
    CSwitch 0, ?????, "Don't invoke configuration", /noi, OFF
    CSwitch 0, ?????, "Don't process symbolic info", /noi, OFF
    CSwitch 0, ?????, "Ignore any attached mouse", /nom, OFF
    VSwitch 0, ?????, "Dip files:", /di, =, MULTI, REQ, ""
    VSwitch 0, ?????, "Dynamic memory:", /dy, =, ONE, REQ, ""
    VSwitch 0, dr2ew, "Trap file:", /tr, =, ONE, REQ, "win"
    VSwitch 0, dp2ew, "Trap file:", /tr, =, ONE, REQ, "win"
    VSwitch 0, dt2ew, "Trap file:", /tr, =, ONE, REQ, "win"
    VSwitch 0, d???o, "Trap file:", /tr, =, ONE, REQ, "vdm;$&"
    VSwitch 0, dr2e?, "Trap file:", /tr, =, ONE, REQ, "rsi"
    VSwitch 0, dp2e?, "Trap file:", /tr, =, ONE, REQ, "pls"
    VSwitch 0, l?2e?, "Trap file:", /tr, =, ONE, REQ, "nov;$&"
    VSwitch 0, a?2e?, "Trap file:", /tr, =, ONE, REQ, "ads"
    VSwitch 0, ?????, "Trap file:", /tr, =, ONE, REQ, ""
    CSwitch 0, ?????, "Allow remote files", /rem, OFF
    CSwitch 0, ?????, "Ignore any floatingpoint hdwr", /nof, OFF
    VSwitch 0, ?????, "Lines of debugger screen:", /li, =, ONE, REQ, ""
    VSwitch 0, ?????, "Columns of debugger screen:", /co, =, ONE, REQ, ""
    CSwitch 0, ?????, "Use symbol file", :$*.sym, ON
  Family "Debugger (b)"
    RGroup "Debugger Screen"
	RSwitch 0, d????, "Default Adapter", , ON
	RSwitch 0, d????, "Monochrome Adapter", /m, OFF
	RSwitch 0, d????, "Color Adapter", /c, OFF
	RSwitch 0, d????, "43 line EGA Adapter", /e, OFF
	RSwitch 0, d????, "50 line VGA Adapter", /v, OFF
    RGroup "Screen Protocol"
	RSwitch 0, d????, "Default protocol", , ON
	RSwitch 0, d????, "Overwrite protocol", /o, OFF
	RSwitch 0, d????, "Page protocol", /p, OFF
	RSwitch 0, d????, "Swap protocol", /s, OFF
	RSwitch 0, d????, "Two protocol", /t, OFF
    VSwitch 0, d????, "Free guarantee:", /ch, =, ONE, REQ, ""
    CSwitch 0, d????, "Don't do char remapping", /noch, OFF
    CSwitch 0, d????, "Don't use graphical mouse", /nog, OFF
    RGroup "Debugger Screen"
	RSwitch 0, w????, "Default Adapter", , ON
	RSwitch 0, w????, "Monochrome Adapter", /m, OFF
	RSwitch 0, w????, "Color Adapter", /c, OFF
	RSwitch 0, w????, "43 line EGA Adapter", /e, OFF
	RSwitch 0, w????, "50 line VGA Adapter", /v, OFF
    RGroup "Screen Protocol"
	RSwitch 0, w????, "Default Adapter", , ON
	RSwitch 0, w????, "Overwrite protocol", /o, OFF
	RSwitch 0, w????, "Page protocol", /p, OFF
	RSwitch 0, w????, "Swap protocol", /s, OFF
	RSwitch 0, w????, "Fast-swap protocol", /f, OFF
	RSwitch 0, w????, "Two protocol", /t, OFF
rem For remote debugging, don't put a full path name
    CSwitch 0, l????, "", $., ON
    CSwitch 0, a????, "", $., ON
    CSwitch 0, ?????, "", $@, ON
    VSwitch 0, ?????, "Application parameters:",,, ONE, REQ, ""
    CSwitch 0, dr2ew, "", "\n$(%watcom)\\binw\\wsrv.pif /tr=rsi /once\n", ON
    CSwitch 0, dp2ew, "", "\n$(%watcom)\\binw\\wsrv.pif /tr=pls /once\n", ON
    CSwitch 0, dt2ew, "", "\n$(%watcom)\\binw\\wsrv.pif /tr=pls /once\n", ON

Tool WSAMPLE "Sampler"
  Family Sampler
    CSwitch 0, ????s, "", "!Error Sampler cannot run under Win/OS2$", ON
    CSwitch 0, w???o, "", "!Error Windows executable cannot be sampled under OS/2$", ON
    CSwitch 0, w????, "", "!Fullscreen wsamplew", ON
    CSwitch 0, d?6??, "", $(%watcom)\bin\wsample, ON
    CSwitch 0, dr2e?, "", wsamprsi, ON
    CSwitch 0, dp2e?, "", run386, ON
    CSwitch 0, dp2e?, "", wsamppls, ON
    CSwitch 0, n????, "", wsample, ON
    CSwitch 0, o????, "", wsmpos22, ON
    CSwitch 0, q????, "", wsample, ON
    VSwitch 0, ?????, "Sample buffer size(1-63):", -b, =, ONE, REQ, ""
    VSwitch 0, ?????, "Sample file name:", -f, =, ONE, REQ, "$*.smp"
    VSwitch 0, ?????, "Sample rate:", -r, =, ONE, REQ, ""
    VSwitch 0, ?????, "Sampler interrupt number(20x-FFx):", -i, =, ONE, REQ, ""
    CSwitch 0, ?????, "disable DOS interrupts", -d, OFF
    CSwitch 0, ?????, "", $@, ON
    VSwitch 0, ?????, "Application parameters:",,, ONE, REQ, ""

Tool WPROFILE "Profiler"
  Family Profiler
    CSwitch 0, w????, "", wprofw, ON
    CSwitch 0, w????, "", wprof, OFF
    CSwitch 0, ?????, "", wprof, ON
    CSwitch 0, ?????, "", $*.smp, ON

Tool WDISASM "Disassembler"
  Family Disassembler
    CSwitch 0, ?????, "", "wdisasm $@", ON
    VSwitch 0, ?????, "Generate listing file:", -l, =, ONE, ON, "$*.lst"
    VSwitch 0, ?????, "Include source lines:", -s, =, ONE, ON, ""
    VSwitch 0, ?????, "Additional code segment:", -c, =, MULTI, REQ, ""
    VSwitch 0, ?????, "Initial character of internal labels:", -i, =, ONE, REQ, ""
    RGroup ".ASM format"
	RSwitch 0, ?????, "Default", , ON
	RSwitch 0, ?????, "Intel", -a, OFF
	RSwitch 0, ?????, "Unix", -au, OFF
    CSwitch 0, ?????, "Alternate form of based modes", -b, OFF
    CSwitch 0, ?????, "Generate list of externs", -e, OFF
    CSwitch 0, ?????, "Generate list of publics", -p, OFF
    CSwitch 0, ?????, "Registers in upper case", -r, OFF
    CSwitch 0, ?????, "Instructions in upper case", -u, OFF
    CSwitch 0, ?????, "Leave C++ names mangled", -m, OFF
  
Tool WCG "Code Generator"
  Family Optimization
    RGroup "Style of optimization"
	RSwitch 0, ?????, "No optimizations", -od, OFF
	RSwitch 0, ?????, "Average space and time", , OFF
	RSwitch 0, ?????, "Space optimizations", -os, OFF
	RSwitch 0, ?????, "Time optimizations", -ot, OFF
	RSwitch 0, ?????, "Fastest possible code", -otexan, ON
    RGroup "Stack Frames"
	RSwitch 0, ?????, "Do not generate stack frames", , ON
	RSwitch 0, ?????, "Generate as needed", -of, OFF
	RSwitch 0, ?????, "Always generate", -of+, OFF
    CSwitch 1, ?????, "Loop optimizations", -ol, OFF
    CSwitch 1, ?????, "Loop unrolling", -ol+, OFF
    CSwitch 1, ?????, "Math optimizations", -om, OFF
    CSwitch 1, ?????, "Call/return optimizations", -oc, OFF
    CSwitch 1, ?????, "In-line intrinsic functions", -oi, OFF
    CSwitch 1, ?????, "Relax alias checking", -oa, OFF
    CSwitch 1, ?????, "Instruction scheduling", -or, OFF
    VSwitch 1, ?????, "Expand function in-line:", -oe,, ONE, OFF, "20"
  Family Debugging
    RGroup "Debugging style"
	RSwitch 0, ?????, "No debugging information", , OFF
	RSwitch 0, ?????, "Line number information", -d1, ON, OFF
	RSwitch 0, ?????, "Line# and auto symbol info", -d1+, OFF
	RSwitch 0, ?????, "Full debugging info", -d2, OFF, ON
	RSwitch 0, ?????, "Full info plus unused types", -d3, OFF
    RGroup "Debugging format"
	RSwitch 0, ?????, "Compiler default", , ON
	RSwitch 0, ?????, "WATCOM debugging format", -hw, OFF
	RSwitch 0, ?????, "Dwarf debugging format", -hd, OFF
	RSwitch 0, ?????, "CodeView debugging format", -hc, OFF
    CSwitch 0, ?????, "Emit Browser information", -db, OFF
    CSwitch 0, ?????, "Emit routine names in code", -en, OFF
    VSwitch 0, ?????, "Call prolog routine:", -ep,, ONE, OFF, ""
    CSwitch 0, ?????, "Call epilog hook routine", -ee, OFF
  Family "CodeGen Strategy"
    CSwitch 0, n?2d?, "", -bd, ON
    CSwitch 0, o?2d?, "", -bd, ON
    CSwitch 0, wm6d?, "", -bd, ON
    CSwitch 0, o????, "Multithreaded application", -bm, OFF
    CSwitch 0, n????, "Multithreaded application", -bm, OFF
    CSwitch 0, o????, "Default-window application", -bw, OFF
    CSwitch 0, n????, "Default-window application", -bw, OFF
    CSwitch 0, w????, "Default-window application", -bw, OFF
    RGroup "Floating-point Level"
	RSwitch 0, ?????, "Compiler default", , ON
	RSwitch 0, ?????, "In-line 80287 instructions", -fp2, OFF
	RSwitch 0, ?????, "In-line 80387 instructions", -fp3, OFF
	RSwitch 0, ?????, "In-line Pentium instructions", -fp5, OFF
    RGroup "Floating-point Model"
	RSwitch 0, a????, "Compiler default", , OFF
	RSwitch 0, ?????, "Compiler default", , ON
	RSwitch 0, ?????, "In-line with emulator", -fpi, OFF
	RSwitch 0, a????, "In-line with coprocessor", -fpi87, ON
	RSwitch 0, ?????, "In-line with coprocessor", -fpi87, OFF
	RSwitch 0, ?????, "Floating-point calls", -fpc, OFF
    CSwitch 0, a????, "Compability with V9.0", -fpr, ON
    CSwitch 0, ?????, "Compability with V9.0", -fpr, OFF
    RGroup "DS Register"
	RSwitch 1, ?????, "Compiler default", , ON
	RSwitch 1, ?????, "DS pegged to DGROUP", -zdp, OFF
	RSwitch 1, ?????, "DS can float", -zdf, OFF
    RGroup "FS Register"
	RSwitch 1, ?????, "Compiler default", , ON
	RSwitch 1, ?????, "FS cannot be used", -zfp, OFF
	RSwitch 1, ?????, "FS can be used", -zff, OFF
    RGroup "GS Register"
	RSwitch 1, ?????, "Compiler default", , ON
	RSwitch 1, ?????, "GS cannot be used", -zgp, OFF
	RSwitch 1, ?????, "GS can be used", -zgf, OFF
  Family "CodeGen Option"
    VSwitch 0, ?????, "Name Code Class:", -nc,, ONE, REQ, ""
    VSwitch 0, ?????, "Name Code Group:", -g,, ONE, REQ, ""
    VSwitch 0, ?????, "Name Data Segment:", -nd,, ONE, REQ, ""
    VSwitch 0, ?????, "Name Text Segment:", -nt,, ONE, REQ, ""
    VSwitch 0, ?????, "Name of Module:", -nm,, ONE, REQ, ""
    CSwitch 0, ?????, "Don't gen default library info", -zl, OFF
    CSwitch 1, ?????, "No file dependency information", -zld, OFF
    CSwitch 1, ?????, "Generate Easy OMF object files", -ez, OFF
    CSwitch 1, ?????, "Save/Restore segment registers", -r, OFF
    CSwitch 1, ??6d?, "", -zu, ON
    CSwitch 1, ???e?, "SS not assumed equal to DS", -zu, OFF
    CSwitch 1, ???s?, "SS not assumed equal to DS", -zu, OFF
    CSwitch 1, ?????, "Put functions in separate segs", -zm, OFF
    CSwitch 1, ?????, "Constants in code segment", -zc, OFF
    CSwitch 1, ?????, "Load DS from DGROUP", -zdl, OFF
  Family "Memory Model and Processor"
    RGroup "Memory Model"
	RSwitch 0, ?????, "Compiler default", , OFF
	RSwitch 0, dc6e?, "Small model", -ms, ON
	RSwitch 0, ??6??, "Small model", -ms, OFF
	RSwitch 0, ??6??, "Medium model", -mm, OFF
	RSwitch 0, ??6??, "Compact model", -mc, OFF
	RSwitch 0, dc6e?, "Large model", -ml, OFF
	RSwitch 0, ??6??, "Large model", -ml, ON
	RSwitch 0, ??6??, "Huge model", -mh, OFF
	RSwitch 0, ??2??, "32bit Flat model", -mf, ON
	RSwitch 0, ??2??, "32bit Small model", -ms, OFF
	RSwitch 0, ??2??, "32bit Medium model", -mm, OFF
	RSwitch 0, ??2??, "32bit Compact model", -mc, OFF
	RSwitch 0, ??2??, "32bit Large model", -ml, OFF
    RGroup "Target Processor"
	RSwitch 1, ??6??, "8086", ,  ON
	RSwitch 1, ??6??, "80186", -1, OFF
	RSwitch 1, ??6??, "80286", -2, OFF
	RSwitch 1, ??6??, "80386", -3, OFF
	RSwitch 1, ??6??, "80486", -4, OFF
	RSwitch 1, ??6??, "Pentium", -5, OFF
	RSwitch 1, ??2??, "80386 Register based calling", -3r, OFF
	RSwitch 1, a?2??, "80386 Stack based calling", -3s, ON
	RSwitch 1, ??2??, "80386 Stack based calling", -3s, OFF
	RSwitch 1, ??2??, "80486 Register based calling", -4r, OFF
	RSwitch 1, ??2??, "80486 Stack based calling", -4s, OFF
	RSwitch 1, a?2??, "Pentium Register based calling", -5r, OFF
	RSwitch 1, ??2??, "Pentium Register based calling", -5r, ON
	RSwitch 1, ??2??, "Pentium Stack based calling", -5s, OFF
    CSwitch 0, w????, "", -bt=windows, ON
    CSwitch 0, d????, "", -bt=dos, ON
    CSwitch 0, o????, "", -bt=os2, ON
    CSwitch 0, q????, "", -bt=qnx, ON
    CSwitch 0, n????, "", -bt=nt, ON
    CSwitch 0, l????, "", -bt=netware, ON
    CSwitch 0, a????, "", -bt=ads, ON

Tool WLANG "Languages"
  IncludeTool WCG
  Family "File Option"
    VSwitch 0, w????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h;$(%watcom)\h\win
    VSwitch 0, d????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h
    VSwitch 0, o?6??, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h
    VSwitch 0, q????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\qnxh
    VSwitch 0, o?2??, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h;$(%watcom)\h\os2
    VSwitch 0, n????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h;$(%watcom)\h\nt
    VSwitch 0, a????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h
    VSwitch 0, l????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\novh
    VSwitch 0, ?????, "Include files:", -fi, =, MULTI, REQ, ""
    VSwitch 0, ?????, "Name object file:", -fo, =, ONE, REQ, ""
    CSwitch 0, nv???, "Use precompiled headers", -fh, ON
    CSwitch 0, wv???, "Use precompiled headers", -fh, ON
    CSwitch 0, nm???, "Use precompiled headers", -fh, ON
    CSwitch 0, wm???, "Use precompiled headers", -fh, ON
    CSwitch 0, ?????, "Use precompiled headers", -fh, OFF
  Family Diagnostics
    RGroup "Warning level"
	RSwitch 0, nv???, "Warning level 0", -w0, ON
	RSwitch 0, wv???, "Warning level 0", -w0, ON
	RSwitch 0, ?????, "Warning level 0", -w0, OFF
	RSwitch 0, ?????, "Warning level 1", -w1, OFF
	RSwitch 0, ?????, "Warning level 2", -w2, OFF
	RSwitch 0, ?????, "Warning level 3", -w3, OFF
	RSwitch 0, wm???, "Warning level 3", -w3, ON
	RSwitch 0, nm???, "Warning level 3", -w3, ON
	RSwitch 0, nv???, "Warning level 4", -w4, OFF
	RSwitch 0, wv???, "Warning level 4", -w4, OFF
	RSwitch 0, wm???, "Warning level 4", -w4, OFF
	RSwitch 0, nm???, "Warning level 4", -w4, OFF
	RSwitch 0, ?????, "Warning level 4", -w4, ON
    CSwitch 0, ?????, "Treat warnings as errors", -we, OFF
    VSwitch 0, ?????, "Error count:", -e,, ONE, REQ, "25"
    CSwitch 0, ?????, "Force ANSI compliance", -za, OFF
    CSwitch 1, ?????, "Disable stack depth checking", -s, OFF
    CSwitch 1, o?2??, "Automatic stack growing", -sg, OFF
    CSwitch 1, o?2??, "Touch stack through SS first", -st, OFF
  Family Source
    CSwitch 0, ?????, "Extended macro definitions", -d+, OFF
    VSwitch 0, ?????, "Undefine macros:", -u,, MULTI, REQ, ""
    VSwitch 0, nv???, "Macro definitions:", -d,, MULTI, REQ, "WIN32"
    VSwitch 0, nm2e?, "Macro definitions:", -d,, MULTI, REQ, "_WINDOWS", "_WINDOWS _DEBUG"
    VSwitch 0, nm2d?, "Macro definitions:", -d,, MULTI, REQ, "_WINDOWS _USRDLL _WINDLL", "_WINDOWS _USRDLL _WINDLL _DEBUG"
    VSwitch 0, wm6e?, "Macro definitions:", -d,, MULTI, REQ, "", "_DEBUG"
    VSwitch 0, wm6d?, "Macro definitions:", -d,, MULTI, REQ, "_USRDLL _WINDLL", "_WINDLL _USRDLL _DEBUG"
    VSwitch 0, ?????, "Macro definitions:", -d,, MULTI, REQ, ""
    CSwitch 0, ?????, "Change char default to signed", -j, OFF
    RGroup "Structure alignment"
	RSwitch 0, ?????, "Pack structures", , ON
	RSwitch 0, ?????, "1 byte alignment", -zp1, OFF
	RSwitch 0, ?????, "2 byte alignment", -zp2, OFF
	RSwitch 0, ?????, "4 byte alignment", -zp4, OFF
	RSwitch 0, ?????, "8 byte alignment", -zp8, OFF
  Family Miscellaneous
rem CSwitch 0, ?????, "Ignore WCL386 environment variable", -y, OFF
    VSwitch 0, ?????, "Data Threshold:", -zt,, ONE, REQ, ""
    RGroup "Double byte characters"
	RSwitch 0, ?????, "No double-byte character support", , ON
	RSwitch 0, ?????, "Kanji", -zk0, OFF
	RSwitch 0, ?????, "Kanji (Unicode)", -zk0u, OFF
	RSwitch 0, ?????, "Chinese/Taiwanese", -zk1, OFF
	RSwitch 0, ?????, "Korean", -zk2, OFF
    VSwitch 0, ?????, "Unicode translate table:", -zku, =, ONE, REQ, ""
    CSwitch 0, ?????, "Quiet operation", -zq, ON
    VSwitch 0, ?????, "Other options:",,, MULTI, REQ, ""

Tool CCOMP "C Compiler"
  Family "C Compiler"
    CSwitch 0, ?????, "Return char and short as int", -ri, OFF
    CSwitch 0, ?????, "Force enums to be type int", -ei, OFF
    RGroup "Create definition file (.def)"
	RSwitch 0, ?????, "No definition file",  , ON
	RSwitch 0, ?????, "With typedef names", -v, OFF
	RSwitch 0, ?????, "With base type names", -zg, OFF

Tool CPPCOMP "C++ Compiler"
  Family "C++ Compiler"
    CSwitch 0, ?????, "Enable exceptions", -xs, OFF
    CSwitch 0, ?????, "Shorter error messages", -ew, OFF
    CSwitch 0, ?????, "Full warnings", -wx, OFF
    CSwitch 0, wm6e?, "Smart Windows Callbacks", -zws, ON
    CSwitch 0, ?????, "Smart Windows Callbacks", -zws, OFF
    RGroup "Exception handling"
	RSwitch 0, ?????, "Compiler default",  , ON
	RSwitch 0, ?????, "Normal exception handling", -xs, OFF
	RSwitch 0, ?????, "Direct calls for destruction", -xst, OFF
	RSwitch 0, ?????, "Table driven destructors", -xss, OFF

Tool WCC "C Compiler"
  IncludeTool WLANG
  IncludeTool CCOMP
  Family Compiler
    CSwitch 0, ??6??, "", "wcc $@", ON
    CSwitch 0, ??2??, "", "wcc386 $@", ON

Tool WPP "C++ Compiler"
  IncludeTool WLANG
  IncludeTool CPPCOMP
  Family Compiler
    CSwitch 0, ??6??, "", "wpp $@", ON
    CSwitch 0, ??2??, "", "wpp386 $@", ON

Tool WASM "Assembler"
  Family "File Option"
    CSwitch 0, ?????, "", "wasm $@", ON
    VSwitch 0, ?????, "Include file:", -fi, =, MULTI, REQ, ""
    VSwitch 0, w????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h;$(%watcom)\h\win
    VSwitch 0, d????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h
    VSwitch 0, o?6??, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h
    VSwitch 0, o?2??, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h;$(%toolkit)\c\os2h
    VSwitch 0, q????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h
    VSwitch 0, n????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h;$(%watcom)\h\nt
    VSwitch 0, l????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h
    VSwitch 0, a????, "Include directories:", -i, =, MULTI, REQ, $(%watcom)\h
    VSwitch 0, ?????, "Name object file:", -fo, =, ONE, REQ, ""
    VSwitch 0, ?????, "Name error file:", -fe, =, ONE, REQ, ""
  Family "Memory Model and Processor"
    RGroup "Memory Model"
	RSwitch 0, ??6??, "Tiny model", -mt, OFF
	RSwitch 0, ??6??, "Small model", -ms, OFF
	RSwitch 0, ??6??, "Medium model", -mm, OFF
	RSwitch 0, ??6??, "Compact model", -mc, OFF
	RSwitch 0, ??6??, "Large model", -ml, ON
	RSwitch 0, ??6??, "Huge model", -mh, OFF
	RSwitch 0, ??2??, "32bit Flat model", -mf, ON
	RSwitch 0, ??2??, "32bit Small model", -ms, OFF
	RSwitch 0, ??2??, "32-bit Medium model", -mm, OFF
	RSwitch 0, ??2??, "32-bit Compact model", -mc, OFF
	RSwitch 0, ??2??, "32-bit Large model", -ml, OFF
    RGroup "Target Processor"
	RSwitch 1, ??6??, "8086", ,  ON
	RSwitch 1, ??6??, "80186", -1, OFF
	RSwitch 1, ??6??, "80286", -2, OFF
	RSwitch 1, ??6??, "80386", -3, OFF
	RSwitch 1, ??6??, "80486", -4, OFF
	RSwitch 1, ??6??, "Pentium", -5, OFF
	RSwitch 1, ??2??, "80386 Register based calling", -3r, OFF
	RSwitch 1, ??2??, "80386 Stack based calling", -3s, OFF
	RSwitch 1, ??2??, "80486 Register based calling", -4r, OFF
	RSwitch 1, ??2??, "80486 Stack based calling", -4s, OFF
	RSwitch 1, ??2??, "Pentium Register based calling", -5r, ON
	RSwitch 1, ??2??, "Pentium Stack based calling", -5s, OFF
  Family "Code Generation Options"
    VSwitch 0, ?????, "Name Data Segment:", -nd,, ONE, REQ, ""
    VSwitch 0, ?????, "Name Text Segment:", -nt,, ONE, REQ, ""
    VSwitch 0, ?????, "Name of Module:", -nm,, ONE, REQ, ""
    RGroup "Floating-point Level"
	RSwitch 0, ?????, "Compiler default", , ON
	RSwitch 0, ?????, "In-line 8087 instructions", -fp0, OFF
	RSwitch 0, ?????, "In-line 80287 instructions", -fp2, OFF
	RSwitch 0, ?????, "In-line 80387 instructions", -fp3, OFF
	RSwitch 0, ?????, "In-line Pentium instructions", -fp5, OFF
    RGroup "Floating-point Model"
	RSwitch 0, ?????, "Compiler default", , ON
	RSwitch 0, ?????, "In-line with emulator", -fpi, OFF
	RSwitch 0, ?????, "In-line with coprocessor", -fpi87, OFF
	RSwitch 0, ?????, "Floating-point calls", -fpc, OFF
  Family Debugging
    RGroup "Debugging Style"
	RSwitch 0, ?????, "No debugging information", , ON
	RSwitch 0, ?????, "Line number information", -d1, OFF
  Family Diagnostics
    RGroup "Warning level"
	RSwitch 0, ?????, "Warning level 0", -w0, OFF
	RSwitch 0, ?????, "Warning level 1", -w1, OFF
	RSwitch 0, ?????, "Warning level 2", -w2, OFF
	RSwitch 0, ?????, "Warning level 3", -w3, OFF
	RSwitch 0, ?????, "Warning level 4", -w4, ON
    CSwitch 0, ?????, "Treat warnings as errors", -we, OFF
    VSwitch 0, ?????, "Error count:", -e,, ONE, REQ, "25"
  Family Miscellaneous
    CSwitch 0, ?????, "Stop reading at END", -e, OFF
    CSwitch 0, ?????, "Signed types for signed values", -j, OFF
    CSwitch 0, ?????, "Quiet operation", -zq, ON
    VSwitch 0, ?????, "Macro definitions:", -d,, MULTI, REQ, ""
    CSwitch 0, ?????, "No data in code records", -c, OFF

Tool WLINK "Linker"
  Family Basic
    CSwitch  0, ?????, "", "wlink", ON
    VSwitch  0, w?6??, "System:", SYS, " ", ONE, REQ, windows
    VSwitch  0, d?6??, "System:", SYS, " ", ONE, REQ, dos
    VSwitch  0, q?6??, "System:", SYS, " ", ONE, REQ, qnx
    VSwitch  0, o?6??, "System:", SYS, " ", ONE, REQ, os2
    VSwitch  0, w?2??, "System:", SYS, " ", ONE, REQ, win386
    VSwitch  0, dr2??, "System:", SYS, " ", ONE, REQ, dos4g
    VSwitch  0, dp2??, "System:", SYS, " ", ONE, REQ, pharlap
    VSwitch  0, dt2??, "System:", SYS, " ", ONE, REQ, tnt
    VSwitch  0, q?2??, "System:", SYS, " ", ONE, REQ, qnx386
    VSwitch  0, o?2??, "System:", SYS, " ", ONE, REQ, os2v2
    CSwitch  0, op2e?, "", pm, ON
    CSwitch  0, of2e?, "", full, ON
    CSwitch  0, od2e?, "", phys, ON
    CSwitch  0, ov2e?, "", virt, ON
    VSwitch  0, nw2??, "System:", SYS, " ", ONE, REQ, nt_win
    VSwitch  0, nm2??, "System:", SYS, " ", ONE, REQ, nt_win
    VSwitch  0, n_2d?, "System:", SYS, " ", ONE, REQ, nt_dll
    VSwitch  0, nc2??, "System:", SYS, " ", ONE, REQ, nt
    VSwitch  0, nv???, "System:", SYS, " ", ONE, REQ, nt_win
    VSwitch  0, l?2??, "System:", SYS, " ", ONE, REQ, netware
    VSwitch  0, ae2e?, "System:", SYS, " ", ONE, REQ, ads
    VSwitch  0, ad2e?, "System:", SYS, " ", ONE, REQ, eadi
    VSwitch  0, af2e?, "System:", SYS, " ", ONE, REQ, fadi
    VSwitch  0, df2??, "System:", SYS, " ", ONE, REQ, x32rv
    VSwitch  0, df2??, "System:", SYS, " ", ONE, REQ, x32r
    VSwitch  0, ds2??, "System:", SYS, " ", ONE, REQ, x32sv
    VSwitch  0, ds2??, "System:", SYS, " ", ONE, REQ, x32s
    CSwitch  0, dc6e?, "", com, ON
    CSwitch  0, w?2d?, " Link DLL", , ON
    CSwitch  0, n?2d?, " Link DLL", , ON
    CSwitch  0, ???d?, " Link DLL", dll, ON
    VSwitch  0, l?2e?, "Output screen", "op scr", " '%s'", ONE, REQ, "System Console"
    RGroup "Runtime environment"
	RSwitch  0, nv???, "Native NT", "", ON
	RSwitch  0, nw???, "Native NT", "", ON
	RSwitch  0, nw???, "Windows 3.x", "r win", OFF
	RSwitch  0, nc???, "Character mode", "r con", OFF
	RSwitch  0, nc???, "Posix subsystem", "r pos", OFF
	RSwitch  0, nc???, "16Bit OS/2 1.x", "r os2", OFF
    VSwitch  0, ?????, "Other options(,):",,, MULTI, REQ, ""
    CSwitch  0, ?????, "Map file", "op m", ON
    CSwitch  1, l?2e?, "Netware symbols", "d novell", ON
    RGroup "Debugging Information"
	RSwitch  1, ?????, "No debug information", , ON, OFF
	RSwitch  1, ?????, "Debug line numbers", "d lines", OFF
	RSwitch  1, ?????, "Debug types", "d types", OFF
	RSwitch  1, ?????, "Debug locals", "d locals", OFF
	RSwitch  1, ?????, "Debug All", "d all", OFF, ON
    VSwitch  1, ?????, "Stack:", "op st", =, ONE, REQ, 8192
  Family "Import, Export and Library"
    CSwitch  0, ?????, "No default libraries", "op nod", OFF
    VSwitch  0, ?????, "Library directories(;):", libp, " ", MULTI, REQ, ""
    VSwitch  0, nv???, "Libraries(,):",libr, " ", MULTI, REQ, "nafxcw.lib"
    VSwitch  0, a????, "Libraries(,):",libr, " ", MULTI, REQ, "wcads90.lib"
    VSwitch  0, ?????, "Libraries(,):",libr, " ", MULTI, REQ, ""
    VSwitch  0, dc6e?, "Library files(,):", libf, " ", MULTI, REQ, "cstart_t"
    VSwitch  0, ae2e?, "Library files(,):", libf, " ", MULTI, REQ, "adsstart"
    VSwitch  0, ad2e?, "Library files(,):", libf, " ", MULTI, REQ, "adiestrt"
    VSwitch  0, af2e?, "Library files(,):", libf, " ", MULTI, REQ, "adifstrt"
    VSwitch  0, ???e?, "Library files(,):", libf, " ", MULTI, REQ, ""
    VSwitch  0, wv6d?, "Library files(,):", libf, " ", MULTI, REQ, "libentry.obj"
    VSwitch  0, w?6d?, "Library files(,):", libf, " ", MULTI, REQ, "libentry.obj"
    VSwitch  1, w????, "Import files(,):", imp, " ", MULTI, REQ, ""
    VSwitch  1, n????, "Import files(,):", imp, " ", MULTI, REQ, ""
    VSwitch  1, o????, "Import files(,):", imp, " ", MULTI, REQ, ""
    VSwitch  1, l????, "Import files(,):", imp, " ", MULTI, REQ, ""
    VSwitch  1, ?????, "Export names(,):", exp, " ", MULTI, REQ, ""
  Family Advanced
    CSwitch  0, ?????, "Verbose", "op v", OFF
    CSwitch  0, ?????, "Case sensitive link", "op c", OFF
    VSwitch  0, ?????, "Error count:", "op maxe", =, ONE, REQ, 25
    CSwitch  0, w?6??, "Check relocation of RW data", "op rwr", OFF
    CSwitch  0, ?????, "Dosseg", "op d", OFF
    CSwitch  0, ?????, "Undefines ok", "op u", OFF
    VSwitch  0, ?????, "Name length:", "op namel", =, ONE, REQ, ""
    CSwitch  1, ?????, "Quiet", "op q", ON
    CSwitch  1, ?????, "Produce symbol file", "op symf", ON
    VSwitch  1, ?????, "ModTrace names(,):", modt, " ", ONE, REQ, ""
    VSwitch  1, ?????, "SymTrace names(,):", symt, " ", ONE, REQ, ""
    VSwitch  1, ?????, "Reference names(,):", ref, " ", MULTI, REQ, ""
    VSwitch  1, ?????, "Description:", "op de", " '%s'", ONE, REQ, ""
  Family Special
    RGroup "DGROUP Sharing"
	RSwitch  0, w?2d?, "Use linker default", "", ON
	RSwitch  0, n?2d?, "Use linker default", "", ON
	RSwitch  0, ???d?, "Use linker default", "", OFF
	RSwitch  0, ?????, "Use linker default", "", ON
	RSwitch  0, w?2d?, "DGROUP is shared", "op one", OFF
	RSwitch  0, n?2d?, "DGROUP is shared", "op one", OFF
	RSwitch  0, ???d?, "DGROUP is shared", "op one", ON
	RSwitch  0, ?????, "DGROUP is shared", "op one", OFF
	RSwitch  0, ???d?, "DGROUP is not shared", "op many", OFF
	RSwitch  0, ?????, "DGROUP is not shared", "op many", OFF
    VSwitch  0, o????, "Stub executable", stub, =, ONE, REQ, ""

Tool WLIB "Library Manager"
  Family Basic
    CSwitch  0, ?????, "", "wlib", ON
    CSwitch  0, ???s?, "Don't create .bak file", -b, ON
    CSwitch  0, ???s?, "Case sensitive", -c, ON
    CSwitch  0, ???s?, "Display C++ mangled names", -m, OFF
    CSwitch  0, ???s?, "Always create new library", -n, ON
    CSwitch  0, ???s?, "Quiet operation", -q, ON
    CSwitch  0, ???s?, "Strip LINNUM records", -s, OFF
    CSwitch  0, ???s?, "Trim THEADR pathnames", -t, OFF
    CSwitch  0, ???s?, "Explode all objects in library", -x, OFF
    VSwitch  0, ???s?, "Page bound:", -p, =, ONE, REQ, 512
    VSwitch  0, ???s?, "Listing file name:", -l, =, ONE, REQ, ""
    VSwitch  0, ???s?, "Output directory:", -d, =, ONE, REQ, ""
    VSwitch  0, ???s?, "Output library name:", -o, =, ONE, REQ, ""
  Family "Import Library"
    RGroup "Resident Symbols"
	RSwitch  0, ???s?, "Do not import", , ON
	RSwitch  0, ???s?, "Import by Name", -irn, OFF
	RSwitch  0, ???s?, "Import by Ordinal", -iro, OFF
    RGroup "Non-resident Symbols"
	RSwitch  0, ???s?, "Do not import", , ON
	RSwitch  0, ???s?, "Import by Name", -inn, OFF
	RSwitch  0, ???s?, "Import by Ordinal", -ino, OFF

Tool WRC "Resource Compiler"
  Family Resource
    CSwitch 0, ?????, "", "wrc $*.rc", ON
    RGroup "Build Target"
        RSwitch  0, w????, "Windows", -bt=windows, ON
        RSwitch  0, n????, "Windows", -bt=windows, OFF
        RSwitch  0, w????, "Windows NT", -bt=nt, OFF
        RSwitch  0, n????, "Windows NT", -bt=nt, ON
    RGroup "Double Byte Character Support"
	RSwitch  0, ?????, "Single byte characters only", , ON
	RSwitch  0, ?????, "Kanji", -zk0, OFF
	RSwitch  0, w????, "Chineese/Taiwanese", -zk1, OFF
	RSwitch  0, w????, "Korean", -zk2, OFF
    VSwitch 1, ?????, "Macro definitions:", -d, , MULTI, REQ, ""
    VSwitch 1, w????, "Include directories:", -i, =, MULTI, REQ, $[:;$(%watcom)\h;$(%watcom)\h\win
    VSwitch 1, n????, "Include directories:", -i, =, MULTI, REQ, $[:;$(%watcom)\h;$(%watcom)\h\nt
    VSwitch 1, ?????, "Include directories:", -i, =, MULTI, REQ, ""
    CSwitch 1, ?????, "Ignore INCLUDE env variable", -x, OFF
    CSwitch 1, w????, "Microsoft format .RES file", -zm, OFF
    CSwitch 1, ?????, "Do not proprocess the file", -zn, OFF
    CSwitch 1, ?????, "Quiet operation", -q, ON
    CSwitch 1, ?????, "Output autodepend info", -ad, ON

Tool WRC2 "Resource Compiler (pass 2)"
  Family Resource
    CSwitch 0, ?????, "", wrc, ON
    CSwitch 0, ?????, "Quiet operation", -q, ON
    CSwitch 0, ?????, "Output autodepend info", -ad, ON
    CSwitch 0, ?????, "Requires Windows 3.0 or later", -30, OFF
    CSwitch 0, ?????, "Uses global mem above EMS", -e, OFF
    CSwitch 0, ?????, "Uses LIM 3.2 EMS directly", -l, OFF
    CSwitch 0, ?????, "EMS bank for each instance", -m, OFF
    CSwitch 0, ?????, "Private DLL", -p, OFF
    CSwitch 0, ?????, "Protected mode only", -t, OFF
    RGroup "Segements in fastload section"
	RSwitch 0, w????, "No fastload section", -s0, OFF
	RSwitch 0, w????, "Preload only", -s1, OFF
	RSwitch 0, w????, "Preload/Data/Non-discardable", -s2, ON

Tool ORC "OS/2 Resource Compiler"
  Family Resource
    CSwitch 0, ?????, "", rc, ON
    VSwitch 0, ?????, "Include directories:", -i, " ", MULTI, REQ, "$[: $(%watcom)\\h $(%watcom)\\h\\os2"

Tool ORC2 "OS/2 Resource Compiler (pass 2)"
  Family Resource
    CSwitch 0, ?????, "", rc, ON
    VSwitch 0, ?????, "Include directories:", -i, " ", MULTI, REQ, "$[: $(%watcom)\\h $(%watcom)\\h\\os2"

Tool ESQL "Embedded SQL compiler"
  Family Processor
    CSwitch 0, ?????, "", "sqlpp $@ $*.cxx", ON
    CSwitch 0, ?????, "Preprocessor quiet", -q, ON
    RGroup Optimizations
	RSwitch 0, ?????, "No optimizations", , ON
	RSwitch 0, ?????, "Favour code size", -c, OFF
	RSwitch 0, ?????, "Favour data size", -d, OFF
    CSwitch 0, ?????, "Generated static data is FAR", -f, OFF
    CSwitch 0, ?????, "Use long ints", -il, OFF
    CSwitch 0, ?????, "Generate line numbers", -n, OFF
    VSwitch 0, ?????, "Max string const length:", -s, " ", ONE, REQ, ""
    VSwitch 0, ?????, "Login(id,pswd):", -l, " ", ONE, REQ, ""
    CSwitch 0, d?6??, "", "-o DOS", ON
    CSwitch 0, d?2??, "", "-o DOS32", ON
    CSwitch 0, w?6??, "", "-o WINDOWS", ON
    CSwitch 0, w?2??, "", "-o WIN32", ON
    CSwitch 0, n?2??, "", "-o WINNT", ON
    CSwitch 0, o?6??, "", "-o OS2", ON
    CSwitch 0, o?2??, "", "-o OS232", ON
    CSwitch 0, q?6??, "", "-o QNX", ON
    CSwitch 0, q?2??, "", "-o QNX32", ON

Tool ESQLWCC "C Compiler for ESQL"
  IncludeTool WLANG
  IncludeTool CCOMP
  Family Compiler
    CSwitch 0, ??6??, "", "wcc $*.cxx", ON
    CSwitch 0, ??2??, "", "wcc386 $*.cxx", ON

Tool ESQLWPP "C++ Compiler for ESQL"
  IncludeTool WLANG
  IncludeTool CPPCOMP
  Family Compiler
    CSwitch 0, ??6??, "", "wpp $*.cxx", ON
    CSwitch 0, ??2??, "", "wpp386 $*.cxx", ON

Tool ESQLC "ESQL/C compiler"
  IncludeTool ESQL
  IncludeTool ESQLWCC

Tool ESQLP "ESQL/C++ compiler"
  IncludeTool ESQL
  IncludeTool ESQLWPP

Tool IMAGEEDIT "Image Editor"
  Family ImageEditor
    CSwitch 0, o????, "", iconedit, ON
    CSwitch 0, ????n, "", $(%watcom)\binnt\wimgedit, ON
    CSwitch 0, ?????, "", $(%watcom)\binw\wimgedit, ON

Tool OIPF "OS/2 Help Compiler"
  Family Compiler
    CSwitch 0, ?????, "", "ipfc", ON

Rule ASMOBJ, WASM, ?????
  Source *.asm
  Target *.obj
  Command " *$<#>"

Rule CPPOBJ, WPP, ?????
  Source *.cpp
  Target *.obj
  Autodepend
  BrowseSwitch -db
  Command " *$<#>"

Rule COBJ, WCC, ?????
  Source *.c
  Target *.obj
  Autodepend
  BrowseSwitch -db
  Command " *$<#>"

Rule ESQLOBJC, ESQLC, ?????
  Source *.sqc
  Target *.obj
  Autodepend
  BrowseSwitch -db
  Command " $<#ESQL>"
  Command " *$<#ESQLWCC>"

Rule ESQLOBJP, ESQLP, ?????
  Source *.sqp
  Target *.obj
  Autodepend
  BrowseSwitch -db
  Command " $<#ESQL>"
  Command " *$<#ESQLWPP>"

Rule ORESC, ORC, o????
  Source *.rc
  Target *.res
  Autodepend
  Command " $<#> -r $*.rc $&.res"

Rule WRESC, WRC, w????
  Source *.rc
  Target *.res
  Autodepend
  Command " $<#> -r -fo=$&.res"

Rule NRESC, WRC, n????
  Source *.rc
  Target *.res
  Autodepend
  Command " $<#> -r -fo=$&.res"
  
Rule SMAKEABLES
  Target *.obj, *.res
  Action &Make WMAKE OKFORMASK
    HotKey PLAIN F3
    Command "!Make $<#> -a $@"
    Hint "Make the result file"

Rule SBROWSEABLE
  Target *.obj
  Action &Browse
    Command "!Browse Open d $*.mbr"
    Hint "Invoke the program browser on the source file"

Tool OS2LINK "OS/2 Linking"
  IncludeTool WLINK
  IncludeTool ORC2

Rule OEXE, OS2LINK, o??e?
  Target *.exe
  Autodepend
  Symbol FIL, *.obj
  Symbol LIBR, *.lib
  Symbol DLL, *.dll
  Symbol RES, *.res
  Command " @%write $*.lk1 NAME $*"
  Command " @%append $*.lk1 $<FIL,>"
  Command " @%append $*.lk1 $<LIBR,>"
  Command "!ifneq BLANK \"$<DLL!>\""
  Command " *wlib -q -n -b $*.imp $<DLL!>"
  Command " @%append $*.lk1 LIBR $*.imp"
  Command "!endif"
  Command " *$<#WLINK> @$*.lk1"
  Command "!ifneq BLANK \"$<RES!>\""
  Command " $<#ORC2> $<RES!> $@"
  Command "!endif"
  
Rule OHLP, OIPF, o??h
  Target *.hlp
  Symbol IPF, *.ipf
  Command " $<#> $<IPF!>"

Rule WHLP, OIPF, w??h
  Target *.hlp
  Symbol IPF, *.ipf
  Command " $<#> $<IPF!>"

Rule NHLP, OIPF, n??h
  Target *.hlp
  Symbol IPF, *.ipf
  Command " $<#> $<IPF!>"

Tool WINLINK "Windows Linking"
  IncludeTool WLINK
  IncludeTool WRC2

rem Rule WVEXE, WINVPLINK, wv?e?
rem   Target *.exe
rem   Autodepend
rem   Autotrack *.cpp, *.rc
rem   Symbol FIL, *.obj
rem   Symbol LIBR, *.lib
rem   Symbol DLL, *.dll
rem   Symbol RES, *.res
rem   Command " @%write $*.lk1 NAME $*"
rem   Command " @%append $*.lk1 $<FIL,>"
rem   Command " @%append $*.lk1 $<LIBR,>"
rem   Command "!ifneq BLANK \"$<DLL!>\""
rem   Command " *wlib -q -n -b $*.imp $<DLL!>"
rem   Command " @%append $*.lk1 LIBR $*.imp"
rem   Command "!endif"
rem   Command " *$<#WLINK> @$*.lk1"
rem   Command "!ifneq BLANK \"$<RES!>\""
rem   Command " $<#WRC2> -s0 $<RES!> $@", 		??6??
rem   Command " wbind $* -q -s $(%watcom)\\binw\\win386.ext -R -q $<RES!> $@",	??2??
rem   Command "!else",				??2??
rem   Command " wbind $* -q -n -s $(%watcom)\\binw\\win386.ext",			??2??
rem   Command "!endif"

Rule WEXE, WINLINK, w??e?
  Target *.exe
  Autodepend
  Symbol FIL, *.obj
  Symbol LIBR, *.lib
  Symbol DLL, *.dll
  Symbol RES, *.res
  Command " @%write $*.lk1 NAME $*"
  Command " @%append $*.lk1 $<FIL,>"
  Command " @%append $*.lk1 $<LIBR,>"
  Command "!ifneq BLANK \"$<DLL!>\""
  Command " *wlib -q -n -b $*.imp $<DLL!>"
  Command " @%append $*.lk1 LIBR $*.imp"
  Command "!endif"
  Command " *$<#WLINK> @$*.lk1"
  Command "!ifneq BLANK \"$<RES!>\""
  Command " $<#WRC2> -s0 $<RES!> $@", 		??6??
  Command " wbind $* -q -s $(%watcom)\\binw\\win386.ext -R -q $<RES!> $@",	??2??
  Command "!else",				??2??
  Command " wbind $* -q -n -s $(%watcom)\\binw\\win386.ext",			??2??
  Command "!endif"

rem Rule NVEXE, ,nv???
rem   Target *.exe
rem   Autodepend
rem   Autotrack *.cpp, *.rc
rem   Symbol FIL, *.obj
rem   Symbol LIBR, *.lib
rem   Symbol DLL, *.dll
rem   Symbol RES, *.res
rem   Command " @%write $*.lk1 NAME $*"
rem   Command " @%append $*.lk1 $<FIL,>"
rem   Command " @%append $*.lk1 $<LIBR,>"
rem   Command "!ifneq BLANK \"$<DLL!>\""
rem   Command " *wlib -q -n -b $*.imp $<DLL!>"
rem   Command " @%append $*.lk1 LIBR $*.imp"
rem   Command "!endif"
rem   Command " *$<#WLINK> @$*.lk1"
rem   Command "!ifneq BLANK \"$<RES!>\""
rem   Command " $<#WRC2> -s0 $<RES!> $@"
rem   Command "!endif"

Rule NEXE, WINLINK, n??e?
  Target *.exe
  Autodepend
  Symbol FIL, *.obj
  Symbol LIBR, *.lib
  Symbol DLL, *.dll
  Symbol RES, *.res
  Command " @%write $*.lk1 NAME $*"
  Command " @%append $*.lk1 $<FIL,>"
  Command " @%append $*.lk1 $<LIBR,>"
  Command "!ifneq BLANK \"$<DLL!>\""
  Command " *wlib -q -n -b $*.imp $<DLL!>"
  Command " @%append $*.lk1 LIBR $*.imp"
  Command "!endif"
  Command " *$<#WLINK> @$*.lk1"
  Command "!ifneq BLANK \"$<RES!>\""
  Command " $<#WRC2> -s0 $<RES!> $@"
  Command "!endif"
  
rem Rule NVEXEACTIONS, ,nv???
rem   Target *.exe
rem   Action "&Visual Programmer"
rem     Hint "Invoke Visual Programmer"
rem     Default
rem     Command "vp.exe $*.vpd"

rem Rule WVEXEACTIONS, ,wv???
rem   Target *.exe
rem   Action "&Visual Programmer"
rem     Hint "Invoke Visual Programmer"
rem     Default
rem     Command "vp.exe $*.vpd"


Tool COPYFILE "Copy target file"
  Family "Destination Directory"
    VSwitch 0, ?????, "Destination directory","copy $@"," ", ONE, REQ, ""
    CSwitch 0, ?????, "", "#", ON

Tool NLMLINK "Link for Netware"
  IncludeTool WLINK
  IncludeTool COPYFILE

Rule NLM, NLMLINK, l?2e?
  Target *.nlm
  Autodepend
  Symbol FIL, *.obj
  Symbol LIBR, *.lib
  Command " @%write $*.lk1 NAME $*"
  Command " @%append $*.lk1 $<FIL,>"
  Command " @%append $*.lk1 $<LIBR,>"
  Command " *$<#WLINK> @$*.lk1"
  Command " $<#COPYFILE>"

Rule EXE, WLINK, ???e?
  Target *.exe, *.exp, *.com
  Autodepend
  Symbol FIL, *.obj
  Symbol LIBR, *.lib
  Command " @%write $*.lk1 NAME $*"
  Command " @%append $*.lk1 $<FIL,>"
  Command " @%append $*.lk1 $<LIBR,>"
  Command " *$<#> @$*.lk1"

Rule WDLL, WLINK, w??d?
  Target *.dll
  Autodepend
  Symbol FIL, *.obj
  Symbol LIBR, *.lib
  Symbol RES, *.res
  Command " @%write $*.lk1 NAME $*"
  Command " @%append $*.lk1 $<FIL,>"
  Command " @%append $*.lk1 $<LIBR,>"
  Command " *$<#> @$*.lk1"
  Command "!ifneq BLANK \"$<RES!>\""
  Command " $<#WRC2> -s0 $<RES!> $@",		??6??
  Command " wbind $* -q -s $(%watcom)\\binw\\w386dll.ext -d -R -q $<RES!> $@",??2??
  Command "!else",				??2??
  Command " wbind $* -q -d -n -s $(%watcom)\\binw\\w386dll.ext",	??2??
  Command "!endif"
  Command " wlib -n -b $*.lib +$*.dll",		??6??

Rule ODLL, WLINK, o??d?
  Target *.dll
  Autodepend
  Symbol FIL, *.obj
  Symbol LIBR, *.lib
  Symbol RES, *.res
  Command " @%write $*.lk1 NAME $*"
  Command " @%append $*.lk1 $<FIL,>"
  Command " @%append $*.lk1 $<LIBR,>"
  Command " *$<#> @$*.lk1"
  Command "!ifneq BLANK \"$<RES!>\""
  Command " $<#ORC2> $<RES!> $@"
  Command "!endif"
  Command " wlib -n -b $*.lib +$*.dll"

Rule NDLL, WLINK, n??d?
  Target *.dll
  Autodepend
  Symbol FIL, *.obj
  Symbol LIBR, *.lib
  Symbol RES, *.res
  Command " @%write $*.lk1 NAME $*"
  Command " @%append $*.lk1 $<FIL,>"
  Command " @%append $*.lk1 $<LIBR,>"
  Command " *$<#> @$*.lk1"
  Command "!ifneq BLANK \"$<RES!>\""
  Command " $<#WRC2> -s0 $<RES!> $@"
  Command "!endif"
  Command " wlib -n -b $*.lib +$*.dll"

Rule LIB, WLIB, ???s?
  Target *.lib
  Autodepend
  Symbol  OBJ, *.obj
  Command " @%write $*.lb1 $<OBJ+!>"
  Command " *$<#> $*.lib @$*.lb1"

Rule TMAKEABLES
  Target *.exe, *.exp, *.com, *.nlm, *.dll, *.lib, *.hlp
  Action &Make WMAKE OKFORMASK
    HotKey PLAIN F4
    Command "!Make $<#> $@"
    Hint "Make the target"

Rule TBROWSEABLE
  Target *.exe, *.exp, *.dll, *.lib
  Action &Browse
    Command "!Browse Open @$*.cbr"
    Hint "Invoke the program browser on the target browser database"

Rule EXES, , ???e?
  Target *.exe *.exp *.com
  Action &Run RUN
    HotKey CTRL R
    Command "$<#>"
    Hint "Run the target executable"
  Action &Debug WDEBUG
    HotKey CTRL D
    Command "$<#>"
    Hint "Invoke the debugger on the target executable"
  Action Sam&ple WSAMPLE
    Command "$<#>"
    Hint "Run and sample the target executable"
  Action Pro&file WPROFILE
    Command "$<#>"
    Hint "Profile the target executable"

Rule NLMS, , l?2e?
  Target *.nlm
  Action &Debug WDEBUG
    HotKey CTRL D
    Command "$<#>"
    Hint "Invoke the debugger on the NLM"
  Action Pro&file WPROFILE
    Command "$<#>"
    Hint "Profile the target executable"

Rule TXT
  Target *.txt *.h *.hpp *.c *.cpp *.def *.cfg *.rc *.asm
  Target *.sqc *.sqp *.ipf
  Action "&Edit Text"
    HotKey CTRL E
    Default
    Command "!Editor EditFile $@"
    Hint "Edit the ASCII file"

Rule OBJ
  Target *.obj
  Action &Disassemble WDISASM
    Command "!Batch $<#>"
    Hint "Disassemble the object file"
  Action "&Edit Disassembly"
    Command "!Editor EditFile $*.lst"
    Hint "Edit the disassembled file"

Rule ORES, , o????
  Target *.res
  Action "&Edit Resources"
    Default
    Command "dlgedit $!"
    Hint "Edit the .res file"

Rule WRES, , w????
  Target *.res
  Action "&Edit Resources"
    Default
    Command "$(%watcom)\\binw\\wre $!"
    Hint "Edit the .res file"

Rule NRES, , n????
  Target *.res
  Action "&Edit Resources"
    Default
    Command "$(%watcom)\\binnt\\wre $!"
    Hint "Edit the .res file"

Rule IMAGE
  Target *.ico *.bmp, *.cur
  Action "&Edit Image" IMAGEEDIT
    Default
    Command "$<#> $@"
    Hint "Edit the IMAGE file"

Rule OFNT, , o????
  Target *.fnt
  Action "&Edit Font"
    Default
    Command "fontedit $!"
    Hint "Edit the .fnt file"

Project  
  Filter "C++ source (*.cpp)", *.cpp
  Filter "C source (*.c)", *.c
  Filter "Libraries (*.lib)", *.lib
  Filter "Resouce scripts (*.rc)", "*.rc"
  Filter "Dialogs (*.dlg)", "*.dlg"
  Filter "All files (*.*)", "*.*"
  Action "&Make all" WMAKE
    HotKey PLAIN F5
    Command "!Make $<#>"
    Hint "Make all targets in the project"
  Action &Run...
    Command "$\"Command:\""
    Hint "Execute Command"
  Action "Run Ba&tch..."
    Command "!Batch $\"Command:\""
    Hint "Execute Command"
  Action "&Edit Text..."
    Command "!Editor EditFile $\"Filename:==\""
    Hint "Invoke editor"


  ToolItem 1009 Source  &Edit*  "Edit the selected source file"
  ToolItem 1010 Source  &Make   "Make the selected source file"
  ToolItem 1004 Target  &Make   "Make the current target"
  ToolItem 1008 Target  &Run    "Run the current target"
  ToolItem 1005 Target  &Debug  "Debug the current target"
  ToolItem 1006 Target  &Browse "Browse the current target"
  ToolItem 1007 Target  Sam&ple "Run and sample the current target"
  ToolItem 1011 Target  Pro&file "Profile the current target"
  ToolItem 1003 Project &Make*  "Make all targets in the project"

MsgLog
  Scan "<File: %f>"
  Scan "<wdisasm %* -l=%f %*>"
  Scan "<wasm %f %*>"
  Scan "<wpp %f %*>"
  Scan "<wpp386 %f %*>"
  Scan "<wcc %f %*>"
  Scan "<wcc386 %f %*>"
  Scan "<sqlpp %f %*>"
  Scan "<wrc %f %*>"
  Scan "<rc %f %*>"
  Scan "<wlink %*@%f%*>"
  Scan "<Warning %f %l:%*>"
  Scan "<Error %f %l:%*>"
  Scan "<%f(%l):%*! %h: (col %o)%*>"
  Scan "<%f(%l):%*! %h:%*>"
  Scan "<%f(%l):%*>"
  Scan "<%l:%*> <File: %f>"
  Scan "<%f:%*>"
  Scan "<%f>"
  Scan "<(%l,%o):%*> <File: %f>"

IncludeFile idex.cfg
