makefile 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #############################################################################
  2. #
  3. # Makefile for CliConfig.exe
  4. #
  5. # Environment variable Requirements:
  6. #
  7. # INCLUDE=foo // can be set to anything, must be set
  8. # PATH= // must have proper nmake on path
  9. # FEDROOT=<path> // MUST point to base of fed src enlistment
  10. # BCBINDIR=<path> // optional, unless using BCHK=
  11. # TTBINDIR=<path> // optional, unless using TRUETIME=
  12. #
  13. # nmake args:
  14. #
  15. # Clean // will delete all files in destination dir
  16. # Full // will Clean, then build all derived files
  17. # debug= // builds a debug build (default)
  18. # retail= // builds a retail build
  19. # test= // retail but with the _DEBUG preprocessor symbol defined
  20. # // NOT valid in combination with BCHK=, TRUETIME=, or ICAP=
  21. # VER= // must have this argument, \\msr\federation\builds\$(VER) is created/needed
  22. # BCHK= // if you want to do a boundschecker build.
  23. # note: you must have BC already installed locally and define BCBINDIR to
  24. # point to the directory where nmcl.exe and nmlink.exe reside.
  25. # You can use the BCOPTS variable to add options to the BC compile.
  26. # TRUETIME= // if you want to instrument the build using Numega TrueTime
  27. # note: you must have TrueTime already installed locally and define TTBINDIR to
  28. # point to the directory where the TrueTime nmcl.exe and nmlink.exe reside.
  29. # You can use the TTOPTS variable to add options to the TT compile.
  30. # VERBOSE= // if you want verbose build mode. (default is non-verbose)
  31. #
  32. # All derived files (temp files, .res, output of midl, *.obj, *.exe/.dll...
  33. # are placed directly into the appropriate tree under $(FEDROOT)\Objs.
  34. #
  35. # The $(FEDROOT)\Objs tree is created on demand.
  36. # Since no derived files are placed in the source tree, multiple builds
  37. # can be run SIMULTANEOUSLY.
  38. #
  39. #############################################################################
  40. # Environment Variables
  41. #
  42. MAINTARGROOT=CliConfig
  43. MAINTARGEXT=exe
  44. INCLUDELOCAL=$(FEDEXT)\vc\mfc\inc;$(DESTDIR)
  45. PCHROOT=stdafx
  46. PCHINC=
  47. PCHINCLOCAL=$(PCHROOT).h ..\zlib\zreg.h
  48. PROJCLEAN=ProjectClean
  49. CARGSLOCAL=/D"CLICONFIG" /D _WIN32_WINNT=0x0400
  50. #############################################################################
  51. # Rules
  52. #
  53. !include "..\makefile.inc"
  54. #############################################################################
  55. # Build Targets
  56. #
  57. RARGS = /l 0x409 /d"CLICONFIG" $(RARGSFLAVOR)
  58. OBJS= $(DESTDIR)\CliConfig.obj \
  59. $(DESTDIR)\cdate.obj \
  60. $(DESTDIR)\CliConfigSheet.obj \
  61. $(DESTDIR)\PropGeneral.obj \
  62. $(DESTDIR)\PropSound.obj \
  63. $(DESTDIR)\PropZoneLaunch.obj \
  64. $(DESTDIR)\ShowConfigDlg.obj \
  65. $(DESTDIR)\VerInfo.obj
  66. LIBS= $(MFCLIBSFLAVOR) $(LIBSFLAVOR) \
  67. kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \
  68. advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib winmm.lib \
  69. version.lib netapi32.lib urlmon.lib delayimp.lib ws2_32.lib dplayx.lib
  70. USERLIBS=
  71. RESFILE= $(DESTDIR)\CliConfig.res
  72. LARGS=/LIBPATH:$(DXROOT)\lib \
  73. /LIBPATH:$(FEDEXT)\Vc\lib \
  74. /LIBPATH:$(FEDEXT)\Vc\mfc\lib \
  75. /OUT:$(MAINTARGFULLPATH) /SUBSYSTEM:WINDOWS \
  76. $(LARGSFLAVOR) /PDB:$(PDB) $(NOLOGO) \
  77. /MACHINE:I386
  78. #############################################################################
  79. #
  80. # Dependencies
  81. #
  82. $(MAINTARGFULLPATH): $(DESTDIR) $(MSGFILE) $(OBJS) $(RESFILE) $(USERLIBS)
  83. $(LINK) $(LARGS) $(OBJS) $(RESFILE) $(LIBS) $(USERLIBS) $(DESTDIR)\$(PCHROOT).obj
  84. $(MAPSYM) -o $(DESTDIR)\$(MAINTARGROOT).sym $(DESTDIR)\$(MAINTARGROOT).map
  85. !ifdef browse
  86. $(BSCTARG) : $(DESTDIR)\*.sbr
  87. @echo Creating browse info file ($(MAINTARGROOT).bsc)...
  88. $(BSCMAKE) /nologo /Iu /o$(BSCTARG) $(DESTDIR)\*.sbr
  89. !endif
  90. $(PROJCLEAN):
  91. $(REMDIR) $(DESTDIR)
  92. $(DESTDIR)\CliConfig.obj : $(PCHFILE)
  93. $(DESTDIR)\cdate.obj : $(PCHFILE)
  94. $(DESTDIR)\CliConfigSheet.obj : $(PCHFILE)
  95. $(DESTDIR)\PropGeneral.obj : $(PCHFILE)
  96. $(DESTDIR)\PropSound.obj : $(PCHFILE)
  97. $(DESTDIR)\PropZoneLaunch.obj : $(PCHFILE)
  98. $(DESTDIR)\VerInfo.obj : $(PCHFILE)
  99. $(RESFILE): $(FEDSRC)\Inc\VerRes.rc $(MAINTARGROOT).rc
  100. @echo Compiling Resources...
  101. @copy $(MAINTARGROOT).rc $(DESTDIR)
  102. @echo #define FLAVOR "$(FLAVOR)" >>$(DESTDIR)\$(MAINTARGROOT).rc
  103. @type $(FEDSRC)\Inc\VerRes.rc >>$(DESTDIR)\$(MAINTARGROOT).rc
  104. $(RC) $(RARGS) /Fo$(DESTDIR)\$(MAINTARGROOT).res $(DESTDIR)\$(MAINTARGROOT).rc