$! this is the raw results of a LINUX make semi edited into VMS
$! syntax, just to show what is going on.
$! note the compiler action does not set ANSI C syntax!
$!
$ mybase :== cc/nostandard/prefix=all/assume=writable
$ mycc  = mybase -
  /include=([.win],[.include],DECW$INCLUDE) -
  /define=("""alpha""",DRVTAB)
$ mycc2 = mycc
$ mycc3 = mybase -
  /include=([.win],[.include],DECW$INCLUDE) -
  /define=("""alpha""",DRVTAB,SYS_UNIX)
$ mycc5 = mybase -
  /include=([.win],[.include],[.MULTIMEDIA.INCLUDE]) -
  /define=("""alpha""",DRVTAB)
$ mycc7 = mybase -
  /include=([.win],[.include],DECW$INCLUDE) -
  /define=("""alpha""",DRVTAB,TWIN16)

$!mycc  gcc  -Wall -fwritable-strings -fPIC   -I./win -I./include  
$!  -I/usr/X11/include -DX386 -DLinux -DDRVTAB    
$! mycc2 = gcc  -Wall -fwritable-strings -fPIC   -I./win -I./include 
$!        -I/usr/X11/include -DLinux -DX386 -DLinux -DDRVTAB -DUSE_READLINE
$! mycc3 = gcc -Wall -fwritable-strings -fPIC   -I./win -I./include
$!   -I/usr/X11/include -DANSI_ARROWS -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT
$!     -DSYS_UNIX -DX386 -DLinux -DDRVTAB
$! mycc5 = gcc -Wall -fwritable-strings -fPIC   -I./win -I./include
$!   -I./multimedia/include  -DX386 -DLinux -DDRVTAB
$! mycc7 = gcc -Wall -fwritable-strings -fPIC   -fPIC -I/usr/X11/include
$!    -I./win  -I./include -DTWIN16  -DX386 -DLinux -DDRVTAB
$! mycc8 = gcc -Wall -fwritable-strings -fPIC   
$!   -I/usr/X11/include      -DX386 -DLinux -DDRVTAB
make version
make[1]: Entering directory `./win'
cc -o version_time version_time.c
/bin/sh ./makever.sh
echo \#define WIN_RELEASE \"3.0.12\" > version.h
echo \#define WIN_VERSION \"\#`cat .version` `date`\" >> version.h
echo \#define WIN_COMPILE_BY \"`whoami`\"     >> version.h
echo \#define WIN_COMPILE_HOST \"`hostname`\" >> version.h
echo \#define WIN_DATE_SECS `./version_time` >> version.h
echo \#define TWINOPT \"OPT\" >> version.h
make[1]: Leaving directory `./win'
$ mycc GdiObjects.c
$ mycc GdiBitmaps.c
$ mycc GdiClipping.c
$ mycc GdiDC.c
$ mycc GdiBoundsRect.c
$ mycc GdiDCAttr.c
$ mycc GdiGraphics.c
$ mycc GdiImages.c
$ mycc GdiBrute.c
$ mycc GdiMath.c
$ mycc GdiText.c
$ mycc GdiRegions.c
$ mycc GdiPrinter.c
$ mycc FancyRgn.c
$ mycc WSprintf.c
$ mycc DrawText.c
$ mycc Dither.c
$ mycc Caret.c
$ mycc Palette.c
$ mycc MapMode.c
$ mycc ConvertArray.c
$ mycc DisplayDC.c
$ mycc DisplayGraphics.c
$ mycc DisplayObjects.c
$ mycc DisplayText.c
$ mycc DisplayClipping.c
$ mycc DeviceData.c
$ mycc LSDevices.c
$ mycc Metafile.c
$ mycc Metaplay.c
$ mycc MetaGraphics.c
$ mycc MetaObjects.c
$ mycc WImageIO.c
$ mycc WBmp.c
$ mycc PrinterGraphics.c
$ mycc PrintManager.c
$ mycc GdiTTEngine.c
$ mycc PrinterDC.c
$ mycc SysKeyboard.c
$ mycc Kernel.c
$ mycc ObjEngine.c
$ mycc FileSys.c
$ mycc Net.c
$ mycc System.c
$ mycc WinHelp.c
$ mycc SysMisc.c
$ mycc KrnAtoms.c
$ mycc KrnFileIO.c
$ mycc Events.c
$ mycc KrnTask.c
$ mycc File32.c
$ mycc Threads.c
$ mycc Critical.c
$ mycc Interlock.c
$ mycc FormatMessage.c
$ mycc CreateProcess.c
$ mycc Beep.c
$ mycc Resources.c
$ mycc SysMetrics.c
$ mycc Dialog.c
$ mycc Profile.c
$ mycc Strings.c
$ mycc MenuProc.c
$ mycc MenuAPI.c
$ mycc UsrCursor.c
$ mycc DefWnd.c
$ mycc Messages.c
$ mycc Rect.c
$ mycc WSysMenu.c
$ mycc WinConfig.c
$ mycc Time.c
$ mycc Hotkey.c
$ mycc Splash.c
$ mycc WindowPos.c
$ mycc WindowBytes.c
$ mycc WindowCreate.c
$ mycc WindowProps.c
$ mycc WindowRedraw.c
$ mycc WindowDC.c
$ mycc MDI.c
$ mycc Frame.c
$ mycc Hook.c
$ mycc Classes.c
$ mycc DdeML.c
$ mycc OleCli.c
$ mycc OleSvr.c
$ mycc O2CompObj.c
$ mycc O2GUID.c
$ mycc Clipboard.c
$ mycc Listbox.c
$ mycc ComboBox.c
$ mycc Button.c
$ mycc ButtonDraw.c
$ mycc Static.c
$ mycc Scroll.c
$ mycc ScrollPaint.c
$ mycc RscTemplate.c
$ mycc ConvertRes.c
rc -I/home/robf/src/twin/3.0.12 -I./win -I./include RscData.rc 
$ mycc RscData.res.c
$ mycc ToolHelp.c
$ mycc Comm.c
$ mycc Ver.c
$ mycc LZExpand.c
$ mycc MessageBox.c
$ mycc Sound.c
$ mycc MCI.c
$ mycc MultiMedia.c
$ mycc utils.c
$ mycc MsgCode.c
$ mycc LoadLibrary.c
$ mycc ModTable.c
$ mycc WinInit.c
$ mycc IsBinary.c
$ mycc Edit.c
$ mycc EditKey.c
$ mycc EditDraw.c
$ mycc EditMem.c
$ mycc EditMisc.c
$ mycc WinSock.c
$ mycc WinSockUtil.c
$ mycc Driver.c
$ mycc LocalMem.c
$ mycc ConvertMsg.c
$ mycc Callback.c
$ mycc LoadDLL.c
$ mycc GenericIF.c
$ mycc SpecialIF.c
$ mycc OleIF.c
$ mycc HookIF.c
$ mycc MemoryIF.c
$ mycc VerIF.c
$ mycc CommIF.c
$ mycc WinSockIF.c
$ mycc PrintIF.c
$ mycc PrinterBin.c
$ mycc BitmapBin.c
$ mycc OEMRoutines.c
$ mycc OEMTab.c
$ mycc make_thunk.c
$ mycc invoke_binary.c
$ mycc DPMI.c
$ mycc ValidateModule.c
$ mycc IOEmu.c
$ mycc KrnCatch.c
$ mycc Exec.c
rm -f ExecUtl.s
$ mycc8  -E ExecUtl.S > ExecUtl.s
$ mycc8  ExecUtl.s
$ mycc     ExecLinux.c
make ./debugger "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX="
make[1]: Entering directory `./debugger'
$ mycc2    break.c
$ mycc2    db_disasm.c
bison -p TWIN_dbg_ -b dbg -d dbg.y
$ mycc2    dbg.tab.c
$ mycc2    hash.c
$ mycc2    info.c
bison -p TWIN_dbg_ -b dbg -d dbg.y
$ mycc2    lex.twin.c
$ mycc2    function.c
$ mycc2    alias.c
$ mycc2    help.c
$ mycc2    alloca.c
ld -r -o debugger.o break.o db_disasm.o dbg.tab.o hash.o info.o lex.twin.o function.o \
alias.o help.o alloca.o
cp debugger.o ./win/debugger.o
make[1]: Leaving directory `./debugger'
make ./readline "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX="
make[1]: Entering directory `./readline'
$ mycc3    complete.c
$ mycc3    editline.c
$ mycc3    sysunix.c
ld -r -o readline.o complete.o editline.o sysunix.o
cp readline.o  ./win/readline.o
make[1]: Leaving directory `./readline'
make ./pal/x11 "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX="
make[1]: Entering directory `./pal/x11'
$ mycc         DrvGraphics.c
$ mycc         DrvImages.c
$ mycc         DrvDC.c
$ mycc         DrvFloodFill.c
$ mycc         DrvRegions.c
$ mycc         DrvText.c
$ mycc         DrvUtils.c
$ mycc         DrvIPC.c
$ mycc         DrvSystem.c
$ mycc         DrvMemory.c
$ mycc         DrvInit.c
$ mycc         RopCodes.c
$ mycc         DrvWindows.c
$ mycc         DrvCursor.c
$ mycc         DrvWinSock.c
$ mycc         DrvColors.c
$ mycc         DrvEvents.c
$ mycc         XICCCM.c
$ mycc         DrvKeyboard.c
$ mycc         XEvents.c
$ mycc         DrvConfig.c
$ mycc         DrvTime.c
$ mycc         DrvPrinting.c
$ mycc         DrvFiles.c
$! mycc         DrvThreads_X386.c
ld -r -o x11.o DrvGraphics.o DrvImages.o DrvDC.o DrvFloodFill.o DrvRegions.o \
DrvText.o DrvUtils.o DrvIPC.o DrvSystem.o DrvMemory.o DrvInit.o RopCodes.o \
DrvWindows.o DrvCursor.o DrvWinSock.o DrvColors.o DrvEvents.o XICCCM.o \
DrvKeyboard.o XEvents.o DrvConfig.o DrvTime.o DrvPrinting.o DrvFiles.o  \
DrvThreads_X386.o
cp x11.o ./win/x11.o
make[1]: Leaving directory `./pal/x11'
make ./xdos "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX="
make[1]: Entering directory `./xdos'
$ mycc         dos_int86.c
$ mycc         dos_call.c
$ mycc         dos_create.c
$ mycc         dos_date.c
$ mycc         dos_error.c
$ mycc         dos_timer.c
$ mycc         dos_findfile.c
$ mycc         int_21.c
$ mycc         fn_36.c
$ mycc         fn_38.c
$ mycc         int_10.c
$ mycc         int_11.c
$ mycc         int_12.c
$ mycc         int_13.c
$ mycc         int_15.c
$ mycc         int_1a.c
$ mycc         int_25.c
$ mycc         int_2a.c
$ mycc         int_2f.c
$ mycc         int_31.c
$ mycc         int_3d.c
$ mycc         int_5c.c
$ mycc         mfs_config.c
$ mycc         mfs_fileio.c
$ mycc         mfs_findfile.c
$ mycc         mfs_regexp.c
$ mycc         msclib.c
$ mycc         mfs_core.c
$ mycc         fat_core.c
$ mycc         fat_fileio.c
$ mycc         fat_findfile.c
$ mycc         fat_lib.c
ld -r -o xdos.o dos_int86.o dos_call.o dos_create.o dos_date.o dos_error.o \
dos_timer.o dos_findfile.o int_21.o fn_36.o fn_38.o int_10.o int_11.o int_12.o \
int_13.o int_15.o int_1a.o int_25.o int_2a.o int_2f.o int_31.o int_3d.o int_5c.o \
mfs_config.o mfs_fileio.o mfs_findfile.o mfs_regexp.o msclib.o mfs_core.o fat_core.o \
fat_fileio.o fat_findfile.o fat_lib.o
cp xdos.o  ./win/xdos.o
make[1]: Leaving directory `./xdos'
$ mycc     EditMemBin.c
make ./multimedia/mmsystem "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX="
make[1]: Entering directory `./multimedia/mmsystem'
$ mycc5         mmdrv.c
$ mycc5         mmaux.c
$ mycc5         midi.c
$ mycc5         wave.c
ld -r -o multimedia.o mmdrv.o mmaux.o midi.o wave.o
cp multimedia.o ./win/multimedia.o
make[1]: Leaving directory `./multimedia/mmsystem'
$ mycc     TwinDeflib.c
$ mycc     TwinXWin.c
make "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX=" version
make "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX=" version.o
gcc -Wall -fwritable-strings -fPIC   -shared -o libtwin.so.3.0 version.o GdiObjects.o \
GdiBitmaps.o GdiClipping.o GdiDC.o GdiBoundsRect.o GdiDCAttr.o GdiGraphics.o GdiImages.o \
GdiBrute.o GdiMath.o GdiText.o GdiRegions.o GdiPrinter.o FancyRgn.o WSprintf.o DrawText.o \
Dither.o Caret.o Palette.o MapMode.o ConvertArray.o DisplayDC.o DisplayGraphics.o \
DisplayObjects.o DisplayText.o DisplayClipping.o DeviceData.o LSDevices.o Metafile.o \
Metaplay.o MetaGraphics.o MetaObjects.o WImageIO.o WBmp.o PrinterGraphics.o PrintManager.o \
GdiTTEngine.o PrinterDC.o SysKeyboard.o Kernel.o ObjEngine.o FileSys.o Net.o System.o \
WinHelp.o SysMisc.o KrnAtoms.o KrnFileIO.o Events.o KrnTask.o File32.o Threads.o \
Critical.o Interlock.o FormatMessage.o CreateProcess.o Beep.o Resources.o  \
SysMetrics.o Dialog.o Profile.o Strings.o MenuProc.o MenuAPI.o UsrCursor.o \
DefWnd.o Messages.o Rect.o WSysMenu.o WinConfig.o Time.o Hotkey.o Splash.o  \
WindowPos.o WindowBytes.o WindowCreate.o WindowProps.o WindowRedraw.o \
WindowDC.o MDI.o Frame.o Hook.o Classes.o DdeML.o OleCli.o OleSvr.o \
O2CompObj.o O2GUID.o Clipboard.o  Listbox.o ComboBox.o Button.o \
ButtonDraw.o Static.o Scroll.o ScrollPaint.o RscTemplate.o ConvertRes.o \
RscData.res.o  ToolHelp.o Comm.o Ver.o LZExpand.o MessageBox.o Sound.o \
MCI.o MultiMedia.o utils.o MsgCode.o LoadLibrary.o ModTable.o WinInit.o \
IsBinary.o Edit.o EditKey.o EditDraw.o EditMem.o EditMisc.o WinSock.o \
WinSockUtil.o  Driver.o LocalMem.o ConvertMsg.o Callback.o LoadDLL.o \
GenericIF.o SpecialIF.o OleIF.o HookIF.o MemoryIF.o VerIF.o CommIF.o \
WinSockIF.o PrintIF.o PrinterBin.o BitmapBin.o OEMRoutines.o OEMTab.o\
 make_thunk.o invoke_binary.o DPMI.o ValidateModule.o IOEmu.o KrnCatch.o  \
  Exec.o ExecUtl.o ExecLinux.o debugger.o readline.o x11.o xdos.o \
  EditMemBin.o multimedia.o TwinDeflib.o TwinXWin.o -ldl
rm -f libtwin.so
ln -s libtwin.so.3.0 libtwin.so
$ mycc     WinMain.c
rc -I./win -I./include TwinRT.rc 
$ mycc     TwinRT.res.c
gcc -Wall -fwritable-strings -fPIC     -L.  -L./win -L/usr/X11/lib  -o \
win486 WinMain.o TwinRT.res.o -ltwin -lX11 -lm -ldl
make ./dll "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX=" install
make[1]: Entering directory `./dll'
$ mycc          LibMain.c
$ mycc          LibWEP.c
$ mycc          DefTable.c
$ mycc          ResTable.c
$ mycc          DummyEnviron.c
ar r libdll.a LibMain.o LibWEP.o DefTable.o ResTable.o DummyEnviron.o
ranlib libdll.a
rm -f ./win/libdll.a
cp libdll.a ./win/libdll.a
chmod 755 ./win/libdll.a
make[1]: Leaving directory `./dll'
make ./shell "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX=" install
make[1]: Entering directory `./shell'
$ mycc7 Shell.c
$ mycc7 ShellIF.c
$ mycc7 Registry.c
$ mycc7 DragDrop.c
$ mycc7 About.c
rc  -I/usr/X11/include -I/home/robf/src/twin/3.0.12 -I./win  -I./include \
-EShell_LibMain -o Shell.res.c Shell.rc
$ mycc7    Shell.res.c
gcc -Wall -fwritable-strings -fPIC   -shared  -Wl,-Bsymbolic -L./win \
-L./win -o libshell.so Shell.o ShellIF.o Registry.o DragDrop.o About.o Shell.res.o   \
-ltwin -ldll -lc 
rm -f ./win/libshell.so
cp libshell.so ./win/libshell.so
chmod 755 ./win/libshell.so
rm -f libshell.a
ar r libshell.a Shell.o ShellIF.o Registry.o DragDrop.o About.o Shell.res.o
ranlib libshell.a
cp libshell.a ./win/libshell.a
rm -f ./win/libshell.a
cp libshell.a ./win/libshell.a
chmod 755 ./win/libshell.a
make[1]: Leaving directory `./shell'
make ./commdlg "TARGET=Linux" "DEBUG= " "GFLAG= " "AUX=" install
make[1]: Entering directory `./commdlg'
$ mycc7     ChooseColor.c
$ mycc7     ChooseFont.c
$ mycc7     Commdlg.c
$ mycc7     FindReplDlg.c
$ mycc7     GetOpenFileName.c
$ mycc7     PrintDlg.c
$ mycc7     CommdlgIF.c
$ mycc7     CommdlgIT.c
rc  -I/usr/X11/include -I/home/robf/src/twin/3.0.12 -I./win  -I./include \
-ECommdlg_LibMain -o Commdlg.res.c Commdlg.rc
$ mycc7    Commdlg.res.c
gcc -Wall -fwritable-strings -fPIC   -shared  -Wl,-Bsymbolic -L./win \
-L./win -o libcommdlg.so ChooseColor.o ChooseFont.o Commdlg.o FindReplDlg.o \
GetOpenFileName.o PrintDlg.o CommdlgIF.o CommdlgIT.o Commdlg.res.o   \
-ltwin -ldll -lc 
rm -f ./win/libcommdlg.so
cp libcommdlg.so ./win/libcommdlg.so
chmod 755 ./win/libcommdlg.so
rm -f libcommdlg.a
ar r libcommdlg.a ChooseColor.o ChooseFont.o Commdlg.o FindReplDlg.o \
GetOpenFileName.o PrintDlg.o CommdlgIF.o CommdlgIT.o Commdlg.res.o
ranlib libcommdlg.a
cp libcommdlg.a ./win/libcommdlg.a
rm -f ./win/libcommdlg.a
cp libcommdlg.a ./win/libcommdlg.a
chmod 755 ./win/libcommdlg.a
make[1]: Leaving directory `./commdlg'
rm -rf xwin
ln -s win486 xwin
