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 / peer.xp / makefile < prev    next >
Makefile  |  1996-03-27  |  2KB  |  79 lines

  1. # Makefile to build the MAPI Sample Transport 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)\peer.xp^\
  20. COMMON = $(MAPISAMP)\common^\
  21. rcvars = $(rcvars) /I$(HOME)
  22. !ELSE
  23. HOME   = 
  24. COMMON = ..\common^\
  25. !ENDIF
  26.  
  27. PROJ     = SMPXP32
  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
  37.  
  38. # Object files we need to build
  39.  
  40. OBJS =  XPBASE.OBJ XPDIALOG.OBJ XPGUID.OBJ XPLOGGER.OBJ XPOPTION.OBJ \
  41.     XPQUEUE.OBJ XPRCVMSG.OBJ XPSNDMSG.OBJ XPSOF.OBJ XPSTATUS.OBJ
  42. COMMON_OBJS = 
  43. !IFNDEF NODEBUG
  44. COMMON_OBJS = $(COMMON_OBJS) mapidbg.obj
  45. !ENDIF
  46.  
  47. # Build the object files
  48.  
  49. {$(HOME)}.c.obj:
  50.   $(cc) /I$(COMMON) $(cdebug) $(cflags) $(cvarsmt) $**
  51.  
  52. mapidbg.obj: $(COMMON)mapidbg.c
  53.   $(cc) /I$(COMMON) $(cdebug) $(cflags) $(cvarsmt) $**
  54.  
  55. # Build the resources
  56.  
  57. $(PROJ).res: $(HOME)XPRESRC.RC $(HOME)XPRESRC.DLG
  58.   $(rc) /I$(COMMON) $(rcflags) $(rcvars) /fo $(PROJ).res $(HOME)XPRESRC.RC
  59.  
  60. # Link it together to make the executable image
  61.  
  62. $(PROJ).dll: $(OBJS) $(COMMON_OBJS) $(PROJ).res
  63.   $(link) $(linkdebug) $(lflags) -dll -subsystem:windows,$(APPVER) $(OBJS) \
  64.   $(COMMON_OBJS) $(PROJ).res $(extralibs) $(guilibsmt) \
  65.   -def:$(HOME)$(PROJ).def -out:$(PROJ).dll -base:@$(BASEFILE),$(PROJ)
  66. !IFDEF MAPISAMP
  67.   -copy $@ $(MAPISAMP)\bin\$(PLATFORM)
  68. !ENDIF
  69.  
  70. # Clean up the intermediate files
  71.  
  72. clean:
  73.   -del *.obj
  74.   -del *.res 
  75.   -del *.lib 
  76.   -del *.dll 
  77.   -del *.exp
  78.  
  79.