makeexes 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. #
  2. # Makefile for all major Federation Components
  3. #
  4. # Environment variable Requirements:
  5. #
  6. # INCLUDE=foo // can be set to anything, must be set
  7. # PATH= // must have proper nmake on path
  8. # FEDROOT=<path> // MUST point to base of fed src enlistment
  9. #
  10. # nmake args:
  11. #
  12. # Clean // will delete all files in destination dir
  13. # Shell // opens os-specific cmd/command shell (helps to debug build)
  14. # RETAIL= // builds a retail build (default is DEBUG)
  15. # // no argument is used for debug builds
  16. # VER= // must have this argument, \\msr\federation\builds\$(VER) is created/needed
  17. #
  18. #
  19. # All derived files (temp files, .res, output of midl, *.obj, *.exe/.dll...
  20. # are placed directly into the appropriate tree under $(FEDROOT)\Objs.
  21. # The $(FEDROOT)\Objs tree is created on demand.
  22. # Since no derived files are placed in the source tree, multiple builds
  23. # can be run SIMULTANEOUSLY.
  24. # command line arguments to cut a release:
  25. #
  26. # 1: use ver= commandline argument
  27. # 2: use retail= if you want to do a retail buld
  28. # 3: no targets will get you all exe's/dll's and setup files (exes target)
  29. # 4: use CopySrc if you want to copy the sources
  30. # 5: use CopyArt if you want to copy the art from \\fedsrv\wwwroot\artwork\256
  31. # 6: use Exes target to get exes with any of the above
  32. !IFNDEF VER
  33. !MESSAGE
  34. !MESSAGE ========================================
  35. !MESSAGE
  36. !MESSAGE MUST set command line argument VER=????
  37. !MESSAGE
  38. !MESSAGE ========================================
  39. !ERROR
  40. !ENDIF
  41. FEDSRC=$(FEDROOT)\src
  42. BLDDIR=\\research\root\federation\builds\$(VER)
  43. RECURSNMAKEARGS=
  44. !IFDEF retail
  45. RETAIL=Howdy Mom
  46. !ENDIF
  47. !IFDEF test
  48. TEST=Howdy Dad
  49. !endif
  50. !IFDEF RETAIL
  51. FLAVOR=Retail
  52. RECURSNMAKEARGS="retail="
  53. MSVCRTFLVR=MsvCrt
  54. !ELSE
  55. !IFDEF test
  56. FLAVOR=test
  57. MSVCRTFLVR=MsvCrtD
  58. !ELSE
  59. FLAVOR=Debug
  60. MSVCRTFLVR=MsvCrtD
  61. !ENDIF
  62. !ENDIF
  63. XCOPY_OS_ARGS=
  64. !IFDEF WINBOOTDIR
  65. OSPATHS=$(WINBOOTDIR)\system;$(WINBOOTDIR)
  66. OSCMDSHELL=command
  67. BINOS=Bin95
  68. XCOPY_OS_ARGS=
  69. !ELSE
  70. OSPATHS=$(SYSTEMROOT)\system32;$(WINDIR)
  71. OSCMDSHELL=cmd
  72. BINOS=BinNt
  73. #nt version of xcopy /Z ==> network restartable mode
  74. XCOPY_OS_ARGS=/Z
  75. !ENDIF
  76. PATH=$(FEDEXT)\vc\bin;$(OSPATHS);$(FEDEXT)\SharedIDE\Bin;$(FEDSRC)\Tools\Bin32;$(FEDSRC)\Tools\$(BINOS)
  77. NMAKE=nmake /NOLOGO /C /S
  78. # the main (default) target in all its glory
  79. Exes: $(BLDDIR) $(BLDDIR)\$(FLAVOR) Build SetupFiles
  80. copy $(FEDROOT)\Objs\$(FLAVOR)\Wintrek\Wintrek.exe $(BLDDIR)\$(FLAVOR)
  81. -copy $(FEDROOT)\Objs\$(FLAVOR)\Wintrek\Wintrek.pdb $(BLDDIR)\$(FLAVOR)
  82. -copy $(FEDROOT)\Objs\$(FLAVOR)\Wintrek\Wintrek.bsc $(BLDDIR)\$(FLAVOR)
  83. copy $(FEDROOT)\Objs\$(FLAVOR)\FedSrv\FedSrv.exe $(BLDDIR)\$(FLAVOR)
  84. -copy $(FEDROOT)\Objs\$(FLAVOR)\FedSrv\FedSrv.pdb $(BLDDIR)\$(FLAVOR)
  85. -copy $(FEDROOT)\Objs\$(FLAVOR)\FedSrv\FedSrv.bsc $(BLDDIR)\$(FLAVOR)
  86. Build:
  87. nmake $(RECURSNMAKEARGS)
  88. Full: Clean Exes
  89. CopySrc: $(BLDDIR)\Src
  90. xcopy /E /C /I /F /H /K $(XCOPY_OS_ARGS) $(FEDROOT)\Src $(BLDDIR)\Src
  91. CopyArt:
  92. md $(BDLDIR)\Src\Artwork
  93. xcopy /E /C /I /F /H /K $(XCOPY_OS_ARGS) \\research\root\federation\slm\src\federation\src\artwork\256 $(BLDDIR)\Src\Artwork\256
  94. SetupFiles:
  95. # $(OSCMDSHELL) /c $(FEDSRC)\Setup\MakeSetup $(BLDDIR)\$(FLAVOR) > $(BLDDIR)\$(FLAVOR)\Setup.bat
  96. copy $(FEDSRC)\Setup\CopyInitialArt.bat $(BLDDIR)\$(FLAVOR)
  97. copy $(FEDSRC)\Setup\msvcrt.dll $(BLDDIR)\$(FLAVOR)
  98. copy $(FEDSRC)\Setup\msvcrtd.dll $(BLDDIR)\$(FLAVOR)
  99. Clean:
  100. nmake $(RECURSNMAKEARGS) Clean
  101. md $(BLDDIR)
  102. md $(BLDDIR)\Debug
  103. md $(BLDDIR)\Retail
  104. md $(BLDDIR)\Src
  105. Shell:
  106. $(OSCMDSHELL)