There are many BAT files within QLIB to help you. these are to compile programs to EXE files MASM2EXE.BAT - compile with MASM v6.11 (using ML.EXE) TASM2EXE.BAT - compile with TASM32.EXE (using TASM32.EXE) BC2EXE.BAT - compile with Borland C v4.5 (and v5.0) (using BCC32.EXE) WC2EXE.BAT - compile with Watcom C v10.6 (using WCC386.EXE) MC2EXE.BAT - compile with Microsoft Visual C++ v4.x (using CL.EXE) BCPP2EXE.BAT - compile with Borland C v4.5 (and v5.0) (using BCC32.EXE) WCPP2EXE.BAT - compile with Watcom C v10.6 (using WPP386.EXE) MCPP2EXE.BAT - compile with Microsoft Visual C++ v4.x (using CL.EXE) these just create the OBJ file (no link): MASM2OBJ.BAT - compile with MASM v6.11 TASM2OBJ.BAT - compile with TASM32.EXE BC2OBJ.BAT - compile with Borland C v4.5 (and v5.0) WC2OBJ.BAT - compile with Watcom C v10.6 MC2OBJ.BAT - compile with Microsoft Visual C++ v4.x (using CL.EXE) BCPP2OBJ.BAT - compile with Borland C v4.5 (and v5.0) WCPP2OBJ.BAT - compile with Watcom C v10.6 MCPP2OBJ.BAT - compile with Microsoft Visual C++ v4.x (using CL.EXE) others QLINK.BAT - link multiply OBJ and LIBs together QMAKE.BAT - runs NMAKE BUG.BAT - invokes WD.EXE (watcom debugger) to debug a program QLITE.BAT - uses PMWLITE to compress an EXE file (giving it needed options) QSETUP.EXE - this works the same as PMWSETUP but has only 2 options to - control how much memory QLIB will alloc on startup - this is better than using the PMWSETUP because this will - work under RAW,XMS,VCPI and DPMI unlike PMWSETUP. But you'll - still need to use PMWSETUP. - See qsetup.txt for more info Notes: All xxx2exe.bat files use QLINK to link the final EXE. You can run each BAT file without any arguments to get help on that BAT files usage. The default math LIBs are the Borland/Visual C Compatiable Math LIBs except when using WC2EXE.BAT or WCPP2EXE.BAT. (see math.txt) QLINK uses the Borland/Visual C Compatible LIBs unless you give it the /w option (so be careful and do not mix Borland/VisC and Watcom generated code) The PMWSETUP utility is a great way to manage memory usage and such with your EXE files. But if you have to run that each time you compile your project it can become a pain. Fortunately my BAT files offer a relief. When linking is performed and if there is a .SET file with the same name as the EXE file to be compiled this SET file will be run as a BAT file which could hold the PMWSETUP program or anything else you need to run after each time you compile your programs. See \test\spawn.set to see what I mean. To compile the spawn test program use "QMAKE SPAWN". Note that this SET file is run twice due to problems with PMWSETUP. It seems that after PMWLITE is used the setup info set by PMWSETUP is lost so the SET file must be called before using QLITE. But QSETUP must be used before QLITE is used. Therefore the SET file is run twice, once with the parameter "PRE" before QLITE is used (if the /c option is given) and once after QLITE given the "POST" option. spawn.set is a bad example since it can not use PMODE/W due to bugs within it. When using the .SET files the order in which you use QSETUP, PMWLITE and PMWSETUP is very important because PMWLITE strips the PMODEW DOS extender and then adds a new one after compression is complete. So this is the prefered order: QSETUP - this must be before PMWLITE QLITE or PMWLITE - this must be after QSETUP PMWSETUP - this must be after PMWLITE and QLITE Otherwise options may be wiped out after QLITE or PMWLITE is run. TTYL