--- mstools/mfc/src/makefile 2018/08/09 18:21:01 1.1.1.1 +++ mstools/mfc/src/makefile 2018/08/09 18:22:45 1.1.1.2 @@ -63,9 +63,11 @@ DEBUG=1 !ifndef DLL DLL=0 !else -# DLL must be large model +!ifndef MKNT +# DLL must be large model, except under Windows/NT. MODEL=l !endif +!endif !ifndef TARGET TARGET=W @@ -79,42 +81,48 @@ MODEL=M CODEVIEW=2 !endif +!if "$(CODEVIEW)" == "2" +#REVIEW_NT: Bug in compiler prevents PCH with CODEVIEW=2, don't use PCH... +!ifdef MKNT +NO_PCH=1 +!endif +!endif + !if "$(DEBUG)" != "0" DEBUGSUF=D DEBDEFS=/D_DEBUG !ifdef MKNT -DEBOPTS=/Od /Zd -CVTOPTS=-g +DEBOPTS=/Od +!if "$(CODEVIEW)" == "1" +DEBOPTS=/Od /Zi +!endif !else DEBOPTS=/Odr /f -CVTOPTS= !endif !else DEBUGSUF= DEBDEFS= !ifdef MKNT -DEBOPTS=/Os /Zd +DEBOPTS=/Os +!if "$(CODEVIEW)" == "1" +DEBOPTS=/Os /Zi +!endif !else DEBOPTS=/Oxt !endif !endif +#REVIEW_NT: $(FOO) + blah still doesn't work under NT nmake!! +!ifndef MKNT !if "$(CODEVIEW)" == "1" -!ifdef MKNT -DEBOPTS=$(DEBOPTS) /Zd -!else DEBOPTS=$(DEBOPTS) /Zi !endif !endif # CVEXTRA used for select CodeView information (main files only) !if "$(CODEVIEW)" == "2" -!ifdef MKNT -CVEXTRA=/Zd -!else CVEXTRA=/Zi !endif -!endif !if "$(MODEL)"=="s" || "$(MODEL)"=="S" CL_MODEL=/AS @@ -157,6 +165,7 @@ EXPFLAG= MKWIN=1 !ifdef MKNT TARGDEFS=/D_WINDOWS /DWINVER=0x030a +TARGOPTS=/G3d EXPFLAG= !else TARGDEFS=/D_WINDOWS @@ -176,6 +185,10 @@ EXPFLAG=/GEe D=$$$(MODEL)$(TARGET)$(DEBUGSUF) !if "$(DLL)" != "0" D=$D.dll +!ifdef MKNT +#REVIEW_NT: above assign does not work... +D=$$$(MODEL)$(TARGET)$(DEBUGSUF).dll +!endif !endif !else D=$(OBJ) @@ -190,8 +203,12 @@ GOAL=$(MODEL)afxc$(TARGET)$(DEBUGSUF) !else # DLL library (SS!=DS) - only Large model supported (compact model is possible) GOAL=$(MODEL)afxd$(TARGET)$(DEBUGSUF) +!ifndef MKNT CL_MODEL=$(CL_MODEL)w TARGOPTS=/GD /G2 +!else +TARGOPTS=/D_WINDLL +!endif # /GD will define _WINDLL !endif @@ -297,7 +314,10 @@ HDRS=$(INC_DIR)\afx.h $(INC_DIR)\afx.inl $(INC_DIR)\afxole.h $(INC_DIR)\afxoleui.h $D\object.obj $(PCH_FILE): object.cpp $(HDRS) - $(CPP) /c /Yc /Fp$(PCH_FILE) $(CL_STANDARD) $(CL_MODEL) $(CL_OPT) $(DEFS) $(CVEXTRA) /c /Fo$D\object.obj object.cpp + $(CPP) /c /Yc /Fp$(PCH_FILE) $(CL_STANDARD) $(CL_MODEL) $(CL_OPT) $(DEFS) $(CVEXTRA) /Fo$D\object.obj object.cpp +!else +$D\object.obj: object.cpp + $(CPP) $(CPPFLAGS) $(CVEXTRA) /c /Fo$D\object.obj object.cpp !endif ############################################################################