|
|
1.1 ! root 1: # ! 2: # (c) Copyright Microsoft Corp. 1992 All Rights Reserved ! 3: # ! 4: # Makefile : Builds the OLE 2.0 Outline series sample apps ! 5: # The Outline series includes: ! 6: # Outline.exe -- base version of app (w/o OLE functionality) ! 7: # SvrOutl.exe -- OLE 2.0 Server sample app ! 8: # CntrOutl.exe -- OLE 2.0 Containter (Container) sample app ! 9: # NOTE: apps are built in a subdir of same name as app. ! 10: # ! 11: # Usage: NMAKE (build outline.exe--non-OLE version) ! 12: # or: NMAKE APP=svroutl (build svroutl.exe--server-only version) ! 13: # or: NMAKE APP=cntroutl (build cntroutl.exe--container-only version) ! 14: # or: NMAKE APP=isvrotl (build isvrotl.exe--InPlace server version) ! 15: # or: NMAKE APP=icntrotl (build icntrotl.exe--InPlace container ver.) ! 16: # or: NMAKE clean (erase all compiled files in $(APP) dir) ! 17: # ! 18: # eg.: nmake APP=cntroutl clean (deletes compiled files in .\cntroutl\ ) ! 19: # nmake (builds outline\outline.exe) ! 20: # ! 21: # Environment variables: ! 22: # DEVROOT_DIR=<path> (root dir for sample code development) ! 23: ! 24: !if "$(app)" == "svroutl" ! 25: APP = svroutl ! 26: !endif ! 27: ! 28: !if "$(app)" == "cntroutl" ! 29: APP = cntroutl ! 30: !endif ! 31: ! 32: !if "$(app)" == "icntrotl" ! 33: APP = icntrotl ! 34: !endif ! 35: ! 36: !if "$(app)" == "isvrotl" ! 37: APP = isvrotl ! 38: !endif ! 39: ! 40: !if "$(app)" == "outline" || "$(app)" == "" ! 41: APP = outline ! 42: !endif ! 43: ! 44: !ifndef DEVROOT_DIR ! 45: !error You must define DEVROOT_DIR (ole20 sub-tree) ! 46: !endif ! 47: !ifndef INCLUDE ! 48: !error You must define INCLUDE (non ole20 include files) ! 49: !endif ! 50: !ifndef LIB ! 51: !error You must deinfe LIB (non ole20 libraries) ! 52: !endif ! 53: !ifndef OLEBUILD ! 54: OLEBUILD=NT ! 55: !endif ! 56: ! 57: OLE2_H=$(DEVROOT_DIR)\h ! 58: OLE2_LIB=$(DEVROOT_DIR)\lib ! 59: ! 60: !ifndef SAMPLE_DIR ! 61: SAMPLE_DIR = $(DEVROOT_DIR)\samples ! 62: !endif ! 63: SRC_DIR = $(SAMPLE_DIR)\outline ! 64: ! 65: SRC_DIR = .. ! 66: ! 67: !if "$(OLEBUILD)" == "NT" ! 68: ! 69: !ifndef MACHINE ! 70: MACHINE=i386 ! 71: !endif ! 72: ! 73: CPP = cl386 ! 74: CPPFLAGS = /D_X86_ /Fc /G3 /DOLE2FINAL /D_DEBUG /DWIN32 /DOLE2SHIP /D$(MACHINE)=1 /D_NTWIN /D_WINDOWS /DWINVER=0x030A /W3 /nologo /Z7 /Od $(CL) ! 75: LINKFLAGS = -subsystem:windows -machine:$(MACHINE) -debug:mapped,full -debugtype:both ! 76: OLELIBS = ole2w32.lib outlui.lib storag32.lib gizmobar.lib bttncur.lib ! 77: W32LIBS = kernel32.lib comdlg32.lib user32.lib gdi32.lib ! 78: LIBS = $(OLELIBS) $(W32LIBS) crtdll.lib ! 79: ! 80: !else ! 81: ! 82: CPP =cl ! 83: CPPFLAGS = /f /AM /GA /GEs /W3 /Zp /G2 /nologo /D_DEBUG $(CL) /Od /Zi ! 84: LINKFLAGS = /NOD /NOE /batch /ONERROR:NOEXE /COD:N ! 85: LIBS = libw shell ole2 storage compobj outlui commdlg mlibcew \ ! 86: gizmobar bttncur $(SRC_DIR)\ctl3d ! 87: ! 88: !endif ! 89: ! 90: BUILD_DIR = $(APP) ! 91: PCHFLAGS = -Yuoutline.h -Fpprecomp.pch ! 92: ! 93: COMMONINCL = $(SRC_DIR)/outline.h $(OLE2_H)/ole2.h \ ! 94: $(SRC_DIR)/frametls.h $(OLE2_H)/compobj.h \ ! 95: $(OLE2_H)/scode.h $(OLE2_H)/dvobj.h \ ! 96: $(OLE2_H)/storage.h $(OLE2_H)/moniker.h \ ! 97: $(SRC_DIR)/outlrc.h $(SRC_DIR)/status.h $(SRC_DIR)/cntroutl.h \ ! 98: $(SRC_DIR)/cntrrc.h $(OLE2_H)/ole2ui.h $(SRC_DIR)/svroutl.h \ ! 99: $(SRC_DIR)/oleoutl.h ! 100: ! 101: !if "$(USE_MSGFILTER)"=="1" ! 102: CPPFLAGS = $(CPPFLAGS) /DUSE_MSGFILTER ! 103: !endif ! 104: ! 105: ! 106: ########################################################################## ! 107: # ! 108: # main obj lists; add new obj files here ! 109: # ! 110: ! 111: !if "$(APP)" == "cntroutl" ! 112: CPPFLAGS = $(CPPFLAGS) /DOLE_CNTR ! 113: APP_OBJS = precomp.obj main.obj memmgr.obj status.obj frametls.obj \ ! 114: dialogs.obj debug.obj \ ! 115: outlapp.obj outldoc.obj heading.obj \ ! 116: outllist.obj outlline.obj outltxtl.obj \ ! 117: outlntbl.obj outlname.obj \ ! 118: oleapp.obj oledoc.obj classfac.obj debug2.obj \ ! 119: dragdrop.obj clipbrd.obj linking.obj \ ! 120: cntrbase.obj cntrline.obj ! 121: !else ! 122: ! 123: !if "$(APP)" == "svroutl" ! 124: CPPFLAGS = $(CPPFLAGS) /DOLE_SERVER ! 125: APP_OBJS = precomp.obj main.obj memmgr.obj status.obj frametls.obj \ ! 126: dialogs.obj debug.obj \ ! 127: outlapp.obj outldoc.obj heading.obj \ ! 128: outllist.obj outlline.obj outltxtl.obj \ ! 129: outlntbl.obj outlname.obj \ ! 130: oleapp.obj oledoc.obj classfac.obj debug2.obj \ ! 131: dragdrop.obj clipbrd.obj linking.obj \ ! 132: svrbase.obj svrpsobj.obj ! 133: !else ! 134: ! 135: !if "$(APP)" == "icntrotl" ! 136: CPPFLAGS = $(CPPFLAGS) /DOLE_CNTR /DINPLACE_CNTR ! 137: APP_OBJS = precomp.obj main.obj memmgr.obj status.obj frametls.obj \ ! 138: dialogs.obj debug.obj \ ! 139: outlapp.obj outldoc.obj heading.obj \ ! 140: outllist.obj outlline.obj outltxtl.obj \ ! 141: outlntbl.obj outlname.obj \ ! 142: oleapp.obj oledoc.obj classfac.obj debug2.obj \ ! 143: dragdrop.obj clipbrd.obj linking.obj \ ! 144: cntrbase.obj cntrline.obj cntrinpl.obj ! 145: !else ! 146: ! 147: !if "$(APP)" == "isvrotl" ! 148: CPPFLAGS = $(CPPFLAGS) /DOLE_SERVER /DINPLACE_SVR ! 149: APP_OBJS = precomp.obj main.obj memmgr.obj status.obj frametls.obj \ ! 150: dialogs.obj debug.obj \ ! 151: outlapp.obj outldoc.obj heading.obj \ ! 152: outllist.obj outlline.obj outltxtl.obj \ ! 153: outlntbl.obj outlname.obj \ ! 154: oleapp.obj oledoc.obj classfac.obj debug2.obj \ ! 155: dragdrop.obj clipbrd.obj linking.obj \ ! 156: svrbase.obj svrpsobj.obj svrinpl.obj ! 157: !else ! 158: APP_OBJS = precomp.obj main.obj memmgr.obj status.obj frametls.obj \ ! 159: dialogs.obj debug.obj \ ! 160: outlapp.obj outldoc.obj heading.obj \ ! 161: outllist.obj outlline.obj outltxtl.obj debug2.obj \ ! 162: outlntbl.obj outlname.obj ! 163: ! 164: !endif ! 165: !endif ! 166: !endif ! 167: !endif ! 168: ! 169: ! 170: ########################################################################## ! 171: # ! 172: # overall goal; cd to build dir; build application; return to src dir ! 173: # ! 174: goal: cd_build $(APP).exe ! 175: ! 176: cd_build: ! 177: cd $(BUILD_DIR) ! 178: set INCLUDE=$(OLE2_H);$(INCLUDE) ! 179: set LIB=$(OLE2_LIB);$(LIB) ! 180: set cl=$(CPPFLAGS) ! 181: ! 182: ! 183: ########################################################################## ! 184: # ! 185: # create precomiled header ! 186: # ! 187: precomp.pch precomp.obj : $(SRC_DIR)/precomp.c $(COMMONINCL) ! 188: @echo Precompiling outline.h ... ! 189: $(CPP) -c -Ycoutline.h -Fpprecomp.pch -Foprecomp $(SRC_DIR)\precomp.c ! 190: ! 191: ########################################################################## ! 192: # ! 193: # link/res commands ! 194: ! 195: $(APP).exe: $(APP_OBJS) $(SRC_DIR)\$(APP).def $(APP).res precomp.pch ! 196: @echo Linking $@... ! 197: !if "$(OLEBUILD)" == "NT" ! 198: cvtres -$(MACHINE) $(APP).res -o $(APP).rs ! 199: link32 $(LINKFLAGS) -entry:WinMainCRTStartup $(APP_OBJS) $(APP).rs -out:$@ -map:$*.map $(LIBS) ! 200: !else ! 201: link $(LINKFLAGS) @<<$(APP).lnk ! 202: $(APP_OBJS: = +^ ! 203: ) ! 204: $@, ! 205: $(APP).map /MAP:FULL /LINE, ! 206: $(LIBS), ! 207: $(DEVROOT_DIR)\outline\$(APP).def ! 208: <<KEEP ! 209: mapsym $(APP).map ! 210: @echo Adding resources to $@... ! 211: rc -k -t -i$(SRC_DIR) $(RCFLAGS) $*.res $@ ! 212: @echo Packing symbols for $@... ! 213: !if "$(DONTUSE_CVPACK)"=="" ! 214: cvpack $@ ! 215: !endif ! 216: !endif ! 217: ! 218: $(APP).res: $(SRC_DIR)\$(APP).rc $(SRC_DIR)/outlrc.h $(SRC_DIR)/cntrrc.h \ ! 219: $(SRC_DIR)\dialogs.dlg $(SRC_DIR)/debug.rc ! 220: @echo Compiling resources... ! 221: !if "$(OLEBUILD)" == "NT" ! 222: rc -r -DWIN32 -i$(SRC_DIR) $(RCFLAGS) -fo$@ $(SRC_DIR)\$(APP).rc ! 223: !else ! 224: rc -r -i$(SRC_DIR) $(RCFLAGS) -fo$@ $? ! 225: !endif ! 226: ! 227: ! 228: ########################################################################## ! 229: # ! 230: # build rules for src directory ! 231: # ! 232: ! 233: {$(SRC_DIR)}.c{}.obj: ! 234: @echo Compiling $<... ! 235: $(CPP) $(CPPFLAGS) $(PCHFLAGS) /c $< ! 236: ! 237: ! 238: ########################################################################## ! 239: # ! 240: # clean (erase) generated files ! 241: ! 242: clean: ! 243: -del $(BUILD_DIR)\*.obj ! 244: -del $(BUILD_DIR)\$(APP).res ! 245: -del $(BUILD_DIR)\$(APP).exe ! 246: -del $(BUILD_DIR)\$(APP).sym ! 247: -del $(BUILD_DIR)\$(APP).map ! 248: -del $(BUILD_DIR)\$(APP).lnk ! 249: ! 250: ! 251: ! 252: ######################################################### ! 253: # Dependencies ! 254: ######################################################### ! 255: ! 256: main.obj : $(COMMONINCL) ! 257: $(CPP) $(CPPFLAGS) /c $(SRC_DIR)/main.c ! 258: ! 259: outlapp.obj : $(COMMONINCL) ! 260: ! 261: outldoc.obj : $(COMMONINCL) ! 262: ! 263: outllist.obj : $(COMMONINCL) ! 264: ! 265: outlline.obj : $(COMMONINCL) ! 266: ! 267: outltxtl.obj : $(COMMONINCL) ! 268: ! 269: outlntbl.obj : $(COMMONINCL) ! 270: ! 271: outlname.obj : $(COMMONINCL) ! 272: ! 273: classfac.obj : $(COMMONINCL) ! 274: ! 275: oleapp.obj : $(COMMONINCL) ! 276: ! 277: oledoc.obj : $(COMMONINCL) ! 278: ! 279: dragdrop.obj : $(COMMONINCL) ! 280: ! 281: clipbrd.obj : $(COMMONINCL) ! 282: ! 283: linking.obj : $(COMMONINCL) ! 284: ! 285: cntrbase.obj : $(COMMONINCL) ! 286: ! 287: cntrline.obj : $(COMMONINCL) ! 288: ! 289: cntrinpl.obj : $(COMMONINCL) ! 290: ! 291: svrpsobj.obj : $(COMMONINCL) ! 292: ! 293: svrinpl.obj : $(COMMONINCL) ! 294: ! 295: svrbase.obj : $(COMMONINCL) ! 296: ! 297: status.obj : $(COMMONINCL) $(SRC_DIR)/message.h $(SRC_DIR)/status.h ! 298: ! 299: memmgr.obj : ! 300: $(CPP) $(CPPFLAGS) /c $(SRC_DIR)/memmgr.c ! 301: ! 302: frametls.obj : $(COMMONINCL) $(OLE2_H)/ole2ui.h ! 303: ! 304: heading.obj : $(COMMONINCL) ! 305: ! 306: dialogs.obj : $(COMMONINCL) ! 307: ! 308: debug.obj : $(COMMONINCL) $(OLE2_H)/msgfiltr.h ! 309: ! 310: debug2.obj : $(COMMONINCL)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.