############################################################################# # # Makefile for all major Federation Components # # Environment variable Requirements: # # INCLUDE=foo // can be set to anything, must be set # PATH= // must have proper nmake on path # FEDROOT= // MUST point to base of fed src enlistment # FEDDSN // IGCFiles: Data source name for SQL, NO DEFAULT # FEDDSNUSER // IGCFiles: User for the SQL login, NO DEFAULT # FEDDSNPW // IGCFiles: Password for the SQL login, NO DEFAULT # FEDSQLSRV // Recreate: SQL server to be passed to recreate.bat, NO DEFAULT # FEDSQLDB // Recreate: SQL database to be passed to recreate.bat, NO DEFAULT # FEDSQLPW // Recreate: SQL database password to be passed to recreate.bat, NO DEFAULT # # Environment variable options: # ALLEGIANCE_DEV // Set this variable to anything if you want to use a different registry key root from the installed builds # # nmake args: # # Clean // will delete all files in destination dir # Shell // opens os-specific cmd/command shell (helps to debug build) # debug= // builds a debug build (default) # retail= // builds a retail build # training= // builds a debug build with special testing code for training # test= // retail but with the _DEBUG preprocessor symbol defined # // NOT valid in combination with BCHK=, TRUETIME=, or ICAP= # VER= // must have this argument, \\msr\federation\builds\$(VER) is created/needed # BCHK= // if you want to do a boundschecker build. # note: you must have BC already installed locally and define BCBINDIR to # point to the directory where nmcl.exe and nmlink.exe reside. # You can use the BCOPTS variable to add options to the BC compile. # TRUETIME= // if you want to instrument the build using Numega TrueTime # note: you must have TrueTime already installed locally and define TTBINDIR to # point to the directory where the TrueTime nmcl.exe and nmlink.exe reside. # You can use the TTOPTS variable to add options to the TT compile. # VERBOSE= // if you want verbose build mode. (default is non-verbose) # DX5= // will use dx5 instead of the default, which is dx6 # DX7= // will use dx7 instead of the default, which is dx6 # copyclient= // will copy the client (EACH AND EVERY FLAVOR BUILT) to the artwork directory. # This is so that developers can easily a client on a second machine and automatically get updates # # command line arguments to cut a release: # # 1: use ver= commandline argument # 2: use retail= if you want to do a retail build # 3: no targets will get you all exe's/dll's and setup files (exes target) # 4: use CopySrc if you want to copy the sources # 5: use CopyArt if you want to copy the art from \\fedsrv\wwwroot\artwork\256 # 6: use Exes target to get exes with any of the above # ############################################################################# !ifdef DREAMCAST !if defined(retail) RETAILNMAKEARGS=retail=$(RETAIL) OBJSDIR=dreamcast !else RETAILNMAKEARGS= OBJSDIR=dreamcastd !endif !else !if defined(sretail) RETAILNMAKEARGS=sretail=$(RETAIL) OBJSDIR=sretail !elseif defined(stest) RETAILNMAKEARGS=stest= OBJSDIR=stest !elseif defined(sdebug) RETAILNMAKEARGS=sdebug= OBJSDIR=sdebug !elseif defined(retail) RETAILNMAKEARGS=retail=$(RETAIL) OBJSDIR=retail !elseif defined(test) RETAILNMAKEARGS=test= OBJSDIR=test !elseif defined(training) RETAILNMAKEARGS=training= OBJSDIR=debug !elseif defined(icap) RETAILNMAKEARGS=icap= OBJSDIR=icap !elseif defined(prefix) RETAILNMAKEARGS=prefix= OBJSDIR=prefix !else RETAILNMAKEARGS= OBJSDIR=debug !endif !endif !if defined(BCHK) NUMEGANMAKEARGS=BCHK=$(BCHK) !else if defined(TRUETIME) NUMEGANMAKEARGS=TRUETIME=$(TRUETIME) !else NUMEGANMAKEARGS= !endif !if defined(VER) VERNMAKEARGS=VER=$(VER) !else VERNMAKEARGS= !endif !if defined(copyclient) COPYCLIENT=copyclient !else COPYCLIENT= !endif !if defined(VERBOSE) VERBOSEAT=@ VERBOSENMAKEARGS=VERBOSE=$(VERBOSE) !else VERBOSEAT= VERBOSENMAKEARGS= !endif RECURSNMAKEARGS=$(RETAILNMAKEARGS) $(NUMEGANMAKEARGS) $(VERNMAKEARGS) $(VERBOSENMAKEARGS) !if defined(USERNAME) !if "$(USERNAME)"=="a-markcu" USERNAME=markcu !endif RECURSNMAKEARGS=$(RECURSNMAKEARGS) USERNAME=$(USERNAME) !endif !if defined(WIN95) RECURSNMAKEARGS=$(RECURSNMAKEARGS) WIN95=$(WIN95) !endif !if defined(VERBOSE) NMAKE=nmake !else NMAKE=@nmake /NOLOGO /S /C !endif ############################################################################# # # Include system path macros # ############################################################################# !include "path.mak" ############################################################################# # # All: Build all of the components of one flavor. # ############################################################################# All: Client AllGuardApp Server Server32 AllSrvUI32App Lobby Club AutoUpdateApp Test ############################################################################# # # Clean: Deletes all of the output of a flavor. # ############################################################################# Clean: $(FEDROOT)\src\tools\bin32\delnode -q $(FEDROOT)\Objs\$(OBJSDIR) ############################################################################# # # **** Is this ever used by anyone? **** # ############################################################################# Shell: $(OSCMDSHELL) ############################################################################# # # Full: Clean builds a flavor. # ############################################################################# Full: Clean All ############################################################################# # # Both: clean builds both flavors # ############################################################################# Both: $(NMAKE) Clean $(NMAKE) Clean retail= $(NMAKE) $(NMAKE) retail= TrainingBoth: $(NMAKE) Clean training= $(NMAKE) Clean retail= $(NMAKE) training= $(NMAKE) retail= CleanAllFlavors: $(NMAKE) Clean $(NMAKE) Clean retail= $(NMAKE) Clean test= $(NMAKE) Clean sretail= AllFlavors: $(NMAKE) $(NMAKE) retail= $(NMAKE) test= ClientAllFlavors: $(NMAKE) Client $(NMAKE) Client retail= $(NMAKE) Client test= ############################################################################# # # Daily: The daily build # ############################################################################# Daily: DailyNoArt Art DailyNoArt: AllFlavors ReadMe $(NMAKE) sretail= AllGuardApp ############################################################################# # # Mikeke: Builds everything but igcfiles test # ############################################################################# mikeke: client server lobby art browse ############################################################################# # # parisman: Builds everything but igcfiles test # ############################################################################# parisman: client server lobby art browse ############################################################################# # # BrettonW: build stuff I care about # ############################################################################# BrettonW: Client AllSrvUI32App art ############################################################################# # # dpugh: Builds everything but igcfiles and test (same as mikeke) # ############################################################################# dpugh: client server lobby art browse ############################################################################# # # kendrics: Builds everything but igcfiles and test # ############################################################################# kendrics: client server club lobby art browse ############################################################################# # # Recreate: recreate the database from .dat files # ############################################################################# !if "$(FEDSQLSRV)" != "" OPT_FEDSQLSRV=/S $(FEDSQLSRV) !else OPT_FEDSQLSRV= !endif !if "$(FEDSQLDB)" != "" OPT_FEDSQLDB=/D $(FEDSQLDB) !else OPT_FEDSQLDB= !endif !if "$(FEDSQLPW)" != "" OPT_FEDSQLPW=/P $(FEDSQLPW) !else OPT_FEDSQLPW= !endif Recreate: @echo @echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ @echo \\ @echo \\ Recreating Database @echo \\ @echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ $(VERBOSEAT)cd $(FEDROOT)\src\database $(VERBOSEAT).\recreate.bat $(OPT_FEDSQLSRV) $(OPT_FEDSQLDB) $(OPT_FEDSQLPW) $(VERBOSEAT)cd .. ############################################################################# # # IGCFiles: builds data files used as the IGC database. Note that server # should be configured before this is attempted # ############################################################################# IGCFiles: Server @echo @echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ @echo \\ @echo \\ Building IGC Files @echo \\ @echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ $(VERBOSEAT)$(FEDROOT)\objs\$(OBJSDIR)\FedSrv\allsrv.exe /encryptigcfiles $(FEDROOT)\objs\artwork /SQLSrc=$(FEDDSN) /SQLUser=$(FEDDSNUSER) /SQLPW=$(FEDDSNPW) ############################################################################# # # Browse: builds a browse file for everything but fedsrv and test. # ############################################################################# BSCDIR=$(FEDROOT)\objs\$(OBJSDIR) BSC=$(BSCDIR)\wintrek\Allegiance.bsc BSCFILES= \ $(BSCDIR)\wintrek\*.sbr \ $(BSCDIR)\zlib\*.sbr \ $(BSCDIR)\_utility\*.sbr \ $(BSCDIR)\soundengine\*.sbr \ $(BSCDIR)\engine\*.sbr \ $(BSCDIR)\effect\*.sbr \ $(BSCDIR)\igc\*.sbr \ $(BSCDIR)\clintlib\*.sbr \ $(BSCDIR)\training\*.sbr \ # $(BSCDIR)\fedsrv\*.sbr \ $(BSCDIR)\mdledit\*.sbr \ $(BSCDIR)\mdlc\*.sbr #Server Browse: Client MDLEdit MDLC @echo Building $(MAINTARGROOT).bsc $(FEDROOT)\extern\vc\bin\bscmake /nologo /Iu /o$(BSCDIR)\wintrek\Allegiance.bsc $(BSCFILES) ############################################################################# # # ZLibrary: a general-purpose windows library # ZLibrary_Full: cleans all dependencies and builds ZLibrary # ############################################################################# ZLibrary: @cd zlib $(NMAKE) $(RECURSNMAKEARGS) @cd .. ZLibrary_Clean: @cd zlib $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. ZLibrary_Full: ZLibrary_Clean ZLibrary ############################################################################# # # Utility: Helper stuff # ############################################################################# Utility: ZLibrary FedGuids @cd _utility $(NMAKE) $(RECURSNMAKEARGS) @cd .. Utility_Clean: @cd _utility $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Utility_Full: Utility_Clean Utility ############################################################################# # # FedGuids: All Guids used by the product # ############################################################################# FedGuids: @cd Guids # @echo $(RECURSNMAKEARGS) $(NMAKE) $(RECURSNMAKEARGS) @cd .. FedGuids_Clean: @cd Guids $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. FedGuids_Full: FedGuids_Clean FedGuids ############################################################################# # # MDLHeaders: Generates c++ header files from MDL source # ############################################################################# MDLHeaders: MDLC @cd artwork\256 $(NMAKE) -f mdlheader.mak $(RECURSNMAKEARGS) @cd ..\.. ############################################################################# # # Igc: Internet Game Core # ############################################################################# Igc: Utility MDLHeaders @cd Igc $(NMAKE) $(RECURSNMAKEARGS) @cd .. Igc_Clean: @cd Igc $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Igc_Full: Igc_Clean Igc ############################################################################# # # Dreamcast: Engine components for the Sega Dreamcast # ############################################################################# Dreamcast: ZLibrary !ifdef DREAMCAST @cd dreamcast $(NMAKE) $(RECURSNMAKEARGS) @cd .. !endif Dreamcast_Clean: !ifdef DREAMCAST @cd dreamcast $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. !endif Dreamcast_Full: Dreamcast_Clean Dreamcast ############################################################################# # # Effect: Engine/effect components library # ############################################################################# Effect: Engine @cd Effect $(NMAKE) $(RECURSNMAKEARGS) @cd .. Effect_Clean: @cd Effect $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Effect_Full: Effect_Clean Effect ############################################################################# # # Engine: Engine components library # ############################################################################# Engine: Dreamcast FedGuids @cd engine $(NMAKE) $(RECURSNMAKEARGS) @cd .. Engine_Clean: @cd engine $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Engine_Full: Engine_Clean Engine ############################################################################# # # Common: stuff both client and server need # ############################################################################# Common: Igc Common_Clean: Igc_Clean Common_Full: Common_Clean Common ############################################################################# # # Training: builds the offline training library. # ############################################################################# Training: Common @cd Training $(NMAKE) $(RECURSNMAKEARGS) @cd .. Training_Clean: @cd Training $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Training_Full: Training_Clean Training ############################################################################# # # Clintlib: builds the shared client library. # ############################################################################# Clintlib: Igc FedGuids @cd clintlib $(NMAKE) $(RECURSNMAKEARGS) @cd .. Clintlib_Clean: @cd clintlib $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Clintlib_Full: Clintlib_Clean Clintlib ############################################################################# # # ReloaderAPP: builds the client's Reloader app # ############################################################################# Reloader: ClintLib @cd Reloader $(NMAKE) $(RECURSNMAKEARGS) @cd .. Reloader_Clean: @cd Reloader $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Reloader_Full: Reloader_Clean Reloader ############################################################################# # # Client: builds everything but fedsrv and test # ############################################################################# Client: Common Effect Clintlib Training SoundEngineLib Reloader Server32 @cd wintrek $(NMAKE) $(COPYCLIENT) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # ICaped exes # ############################################################################# ICapMDLEdit: MDLEdit @set IPIgnoreCVError=1 @cd ..\objs\icap\mdledit ..\..\..\extern\icecap4\icepick mdledit.exe @cd ..\..\..\src ICapClient: Client @set IPIgnoreCVError=1 @cd ..\objs\icap\wintrek ..\..\..\extern\icecap4\icepick allegiance.exe @cd ..\..\..\src ############################################################################# # # SoundEngineLib: builds the sound engine component # ############################################################################# SoundEngineLib: ZLibrary @cd SoundEngine $(NMAKE) $(RECURSNMAKEARGS) @cd .. SoundEngineLib_Clean: @cd SoundEngine $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. SoundEngineLib_Full: SoundEngineLib_Clean SoundEngineLib ############################################################################# # # SoundTst: builds soundtest # ############################################################################# SoundTst: SoundEngineLib @cd soundtest $(NMAKE) $(RECURSNMAKEARGS) @cd .. SoundTst_Clean: @cd soundtest $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. SoundTst_Full: SoundTst_Clean SoundTst ############################################################################# # # AGC: builds the Active Game Core DLL # ############################################################################# AGC: TCLib Igc @cd AGC # $(NMAKE) BuildAndReg $(RECURSNMAKEARGS) $(NMAKE) $(RECURSNMAKEARGS) @cd .. AGC_Clean: @cd AGC $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. AGC_Full: AGC_Clean AGC ############################################################################# # # CliConfigApp: builds the server configuration utility. # ############################################################################# CliConfigApp: @cd CliConfig $(NMAKE) $(RECURSNMAKEARGS) @cd .. CliConfigApp_Clean: @cd CliConfig $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. CliConfigApp_Full: CliConfigApp_Clean CliConfigApp ############################################################################# # # SrvConfigApp: builds the server configuration utility. # ############################################################################# SrvConfigApp: AGC AllSrvExe @cd srvconfig $(NMAKE) $(RECURSNMAKEARGS) @cd .. SrvConfigApp_Clean: @cd srvconfig $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. SrvConfigApp_Full: SrvConfigApp_Clean SrvConfigApp ############################################################################# # # SrvConfig32App: builds the server configuration utility. # ############################################################################# SrvConfig32App: AGC AllSrv32Exe @cd SrvConfig $(NMAKE) $(RECURSNMAKEARGS) ALLSRV_STANDALONE= @cd .. SrvConfig32App_Clean: @cd SrvConfig $(NMAKE) clean $(RECURSNMAKEARGS) ALLSRV_STANDALONE= @cd .. SrvConfigApp32_Full: SrvConfigApp32_Clean SrvConfigApp32 ############################################################################# # # AutoUpdateApp: builds the AutoUpdate utility. # ############################################################################ AutoUpdateApp: Clintlib @cd AutoUpdate $(NMAKE) $(RECURSNMAKEARGS) @cd .. AutoUpdateApp_Clean: @cd AutoUpdate $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. AutoUpdateApp_Full: AutoUpdateApp_Clean AutoUpdateApp ############################################################################# # # AllSrvUIApp: builds the server configuration utility. # ############################################################################# AllSrvUIApp: AGC AllSrvExe @cd AllSrvUI $(NMAKE) $(RECURSNMAKEARGS) @cd .. AllSrvUIApp_Clean: @cd AllSrvUI $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. AllSrvUIApp_Full: AllSrvUIApp_Clean AllSrvUIApp ############################################################################# # # AllSrvUI32App: builds the server configuration utility. # ############################################################################# AllSrvUI32App: AGC AllSrv32Exe @cd AllSrvUI $(NMAKE) $(RECURSNMAKEARGS) ALLSRV_STANDALONE= @cd .. AllSrvUI32App_Clean: @cd AllSrvUI $(NMAKE) clean $(RECURSNMAKEARGS) ALLSRV_STANDALONE= @cd .. AllSrvUIApp32_Full: AllSrvUIApp32_Clean AllSrvUIApp32 ############################################################################# # # ShareMemLib: builds the shared memory library. # ############################################################################# ShareMemLib: @cd sharemem $(NMAKE) $(RECURSNMAKEARGS) @cd .. ShareMemLib_Clean: @cd sharemem $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. ShareMemLib_Full: ShareMemLib_Clean ShareMemLib ############################################################################# # # FedPerfDll: builds the performance monitor DLL. # ############################################################################# FedPerfDll: ShareMemLib @cd fedperf $(NMAKE) $(RECURSNMAKEARGS) @cd .. FedPerfDll_Clean: @cd fedperf $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. FedPerfDll_Full: FedPerfDll_Clean FedPerfDll ############################################################################# # # SentinalExe: builds the server sentinal application. # ############################################################################# SentinalExe: ZLibrary Utility IGC @cd sentinal $(NMAKE) $(RECURSNMAKEARGS) @cd .. SentinalExe_Clean: @cd sentinal $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. SentinalExe_Full: SentinalExe_Clean SentinalExe ############################################################################# # # AllSrvExe: builds the Allegiance game server application. # ############################################################################# AllSrvExe: AGC Common FedPerfDll @cd fedsrv $(NMAKE) $(RECURSNMAKEARGS) @cd .. AllSrvExe_Clean: @cd fedsrv $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. AllSrvExe_Full: AllSrvExe_Clean AllSrvExe ############################################################################# # # AllSrv32Exe: builds the Allegiance (stand-alone) game server application. # ############################################################################# AllSrv32Exe: AGC Common FedPerfDll @cd fedsrv $(NMAKE) $(RECURSNMAKEARGS) ALLSRV_STANDALONE= @cd .. AllSrv32Exe_Clean: @cd fedsrv $(NMAKE) clean $(RECURSNMAKEARGS) ALLSRV_STANDALONE= @cd .. AllSrv32Exe_Full: AllSrv32Exe_Clean AllSrv32Exe ############################################################################# # # Server: builds everything but client and test. # ############################################################################# Server: SrvConfigApp CliConfigApp SentinalExe AllSrvExe Server_Clean: AGC Common FedPerfDll SrvConfigApp_Clean CliConfigApp_Clean SentinalExe_Clean Server_Full: Server_Clean Server ############################################################################# # # Server32: builds everything but client and test (for stand-alone server). # ############################################################################# Server32: SrvConfig32App AllSrv32Exe Server32_Clean: AGC Common FedPerfDll SrvConfig32App_Clean Server32_Full: Server32_Clean Server32 ############################################################################# # # Lobby: builds Lobby. # ############################################################################# Lobby: ShareMemLib Utility @cd Lobby $(NMAKE) $(RECURSNMAKEARGS) @cd .. Lobby_Clean: @cd Lobby $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Lobby_Full: Lobby_Clean Lobby ############################################################################# # # Club: builds Zone Club server. # ############################################################################# Club: ShareMemLib Utility @cd Club $(NMAKE) $(RECURSNMAKEARGS) @cd .. Club_Clean: @cd Club $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. Club_Full: Club_Clean Club ############################################################################# # # MSRGuardApp: builds the MSRGuard crash guard utility. # ############################################################################# MSRGuardApp: ZLib TCLib @cd MSRGuard $(NMAKE) $(RECURSNMAKEARGS) @cd .. MSRGuardApp_Clean: @cd MSRGuard $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. MSRGuardApp_Full: MSRGuardApp_Clean MSRGuardApp ############################################################################# # # AllGuardApp: builds the AllGuard crash guard utility. # ############################################################################# AllGuardApp: MSRGuardApp @cd AllGuard $(NMAKE) $(RECURSNMAKEARGS) @cd .. AllGuardApp_Clean: @cd AllGuard $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. AllGuardApp_Full: AllGuardApp_Clean AllGuardApp ############################################################################# # # SymGuard: builds the Crash Guard symbol resoltion component DLL # ############################################################################# SymGuard: TCLib @cd SymGuard $(NMAKE) $(RECURSNMAKEARGS) @cd .. SymGuard_Clean: @cd SymGuard $(NMAKE) clean $(RECURSNMAKEARGS) @cd .. SymGuard_Full: SymGuard_Clean SymGuard ############################################################################# # # Art: builds the art # ############################################################################# ArtBin: ConvexHull MDLC MDLEdit XMunger Redbook: @cd artwork\redbook -if not exist $(FEDROOT)\Objs\Redbook md $(FEDROOT)\Objs\Redbook @xcopy /D /Y tracks.lst $(FEDROOT)\Objs\Redbook @attrib -r $(FEDROOT)\Objs\Redbook\*.lst @xcopy /D /Y *.wav $(FEDROOT)\Objs\Redbook @attrib -r $(FEDROOT)\Objs\Redbook\*.wav @cd ..\.. Art: ArtBin Redbook @cd artwork\256 $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. TrainingArt: ArtBin @cd artwork\training $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. SoundPac1: ArtBin @cd artwork\soundpac1 $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. DevPlayExtras: TrainingArt SoundPac1 @echo . @echo \\\\\\\\\\\\\\\\\\\\\\\\\\ @echo \\ @echo \\ Copying extra files @echo \\ @echo \\\\\\\\\\\\\\\\\\\\\\\\\\ @xcopy /Y /D $(FEDROOT)\Objs\TrainingArt\*.* $(FEDROOT)\Objs\Artwork @xcopy /Y /D $(FEDROOT)\Objs\soundpac1\*.* $(FEDROOT)\Objs\Artwork ############################################################################# # # Fonts: builds the fonts # ############################################################################# Fonts: @cd artwork\256 $(NMAKE) Fonts $(RECURSNMAKEARGS) @cd ..\.. ############################################################################# # # Filelist: creates the filelist.txt file # ############################################################################# Filelist: -if not exist $(FEDROOT)\Objs\Filelist md $(FEDROOT)\Objs\Filelist -if exist $(FEDROOT)\objs\filelist\filelistfull.txt erase $(FEDROOT)\objs\filelist\filelistfull.txt # Directory Change @cd $(FEDROOT)\objs\retail\wintrek @copy allegiance.exe $(FEDROOT)\objs\artwork\allegianceretail.exe # Directory Change @cd $(FEDROOT)\objs\retail\cliconfig @echo This is not an exe. >$(FEDROOT)\objs\artwork\cliconfig.exe # Directory Change @cd $(FEDROOT)\objs\retail\reloader @copy reloader.exe $(FEDROOT)\objs\artwork\reloader.exe # Directory Change @cd "$(FEDROOT)\build\IS\Allegiance\Setup Files\Uncompressed Files\Disk1" @copy readme.txt $(FEDROOT)\objs\artwork\readme.txt # Directory Change @cd $(FEDROOT)\src\setup @copy ebueula.dll $(FEDROOT)\objs\artwork\ebueula.dll @copy allbad.dll $(FEDROOT)\objs\artwork\allbad.dll @copy machine.exe $(FEDROOT)\objs\artwork\machine.exe @copy machine.ini $(FEDROOT)\objs\artwork\machine.ini @copy dbghelp.dll $(FEDROOT)\objs\artwork\dbghelp.dll # Directory Change @cd $(FEDROOT)\objs\sretail\AllGuard @copy AllGuard.exe $(FEDROOT)\objs\artwork\AllGuard.exe # Make the filelist @$(FEDROOT)\src\tools\build\makefilelist.exe $(FEDROOT)\objs\artwork $(FEDROOT)\objs\filelist\filelistfull.txt # erase the files that reloader knows about--these don't ultimately belong in the artwork folder @erase $(FEDROOT)\objs\artwork\allegianceretail.exe @erase $(FEDROOT)\objs\artwork\cliconfig.exe @erase $(FEDROOT)\objs\artwork\reloader.exe @erase $(FEDROOT)\objs\artwork\readme.txt # DON'T erase the following files! # These stay in the artwork directory so that Setup puts them in the artwork folder # @erase $(FEDROOT)\objs\artwork\ebueula.dll # @erase $(FEDROOT)\objs\artwork\allbad.dll # @erase $(FEDROOT)\objs\artwork\machine.exe # @erase $(FEDROOT)\objs\artwork\machine.ini # @erase $(FEDROOT)\objs\artwork\dbghelp.dll # @erase $(FEDROOT)\objs\artwork\AllGuard.exe ############################################################################# # # FilelistS: creates the filelist.txt file # ############################################################################# FilelistS: -if not exist $(FEDROOT)\Objs\FilelistS md $(FEDROOT)\Objs\FilelistS -if exist $(FEDROOT)\objs\filelistS\filelistfull.txt erase $(FEDROOT)\objs\filelistS\filelistfull.txt -if not exist $(FEDROOT)\Objs\ArtworkS md $(FEDROOT)\Objs\ArtworkS -@erase /Q $(FEDROOT)\Objs\ArtworkS\*.* -@copy $(FEDROOT)\Objs\Artwork\*.cvh $(FEDROOT)\Objs\ArtworkS -@copy $(FEDROOT)\Objs\Artwork\*.igc $(FEDROOT)\Objs\ArtworkS # -@copy $(FEDROOT)\extern\dpmono\*.* $(FEDROOT)\Objs\ArtworkS # Directory Change @cd $(FEDROOT)\objs\retail\AGC @copy AGC.dll $(FEDROOT)\objs\artworkS\agcretail.dll # Directory Change @cd $(FEDROOT)\objs\retail\allsrv32 @copy allsrv32.exe $(FEDROOT)\objs\artworkS\allsrv32retail.exe # Directory Change @cd $(FEDROOT)\objs\retail\allsrvui32 @copy allsrvui32.exe $(FEDROOT)\objs\artworkS\allsrvui32retail.exe # Directory Change @cd $(FEDROOT)\objs\retail\srvconfig32 @copy srvconfig32.exe $(FEDROOT)\objs\artworkS\srvconfig32retail.exe # Directory Change @cd $(FEDROOT)\src\setup @copy ebueula.dll $(FEDROOT)\objs\artworkS\ebueula.dll # Directory Change @cd $(FEDROOT)\objs\retail\AutoUpdate @copy AutoUpdate.exe $(FEDROOT)\objs\artworkS\AutoUpdate.exe # Make the filelist @$(FEDROOT)\src\tools\build\makefilelist.exe $(FEDROOT)\objs\artworkS $(FEDROOT)\objs\filelistS\filelistfull.txt -@rd $(FEDROOT)\Objs\ArtworkS ############################################################################# # # ArtComp: compresses the already-built art # ############################################################################# # # The way this works: First, we make sure the client is built. Then we # build the artwork which places all the built art into the \objs\artwork # folder. Next, we need three folders: a) artworkc, which contains the # uncompressed artwork that will get included with the client installshield # setup program; b) artworkcs, which contains the uncompressed artwork that # will get included with the standalone server installshield setup; and # c) artworkc2, which contains the compressed client and standalone server # artwork that will go into a cab and ultimately will get put on a web # server for both clients and standalone servers to update themselves from. # The artworkc2 folder needs \client and \standalone folders that hold their # respective filelist.txt files. Since they both have to be named # filelist.txt, they can't live in the same folder out on the web server. # ArtComp: ClientAllFlavors Art ReadMe Filelist FilelistS -if not exist $(FEDROOT)\Objs\ArtworkC md $(FEDROOT)\Objs\ArtworkC # the files currently in the artwork folder all get compressed into the # artworkc folder. # Directory Change @cd $(FEDROOT)\objs\artwork $(FEDROOT)\build\compress -d *.* $(FEDROOT)\objs\ArtworkC -@for %%i in (*.*) do @$(FEDROOT)\src\tools\build\isbigger.exe "%%i" "$(FEDROOT)\objs\artworkc\%%i" && copy "%%i" "$(FEDROOT)\objs\artworkc\%%i" # Directory Change @cd $(FEDROOT)\objs\artworkS $(FEDROOT)\build\compress -d *.dll $(FEDROOT)\objs\ArtworkC -@for %%i in (*.dll) do @$(FEDROOT)\src\tools\build\isbigger.exe "%%i" "$(FEDROOT)\objs\artworkc\%%i" && copy "%%i" "$(FEDROOT)\objs\artworkc\%%i" # compress the client filelist, but we don't actually use it because # build.vbs comes along and replaces it with the incremental filelist later. # Directory Change @cd $(FEDROOT)\objs\filelist -if not exist $(FEDROOT)\Objs\ArtworkC\Client md $(FEDROOT)\Objs\ArtworkC\Client $(FEDROOT)\build\compress -d $(FEDROOT)\objs\filelist\filelistfull.txt $(FEDROOT)\objs\ArtworkC\Client\filelist.txt -@($(FEDROOT)\src\tools\build\isbigger.exe "filelistfull.txt" "$(FEDROOT)\objs\artworkc\client\filelist.txt" && @copy "filelistfull.txt" "$(FEDROOT)\objs\artworkc\client\filelist.txt") # Directory Change @cd $(FEDROOT)\objs\retail\wintrek $(FEDROOT)\build\compress -d allegiance.exe $(FEDROOT)\objs\ArtworkC\allegianceretail.exe -@($(FEDROOT)\src\tools\build\isbigger.exe "allegiance.exe" "$(FEDROOT)\objs\artworkc\allegianceretail.exe" && @copy "allegiance.exe" "$(FEDROOT)\objs\artworkc\allegianceretail.exe") # Directory Change @cd $(FEDROOT)\objs\retail\cliconfig @echo This is not an exe. >$(FEDROOT)\objs\retail\cliconfig\cliconfigfake.exe $(FEDROOT)\build\compress -d cliconfigfake.exe $(FEDROOT)\objs\ArtworkC\cliconfig.exe -@($(FEDROOT)\src\tools\build\isbigger.exe "cliconfigfake.exe" "$(FEDROOT)\objs\artworkc\cliconfig.exe" && @copy "cliconfigfake.exe" "$(FEDROOT)\objs\artworkc\cliconfig.exe") # Directory Change @cd $(FEDROOT)\objs\retail\reloader $(FEDROOT)\build\compress -d reloader.exe $(FEDROOT)\objs\ArtworkC\reloader.exe -@($(FEDROOT)\src\tools\build\isbigger.exe "reloader.exe" "$(FEDROOT)\objs\artworkc\reloader.exe" && @copy "reloader.exe" "$(FEDROOT)\objs\artworkc\reloader.exe") # Directory Change @cd "$(FEDROOT)\build\IS\Allegiance\Setup Files\Uncompressed Files\Disk1" $(FEDROOT)\build\compress -d readme.txt $(FEDROOT)\objs\ArtworkC\readme.txt -@($(FEDROOT)\src\tools\build\isbigger.exe "readme.txt" "$(FEDROOT)\objs\artworkc\readme.txt" && @copy "readme.txt" "$(FEDROOT)\objs\artworkc\readme.txt") # Directory Change @cd $(FEDROOT)\src\setup $(FEDROOT)\build\compress -d ebueula.dll $(FEDROOT)\objs\ArtworkC\ebueula.dll -@($(FEDROOT)\src\tools\build\isbigger.exe "ebueula.dll" "$(FEDROOT)\objs\artworkc\ebueula.dll" && @copy "ebueula.dll" "$(FEDROOT)\objs\artworkc\ebueula.dll") $(FEDROOT)\build\compress -d allbad.dll $(FEDROOT)\objs\ArtworkC\allbad.dll -@($(FEDROOT)\src\tools\build\isbigger.exe "allbad.dll" "$(FEDROOT)\objs\artworkc\allbad.dll" && @copy "allbad.dll" "$(FEDROOT)\objs\artworkc\allbad.dll") $(FEDROOT)\build\compress -d machine.exe $(FEDROOT)\objs\ArtworkC\machine.exe -@($(FEDROOT)\src\tools\build\isbigger.exe "machine.exe" "$(FEDROOT)\objs\artworkc\machine.exe" && @copy "machine.exe" "$(FEDROOT)\objs\artworkc\machine.exe") $(FEDROOT)\build\compress -d machine.ini $(FEDROOT)\objs\ArtworkC\machine.ini -@($(FEDROOT)\src\tools\build\isbigger.exe "machine.ini" "$(FEDROOT)\objs\artworkc\machine.ini" && @copy "machine.ini" "$(FEDROOT)\objs\artworkc\machine.ini") $(FEDROOT)\build\compress -d dbghelp.dll $(FEDROOT)\objs\ArtworkC\dbghelp.dll -@($(FEDROOT)\src\tools\build\isbigger.exe "dbghelp.dll" "$(FEDROOT)\objs\artworkc\dbghelp.dll" && @copy "dbghelp.dll" "$(FEDROOT)\objs\artworkc\dbghelp.dll") # Directory Change @cd $(FEDROOT)\Objs\sretail\AllGuard $(FEDROOT)\build\compress -d AllGuard.exe $(FEDROOT)\objs\ArtworkC\AllGuard.exe -@($(FEDROOT)\src\tools\build\isbigger.exe "AllGuard.exe" "$(FEDROOT)\objs\artworkc\AllGuard.exe" && @copy "AllGuard.exe" "$(FEDROOT)\objs\artworkc\AllGuard.exe") # compress the standalone server filelist, but we don't actually use it because # build.vbs comes along and replaces it with the incremental filelist later. # Directory Change @cd $(FEDROOT)\objs\filelists -if not exist $(FEDROOT)\Objs\ArtworkC\Standalone md $(FEDROOT)\Objs\ArtworkC\Standalone $(FEDROOT)\build\compress -d filelistfull.txt $(FEDROOT)\objs\ArtworkC\standalone\filelist.txt -@($(FEDROOT)\src\tools\build\isbigger.exe "filelistfull.txt" "$(FEDROOT)\objs\artworkc\standalone\filelist.txt" && @copy "filelistfull.txt" "$(FEDROOT)\objs\artworkc\standalone\filelist.txt") # Directory Change @cd $(FEDROOT)\objs\retail\agc $(FEDROOT)\build\compress -d agc.dll $(FEDROOT)\objs\ArtworkC\agcretail.dll -@($(FEDROOT)\src\tools\build\isbigger.exe "agc.dll" "$(FEDROOT)\objs\artworkc\agcretail.dll" && @copy "agc.dll" "$(FEDROOT)\objs\artworkc\agcretail.dll") # Directory Change @cd $(FEDROOT)\objs\retail\allsrv32 $(FEDROOT)\build\compress -d allsrv32.exe $(FEDROOT)\objs\ArtworkC\allsrv32retail.exe -@($(FEDROOT)\src\tools\build\isbigger.exe "allsrv32.exe" "$(FEDROOT)\objs\artworkc\allsrv32retail.exe" && @copy "allsrv32.exe" "$(FEDROOT)\objs\artworkc\allsrv32retail.exe") # Directory Change @cd $(FEDROOT)\objs\retail\allsrvui32 $(FEDROOT)\build\compress -d allsrvui32.exe $(FEDROOT)\objs\ArtworkC\allsrvui32retail.exe -@($(FEDROOT)\src\tools\build\isbigger.exe "allsrvui32.exe" "$(FEDROOT)\objs\artworkc\allsrvui32retail.exe" && @copy "allsrvui32.exe" "$(FEDROOT)\objs\artworkc\allsrvui32retail.exe") # Directory Change @cd $(FEDROOT)\objs\retail\srvconfig32 $(FEDROOT)\build\compress -d srvconfig32.exe $(FEDROOT)\objs\ArtworkC\srvconfig32retail.exe -@($(FEDROOT)\src\tools\build\isbigger.exe "srvconfig32.exe" "$(FEDROOT)\objs\artworkc\srvconfig32retail.exe" && @copy "srvconfig32.exe" "$(FEDROOT)\objs\artworkc\srvconfig32retail.exe") # Directory Change - NOTE: Intentionally NOT compressing AutoUpdate.exe @cd $(FEDROOT)\objs\retail\autoupdate -@copy "autoupdate.exe" "$(FEDROOT)\objs\artworkc\autoupdate.exe" # Directory Change @cd $(FEDROOT) ############################################################################# # # build mdl art files # ############################################################################# artmdl: MDLC @cd artwork\256 $(NMAKE) $(RECURSNMAKEARGS) mdls @cd ..\.. ############################################################################# # # build bmps # ############################################################################# artbmp: MDLC @cd artwork\256 $(NMAKE) $(RECURSNMAKEARGS) bmps @cd ..\.. ############################################################################# # # Quick Art: does a quick build of the art # i.e. it just copies files # ############################################################################# QuickArt: MDLC @cd artwork\256 $(NMAKE) $(RECURSNMAKEARGS) quick @cd ..\.. ############################################################################# # # CleanArt: Deletes all art output files # ############################################################################# CleanArt: $(FEDROOT)\src\tools\bin32\delnode -q $(FEDROOT)\Objs\Artwork $(FEDROOT)\src\tools\bin32\delnode -q $(FEDROOT)\Objs\TrainingArt $(FEDROOT)\src\tools\bin32\delnode -q $(FEDROOT)\Objs\SoundPac1 $(FEDROOT)\src\tools\bin32\delnode -q $(FEDROOT)\Objs\artbuild ############################################################################# # # XMunge: builds XMunge # ############################################################################# XMunger: Engine @cd xmunge $(NMAKE) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # Patch: builds Patch # ############################################################################# Patch: FedGuids ZLibrary @cd patch $(NMAKE) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # cvh: builds cvh # ############################################################################# ConvexHull: FedGuids @cd cvh $(NMAKE) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # MDLC: builds MDLC # ############################################################################# MDLC: Effect @cd mdlc $(NMAKE) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # MDLEdit: builds MDLEdit # ############################################################################# MDLEdit: Effect @cd mdledit $(NMAKE) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # ME: builds me.exe # ############################################################################# ME: Engine @cd me $(NMAKE) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # TCLib: builds Test Common library # ############################################################################# TCLib: ZLibrary @cd test\TCLib $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. TCLib_Clean: @cd test\TCLib $(NMAKE) clean $(RECURSNMAKEARGS) @cd ..\.. TCLib_Full: TCLib_Clean TCLib ############################################################################# # # PigsLib: builds Pigs COM object client DLL # ############################################################################# PigsLib: ClintLib TCLib AGC @cd test\PigsLib # $(NMAKE) BuildAndReg $(RECURSNMAKEARGS) $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. PigsLib_Clean: @cd test\PigsLib $(NMAKE) clean $(RECURSNMAKEARGS) @cd ..\.. PigsLib_Full: PigsLib_Clean PigsLib ############################################################################# # # PigGUID: builds the GUID library for Pigs COM object client DLL # ############################################################################# PigGUID: PigsLib @cd test\PigGUID $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. PigGUID_Clean: @cd test\PigGUID $(NMAKE) clean $(RECURSNMAKEARGS) @cd ..\.. PigGUID_Full: PigGUID_Clean PigGUID ############################################################################# # # PigAccts: builds Pigs Accounts COM object server EXE # ############################################################################# PigAccts: TCLib AGC PigsLib PigGUID @cd test\PigAccts # $(NMAKE) BuildAndReg $(RECURSNMAKEARGS) $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. PigAccts_Clean: @cd test\PigAccts $(NMAKE) clean $(RECURSNMAKEARGS) @cd ..\.. PigAccts_Full: PigAccts_Clean PigAccts ############################################################################# # # PigSrv: builds Pigs COM object server EXE # ############################################################################# PigSrv: Clintlib TCLib AGC PigsLib PigGUID @cd test\PigSrv # $(NMAKE) BuildAndReg $(RECURSNMAKEARGS) $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. PigSrv_Clean: @cd test\PigSrv $(NMAKE) clean $(RECURSNMAKEARGS) @cd ..\.. PigSrv_Full: PigSrv_Clean PigSrv ############################################################################# # # PigConfig: builds Pig Server Configuration Utility EXE # ############################################################################# PigConfig: ZLib TCLib AGC PigsLib PigGUID @cd test\PigConfig $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. PigConfig_Clean: @cd test\PigConfig $(NMAKE) clean $(RECURSNMAKEARGS) @cd ..\.. PigConfig_Full: PigConfig_Clean PigConfig ############################################################################# # # Pigs: builds the entire Pigs system # Pigs_Full: cleans all dependencies and builds Pigs # ############################################################################# Pigs: PigAccts PigSrv ############################################################################# # # Test: builds everything in test. # Test_Full: cleans all dependencies and builds Test # ############################################################################# Test: Common Clintlib Pigs @cd techtree $(NMAKE) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # TCDeploy: builds Test Deployment COM object DLL # TCDeploy_Full: cleans all dependencies and builds TCDeploy # TCDeploy_Export: exports the Test Deployment COM object DLL to the network # # Note that these are NOT included in the Test target, since it is not part # of the normal build process. # ############################################################################# TCDeploy: TCLib ZLibrary @cd test\TCDeploy $(NMAKE) $(RECURSNMAKEARGS) @cd ..\.. TCDeploy_Clean: @cd test\TCDeploy $(NMAKE) clean $(RECURSNMAKEARGS) @cd ..\.. TCDeploy_Full: TCDeploy_Clean TCDeploy TCDeploy_Export: TCDeploy @cd test\TCDeploy $(NMAKE) export $(RECURSNMAKEARGS) @cd ..\.. ############################################################################# # # Cadet: builds Cadet # ############################################################################# Cadet: Common Effect @cd cadet $(NMAKE) $(RECURSNMAKEARGS) @cd .. ############################################################################# # # Component Object registration/unregistration targets: # # RegAGC : Registers AGC # UnregAGC : Unregisters AGC # RegPigsLib : Registers PigsLib # UnregPigsLib : Unregisters PigsLib # RegPigSrv : Registers PigSrv # UnregPigSrv : Unregisters PigSrv # RegPigAccts : Registers PigAccts # UnregPigAccts: Unregisters PigAccts # RegPigs : Registers PigSrv and PigAccts # UnregPigs : Unregisters PigSrv and PigAccts # # The RegPigSrv, RegPigAccts, and RegPigs targets all make use of the # following defines to register the corresponding COM server(s) to run under # the user account specified: # # user=[domain\] // user account name with optional domain # // Can also be "Interactive User" # pw=[pw] // password for the specified user account # // Must be empty or not specified if # // "Interactive User" is specifed for user= # # If these are not specified, "Interactive User" is used. # ############################################################################# RegAGC: @cd AGC $(NMAKE) RegServer $(RECURSNMAKEARGS) @cd .. UnregAGC: @cd AGC $(NMAKE) UnregServer $(RECURSNMAKEARGS) @cd .. RegPigsLib: RegAGC @cd test\PigsLib $(NMAKE) RegServer $(RECURSNMAKEARGS) @cd ..\.. UnregPigsLib: @cd test\PigsLib $(NMAKE) UnregServer $(RECURSNMAKEARGS) @cd ..\.. RegPigSrv: RegPigsLib @cd test\PigSrv $(NMAKE) RegServer $(RECURSNMAKEARGS) @cd ..\.. UnregPigSrv: @cd test\PigSrv $(NMAKE) UnregServer $(RECURSNMAKEARGS) @cd ..\.. RegPigAccts: RegPigsLib @cd test\PigAccts $(NMAKE) RegServer $(RECURSNMAKEARGS) @cd ..\.. UnregPigAccts: @cd test\PigAccts $(NMAKE) UnregServer $(RECURSNMAKEARGS) @cd ..\.. RegPigs: RegPigSrv RegPigAccts UnregPigs: UnregPigAccts UnregPigSrv ############################################################################# # # ReadMe.txt file version and date stamping. # ############################################################################# # Warning: before reenabling this, talk to someone about the allguard crash it # will cause for people running 1881 who auto updated from 1876 # marksn,3/16/2000: reenabling this for pre-gold build 2011 because we don't # care about pre-1881 people anymore. :) ReadMe: @cscript.exe ..\build\VerDateStamp.js ^"$(FEDROOT)\doc\pm\ReadMe.txt^" ^"$(FEDROOT)\build\IS\Allegiance\Setup Files\Uncompressed Files\Disk1\ReadMe.txt^" $(VER)