makefile 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. #
  2. # Makefile for FedSrv.exe
  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: // order of arguments is not relevent
  11. #
  12. # Clean // will delete all files in destination dir
  13. # Full // will Clean, then build all derived files
  14. # Shell // opens os-specific cmd/command shell (helps to debug build)
  15. # RETAIL= // builds a retail build (default is DEBUG)
  16. # // no argument is used for debug builds
  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. # use _BCHK=1 if you want to do a boundschecker build.
  25. # note: you must have BC already installed locally and define BCBINDIR to
  26. # point to the directory where nmcl.exe and nmlink.exe reside. You
  27. # can use the BCOPTS variable to add options to the BC compile.
  28. SRCROOT=FedSrv
  29. !if defined(ALLSRV_STANDALONE)
  30. STANDALONEDEFS=/D "ALLSRV_STANDALONE"
  31. DESTROOT=AllSrv32
  32. MAINTARGROOT=AllSrv32
  33. !if !defined(retail) && !defined(sretail) && !defined(ALLSRV_INVISIBLE)
  34. SUBSYSTEM=CONSOLE
  35. STANDALONEDEFS=$(STANDALONEDEFS) /D "_CONSOLE"
  36. !else
  37. SUBSYSTEM=WINDOWS
  38. !endif
  39. !else
  40. STANDALONEDEFS=/D "_CONSOLE"
  41. DESTROOT=FedSrv
  42. MAINTARGROOT=AllSrv
  43. SUBSYSTEM=CONSOLE
  44. !endif
  45. LARGSLOCAL=/ENTRY:mainCRTStartup \
  46. /delayload:netapi32.dll \
  47. /delayload:advapi32.dll
  48. MAINTARGEXT=exe
  49. CARGSLOCAL=/D"FEDSRV" /D _WIN32_WINNT=0x0400 $(STANDALONEDEFS) /D AGC_HOST
  50. INCLUDELOCAL=$(FEDSRC)\ZLib;$(FEDSRC)\_Utility;$(FEDSRC)\Igc;$(DESTDIR)\..\igc;$(FEDSRC)\inc\*.h;$(FEDROOT)\extern\vc\atl\inc;$(FEDSRC)\AGC;$(DESTDIR);$(FEDROOT)\Objs\$(FLAVOR)\AGC;$(FEDSRC)\Test\Inc;$(FEDSRC)\lobby
  51. PCHROOT=pch
  52. PCHINC=$(FEDSRC)\ZLib\*.h $(FEDSRC)\_Utility\*.h $(FEDSRC)\Igc\*.h $(FEDSRC)\inc\*.h $(FEDSRC)\Zone\*.h $(FEDSRC)\lobby\messagesAll.h $(FEDSRC)\lobby\messagesLS.h
  53. MSGFILE=FedMsg
  54. SPLITSYMBOLS=1
  55. IDLTARGS= $(DESTDIR)\AllSrvModuleIDL.h \
  56. $(DESTDIR)\AllSrvModuleIDL.tlb
  57. !include "..\makefile.inc"
  58. RARGS = /l 0x409 /d"FEDSRV" $(RARGSFLAVOR)
  59. OBJSCNST= $(DESTDIR)\FedSrv.obj \
  60. # $(DESTDIR)\SrvDbg.obj \
  61. $(DESTDIR)\SqlHelp.obj \
  62. $(DESTDIR)\SWMRG.obj \
  63. $(DESTDIR)\BitArray.obj \
  64. # $(DESTDIR)\config.obj \
  65. $(DESTDIR)\fsship.obj \
  66. $(DESTDIR)\fsmission.obj \
  67. $(DESTDIR)\fsside.obj \
  68. $(DESTDIR)\fscluster.obj \
  69. $(DESTDIR)\AdminGame.obj \
  70. $(DESTDIR)\AdminGames.obj \
  71. $(DESTDIR)\AdminServer.obj \
  72. $(DESTDIR)\AdminUser.obj \
  73. $(DESTDIR)\AdminUsers.obj \
  74. $(DESTDIR)\AdminSession.obj \
  75. $(DESTDIR)\AdminSessionClass.obj \
  76. $(DESTDIR)\AdminSessionEventSink.obj \
  77. $(DESTDIR)\AdminEventLoggerHook.obj \
  78. $(DESTDIR)\AdminShip.obj \
  79. $(DESTDIR)\AllSrvModule.obj \
  80. $(DESTDIR)\fslobby.obj \
  81. $(DESTDIR)\srvqguids.obj
  82. OBJS=$(OBJSCNST) $(OBJSFLAVOR)
  83. USERLIBS= \
  84. $(DESTDIR)\..\_utility\Utility.lib \
  85. $(DESTDIR)\..\zlib\zlib.lib \
  86. $(DESTDIR)\..\igc\igc.lib \
  87. $(DESTDIR)\..\sharemem\sharemem.lib \
  88. $(DESTDIR)\..\test\TCLib\TCLib.lib \
  89. $(DESTDIR)\..\agc\AGCGuid.lib
  90. RESFILE= $(DESTDIR)\FedSrv.res
  91. $(DESTDIR)\AGC.DLL: $(FEDROOT)\objs\$(FLAVOR)\AGC\AGC.DLL
  92. copy $(FEDROOT)\objs\$(FLAVOR)\AGC\AGC.DLL $(DESTDIR)
  93. AGC.tlb: $(FEDROOT)\Objs\$(FLAVOR)\AGC\AGC.tlb
  94. @echo Copying AGC.tlb to local directory
  95. @copy $(FEDROOT)\Objs\$(FLAVOR)\AGC\AGC.tlb .
  96. $(DESTDIR)\AllSrvModuleIDL.h \
  97. $(DESTDIR)\AllSrvModuleIDL.tlb : AGC.tlb AllSrvModuleIDL.idl ..\inc\AGCIDL.idl
  98. $(MIDL) $(MIDLARGS) .\AllSrvModuleIDL.idl 2>NUL
  99. OTHEREXEDEPS= $(DESTDIR)\AGC.DLL
  100. !include "../makeexe.inc"
  101. $(PCHFILE) : $(MSGFILE)
  102. $(DESTDIR)\FedSrv.obj : $(PCHFILE) queries.h
  103. #$(DESTDIR)\SrvDbg.obj : $(PCHFILE)
  104. $(DESTDIR)\SqlHelp.obj : $(PCHFILE)
  105. $(DESTDIR)\SWMRG.obj : $(PCHFILE)
  106. $(DESTDIR)\BitArray.obj : $(PCHFILE)
  107. #$(DESTDIR)\config.obj : $(PCHFILE)
  108. $(DESTDIR)\fsship.obj : $(PCHFILE)
  109. $(DESTDIR)\fsmission.obj : $(PCHFILE)
  110. $(DESTDIR)\fsside.obj : $(PCHFILE)
  111. $(DESTDIR)\fscluster.obj : $(PCHFILE)
  112. $(DESTDIR)\AdminGame.obj : $(PCHFILE)
  113. $(DESTDIR)\AdminGames.obj : $(PCHFILE)
  114. $(DESTDIR)\AdminServer.obj : $(PCHFILE)
  115. $(DESTDIR)\AdminSession.obj : $(PCHFILE)
  116. $(DESTDIR)\AdminSessionClass.obj : $(PCHFILE)
  117. $(DESTDIR)\AdminSessionEventSink.obj : $(PCHFILE)
  118. $(DESTDIR)\AdminEventLoggerHook.obj : $(PCHFILE)
  119. $(DESTDIR)\AdminUser.obj : $(PCHFILE)
  120. $(DESTDIR)\AdminUsers.obj : $(PCHFILE)
  121. $(DESTDIR)\AdminShip.obj : $(PCHFILE)
  122. $(DESTDIR)\AllSrvModule.obj : $(PCHFILE)
  123. $(DESTDIR)\fslobby.obj : $(PCHFILE)
  124. $(DESTDIR)\srvqguids.obj : $(PCHFILE)
  125. $(RESFILE): $(DESTDIR)\FedMsg.rc $(FEDSRC)\Inc\VerRes.rc fedsrv.rc $(DESTDIR)\AllSrvModuleIDL.tlb
  126. @copy fedsrv.rc $(DESTDIR)\$(MAINTARGROOT).rc
  127. @type $(DESTDIR)\FedMsg.rc >>$(DESTDIR)\$(MAINTARGROOT).rc
  128. @echo #define FLAVOR "$(FLAVOR)" >>$(DESTDIR)\$(MAINTARGROOT).rc
  129. @type $(FEDSRC)\Inc\VerRes.rc >>$(DESTDIR)\$(MAINTARGROOT).rc
  130. @$(RC) $(RARGS) $(STANDALONEDEFS) /Fo$(RESFILE) $(DESTDIR)\$(MAINTARGROOT).rc
  131. #.cpp{$(DESTDIR)}.obj:
  132. # $(CC) $(CARGS) $(SRCDIR)\$(@B).cpp