X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/dcbde23605bb045df116a1dd522d4ddb4d9288fa..0965bee0865fd8ea129b2de62a3c50e09c59a184:/Makefile?ds=sidebyside diff --git a/Makefile b/Makefile index 52bdda33..e9fb759e 100644 --- a/Makefile +++ b/Makefile @@ -33,6 +33,17 @@ # Cygnus/mingw32, whose resource compiler may have less of a # problem with it. # +# - XFLAGS=/DMALLOC_LOG +# Causes PuTTY to emit a file called putty_mem.log, logging every +# memory allocation and free, so you can track memory leaks. +# +# - XFLAGS=/DMINEFIELD +# Causes PuTTY to use a custom memory allocator, similar in +# concept to Electric Fence, in place of regular malloc(). Wastes +# huge amounts of RAM, but should cause heap-corruption bugs to +# show up as GPFs at the point of failure rather than appearing +# later on as second-level damage. +# ##-- CFLAGS = /nologo /W3 /YX /O2 /Yd /D_WINDOWS /DDEBUG /ML /Fd @@ -45,7 +56,7 @@ CFLAGS = /nologo /W3 /YX /O2 /Yd /D_WINDOWS /DDEBUG /ML /Fd LFLAGS = /incremental:no .c.obj: - cl $(COMPAT) $(FWHACK) $(CFLAGS) /c $*.c + cl $(COMPAT) $(FWHACK) $(XFLAGS) $(CFLAGS) /c $*.c OBJ=obj RES=res @@ -54,7 +65,7 @@ RES=res GOBJS1 = window.$(OBJ) windlg.$(OBJ) winctrls.$(OBJ) terminal.$(OBJ) GOBJS2 = xlat.$(OBJ) sizetip.$(OBJ) ##-- objects putty puttytel plink -LOBJS1 = telnet.$(OBJ) raw.$(OBJ) ldisc.$(OBJ) winnet.$(OBJ) +LOBJS1 = telnet.$(OBJ) raw.$(OBJ) rlogin.$(OBJ) ldisc.$(OBJ) winnet.$(OBJ) ##-- objects putty plink POBJS = be_all.$(OBJ) ##-- objects puttytel @@ -70,6 +81,7 @@ MOBJ2 = tree234.$(OBJ) OBJS1 = sshcrc.$(OBJ) sshdes.$(OBJ) sshmd5.$(OBJ) sshrsa.$(OBJ) sshrand.$(OBJ) OBJS2 = sshsha.$(OBJ) sshblowf.$(OBJ) noise.$(OBJ) sshdh.$(OBJ) sshdss.$(OBJ) OBJS3 = sshbn.$(OBJ) sshpubk.$(OBJ) ssh.$(OBJ) pageantc.$(OBJ) sshzlib.$(OBJ) +OBJS4 = x11fwd.$(OBJ) ##-- objects pageant PAGE1 = pageant.$(OBJ) sshrsa.$(OBJ) sshpubk.$(OBJ) sshdes.$(OBJ) sshbn.$(OBJ) PAGE2 = sshmd5.$(OBJ) version.$(OBJ) tree234.$(OBJ) misc.$(OBJ) @@ -108,7 +120,7 @@ SOCK2 = ws2_32.lib all: putty.exe puttytel.exe pscp.exe plink.exe pageant.exe puttygen.exe -putty.exe: $(GOBJS1) $(GOBJS2) $(LOBJS1) $(POBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(PRESRC) putty.rsp +putty.exe: $(GOBJS1) $(GOBJS2) $(LOBJS1) $(POBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(PRESRC) putty.rsp link $(LFLAGS) -out:putty.exe -map:putty.map @putty.rsp puttytel.exe: $(GOBJS1) $(GOBJS2) $(LOBJS1) $(TOBJS) $(MOBJS) $(MOBJ2) $(PRESRC) puttytel.rsp @@ -120,10 +132,10 @@ pageant.exe: $(PAGE1) $(PAGE2) $(PAGERC) pageant.rsp puttygen.exe: $(GEN1) $(GEN2) $(GEN3) $(GEN4) $(GENRC) puttygen.rsp link $(LFLAGS) -out:puttygen.exe -map:puttygen.map @puttygen.rsp -pscp.exe: $(SOBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(SRESRC) pscp.rsp +pscp.exe: $(SOBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(SRESRC) pscp.rsp link $(LFLAGS) -out:pscp.exe -map:pscp.map @pscp.rsp -plink.exe: $(LOBJS1) $(POBJS) $(PLOBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(LRESRC) plink.rsp +plink.exe: $(LOBJS1) $(POBJS) $(PLOBJS) $(MOBJS) $(MOBJ2) $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(LRESRC) plink.rsp link $(LFLAGS) -out:plink.exe -map:plink.map @plink.rsp putty.rsp: makefile @@ -137,6 +149,7 @@ putty.rsp: makefile echo $(OBJS1) >> putty.rsp echo $(OBJS2) >> putty.rsp echo $(OBJS3) >> putty.rsp + echo $(OBJS4) >> putty.rsp echo $(PRESRC) >> putty.rsp echo $(LIBS1) >> putty.rsp echo $(LIBS2) >> putty.rsp @@ -183,6 +196,7 @@ pscp.rsp: makefile echo $(OBJS1) >> pscp.rsp echo $(OBJS2) >> pscp.rsp echo $(OBJS3) >> pscp.rsp + echo $(OBJS4) >> pscp.rsp echo $(SRESRC) >> pscp.rsp echo $(LIBS1) >> pscp.rsp echo $(LIBS2) >> pscp.rsp @@ -198,6 +212,7 @@ plink.rsp: makefile echo $(OBJS1) >> plink.rsp echo $(OBJS2) >> plink.rsp echo $(OBJS3) >> plink.rsp + echo $(OBJS4) >> plink.rsp echo $(LRESRC) >> plink.rsp echo $(LIBS1) >> plink.rsp echo $(LIBS2) >> plink.rsp @@ -213,6 +228,7 @@ terminal.$(OBJ): terminal.c putty.h puttymem.h network.h sizetip.$(OBJ): sizetip.c putty.h puttymem.h network.h winstuff.h telnet.$(OBJ): telnet.c putty.h puttymem.h network.h raw.$(OBJ): raw.c putty.h puttymem.h network.h +rlogin.$(OBJ): rlogin.c putty.h puttymem.h network.h xlat.$(OBJ): xlat.c putty.h puttymem.h network.h ldisc.$(OBJ): ldisc.c putty.h puttymem.h network.h misc.$(OBJ): misc.c putty.h puttymem.h network.h @@ -239,6 +255,7 @@ plink.$(OBJ): plink.c putty.h puttymem.h network.h winstuff.h pageant.$(OBJ): pageant.c ssh.h puttymem.h tree234.h pageantc.$(OBJ): pageantc.c puttymem.h tree234.$(OBJ): tree234.c tree234.h puttymem.h +puttygen.$(OBJ): puttygen.c putty.h ssh.h winstuff.h ##-- # Hack to force version.obj to be rebuilt always