# # /Zr runtime null ptr check # /W3 full warnings # /Gs stack check probe off # /Zi codeview stuff # /Os optimize for size # /Ox maximum optimization # # Note additional optimization on some modules # opts=/AS /Zi /c /Zi /Gs /Os rm.obj: rm.c rm.h cl $(opts) rm.c msg.obj: msg.c rm.h cl $(opts) msg.c cypher.obj: cypher.c rm.h cl $(opts) cypher.c ################ "Library" routines ################# printf.obj: printf.c cl $(opts) printf.c gv2.obj: gv2.asm masm.exe gv2; fastfile.obj: fastfile.c cl $(opts) fastfile.c filestuf.obj: filestuf.asm masm.exe filestuf; ftime.obj: ftime.asm masm.exe ftime; iskey.obj: iskey.asm masm.exe iskey; find.obj: find.asm masm.exe find; break.obj: break.asm masm.exe break; string.obj: string.c rm.h cl $(opts) string.c fastfile.obj: fastfile.c cl $(opts) fastfile.c # /Gc == pascal calling convention window1.obj: window1.c windows.h cl $(opts) /Gc window1.c window2.obj: window2.c windows.h cl $(opts) /Gc window2.c window3.obj: window3.c windows.h cl $(opts) /Gc window3.c window4.obj: window4.asm masm.exe window4; ################ rm.exe: rm.obj msg.obj cypher.obj \ window1.obj window2.obj window3.obj window4.obj \ printf.obj gv2.obj iskey.obj find.obj break.obj \ fastfile.obj filestuf.obj ftime.obj string.obj link @rm.lnk