home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / dbmsg / mapi / docfile.ms / makefile < prev    next >
Encoding:
Makefile  |  1996-03-27  |  2.1 KB  |  89 lines

  1. # Makefile to build the MAPI Sample Message Store Provider
  2.  
  3. # Key to CPU specific conditions, CPU == i386 || ALPHA || MIPS || PPC
  4. !IF "$(CPU)" == ""
  5. !IF "$(PROCESSOR_ARCHITECTURE)" == "MIPS" || "$(PROCESSOR_ARCHITECTURE)" == "ALPHA" || "$(PROCESSOR_ARCHITECTURE)" == "PPC"
  6. CPU = $(PROCESSOR_ARCHITECTURE)
  7. !ELSE
  8. CPU = i386
  9. !ENDIF
  10. !ENDIF
  11.  
  12. !include <win32.mak>
  13.  
  14. !IFNDEF NODEBUG
  15. cflags = $(cflags) -DDEBUG
  16. !ENDIF
  17.  
  18. !IFDEF MAPISAMP
  19. HOME   = $(MAPISAMP)\docfile.ms^\
  20. COMMON = $(MAPISAMP)\common^\
  21. rcvars = $(rcvars) /I$(HOME)
  22. !ELSE
  23. HOME   = 
  24. COMMON = ..\common^\
  25. !ENDIF
  26.  
  27. PROJ     = SMPMS32
  28. BASEFILE = $(COMMON)mapibase.txt
  29.  
  30. # Main target dependencies
  31.  
  32. all: $(PROJ).dll
  33.  
  34. # Extra libraries needed, not defined in win32.mak
  35.  
  36. extralibs = mapi32.lib ole32.lib
  37.  
  38. # Object files we need to build
  39.  
  40. OBJS = msp.obj mspatch.obj mspfld.obj mspgle.obj mspguid.obj mspinit.obj \
  41.        msplogon.obj mspmisc.obj mspms.obj mspmsg.obj mspntfy.obj mspobj.obj \
  42.        msprfs.obj msptbl.obj
  43.  
  44. COMMON_OBJS = imem.obj wrap3d.obj 
  45. !IFNDEF NODEBUG
  46. COMMON_OBJS = $(COMMON_OBJS) mapidbg.obj
  47. !ENDIF
  48.  
  49. # Build the general object files
  50.  
  51. {$(HOME)}.c.obj:
  52.   $(cc) /I$(COMMON) $(cdebug) $(cflags) $(cvarsmt) $**
  53.  
  54. # Build the specific common object files
  55.  
  56. imem.obj: $(COMMON)imem.c
  57.   $(cc) /I$(COMMON) $(cdebug) $(cflags) $(cvarsmt) $**
  58.  
  59. wrap3d.obj: $(COMMON)wrap3d.c
  60.   $(cc) /I$(COMMON) $(cdebug) $(cflags) $(cvarsmt) $**
  61.  
  62. mapidbg.obj: $(COMMON)mapidbg.c
  63.   $(cc) /I$(COMMON) $(cdebug) $(cflags) $(cvarsmt) $**
  64.  
  65. # Build the resources
  66.  
  67. $(PROJ).res: $(HOME)MSP.RC $(HOME)MSP.DLG
  68.   $(rc) /I$(COMMON) $(rcflags) $(rcvars) /fo $(PROJ).res $(HOME)MSP.RC
  69.  
  70. # Link it together to make the executable image
  71.  
  72. $(PROJ).dll: $(OBJS) $(PROJ).res $(COMMON_OBJS)
  73.   $(link) $(linkdebug) $(lflags) -dll -subsystem:windows,$(APPVER) $(OBJS) \
  74.   $(COMMON_OBJS) $(PROJ).res $(extralibs) $(guilibsmt) -def:$(HOME)$(PROJ).def \
  75.   -out:$(PROJ).dll -base:@$(BASEFILE),$(PROJ)
  76. !IFDEF MAPISAMP
  77.   -copy $@ $(MAPISAMP)\bin\$(PLATFORM)
  78. !ENDIF
  79.  
  80. # Clean up the intermediate files
  81.  
  82. clean:
  83.   -del *.obj
  84.   -del *.res 
  85.   -del *.dll 
  86.   -del *.exp 
  87.   -del *.lib
  88.  
  89.