FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Dobbs M-Dev
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
March 01, 1998

Control How COM Marshals Your Data

(Page 19 of 20)
March 1998/Control How COM Marshals Your Data/Listing 7

Listing 7: makefile — Project makefile

CPPFLAGS= /D_WINDOWS /W3 /GX /GD /MT /DWIN32 /D_WIN32_DCOM /DSTRICT
DLLCPPFLAGS=/D_WINDOWS /W3 /GX /GD /DWIN32 /D_WINDLL
LINKFLAGS = -subsystem:windows -incremental:yes
CONSOLEFLAGS=/subsystem:console
GUIFLAGS=/subsystem:windows4.0
GUILIBS=user32.lib gdi32.lib
DLLLIBS=msvcrt.lib rpcrt4.lib advapi32.lib ole32.lib oldnames.lib
DLLFLAGS=-dll

!if "$(DEBUG)" != "0"
CPPFLAGS=$(CPPFLAGS) /D_DEBUG /Od /Zi
LINKFLAGS=$(LINKFLAGS) -debug:full
LIBS=ole32.lib uuid.lib user32.lib advapi32.lib
!else
CPPFLAGS=$(CPPFLAGS) /DNDEBUG /O2
LINKFLAGS=$(LINKFLAGS) -debug:none
LIBS=ole32.lib uuid.lib user32.lib advapi32.lib
!endif

all: client.exe server.exe sobj.dll

dlldata.c:
   midl sobj.idl
.cpp.obj:
   $(CPP) $(CPPFLAGS) /c $<
.c.obj:
   $(CPP) $(CPPFLAGS) /c $<

# How to build the client
client.exe: client.obj
        link $(LINKFLAGS) $(CONSOLEFLAGS) -out:client.exe @<<
client.obj
$(LIBS)
<<

# How to build the server
server.exe: server.obj register.obj
        link $(LINKFLAGS) $(CONSOLEFLAGS) -out:server.exe @<<
server.obj
register.obj
$(LIBS)
<<

# How to build the proxy/stub DLL
sobj.dll: dlldata.obj sobj_i.obj sobj_p.obj marshal.obj
      link /DEF:sobj.def $(LINKFLAGS) $(DLLFLAGS) -out:sobj.dll @<<
marshal.obj
dlldata.obj
sobj_i.obj
sobj_p.obj
$(DLLLIBS)
<<

# Dependencies
client.obj:   marsamp.h client.cpp
server.obj:   marsamp.h server.cpp
register.obj: marsamp.h register.c
dlldata.obj:  dlldata.c
sobj_p.obj:   sobj_p.c
sobj_i.obj:   sobj_i.c
marshal.obj:  marshal.c
Previous Page | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 Next Page
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK