# # Command & Conquer Red Alert(tm) # Copyright 2025 Electronic Arts Inc. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #**************************************************************************** # # C O N F I D E N T I A L --- W E S T W O O D S T U D I O S # #---------------------------------------------------------------------------- # # PROJECT # VPlay32 - VQA player (32-bit protected mode) # # FILE # Makefile # # PROGRAMMER # Denzil E. Long, Jr. # # DATE # February 9, 1995 # # ENVIROMENT # PRJ = Root projects path # PRJVCS = Root path for projects version control archive # BCDIR = Root Borland installation path # TNTDIR = Root Pharlap TNT-DOS Extender path # #**************************************************************************** #---------------------------------------------------------------------------- # VERIFY ENVIROMENT #---------------------------------------------------------------------------- !if !$d(PRJ) || !$d(PRJVCS) || !$d(BCDIR) || !$d(TNTDIR) !error Environment not configured. !endif .AUTODEPEND #---------------------------------------------------------------------------- # PROJECT DEPENDENT MACROS #---------------------------------------------------------------------------- PRJNAME = vplaytnt PRJDIR = $(PRJ)\VPLAY32 OBJECTS = \ obj\plyvqa32.obj \ PRJLIBS = \ vqa32bp.lib \ vqm32bp.lib \ #---------------------------------------------------------------------------- # PATH MACROS #---------------------------------------------------------------------------- !if $d(LIB) LIBPATH = $(PRJ)\LIB;$(LIB) !else LIBPATH = $(PRJ)\LIB;$(TNTDIR)\LIB;$(BCDIR)\LIB !endif !if $d(INCLUDE) INCLUDEPATH = $(PRJ)\INCLUDE;$(INCLUDE) !else INCLUDEPATH = $(PRJ)\INCLUDE;$(TNTDIR)\INCLUDE;$(BCDIR)\INCLUDE !endif .path.asm = $(PRJDIR) .path.c = $(PRJDIR) .path.cpp = $(PRJDIR) .path.h = $(PRJDIR) .path.def = $(PRJDIR) .path.exe = $(PRJDIR) .path.obj = $(PRJDIR)\OBJ .path.sym = $(PRJDIR)\OBJ .path.map = $(PRJDIR)\OBJ .path.lib = $(PRJ)\LIB #---------------------------------------------------------------------------- # TOOLS, COMMANDS AND CONFIGURATIONS #---------------------------------------------------------------------------- CC_CMD = bcc32 ASM_CMD = tasm32 LINK_CMD = tlink32 LIB_CMD = tlib TNT_CMD = cfig386 CC_CFG = bcc32.cfg ASM_CFG = tasm32.cfg LINK_CFG = tlink32.cfg LIB_CFG = tlib.cfg CFG_FILES = $(CC_CFG) $(ASM_CFG) $(LINK_CFG) $(LIB_CFG) TNT_FLAGS = -minreal 256 #---------------------------------------------------------------------------- # DEFAULT TARGET #---------------------------------------------------------------------------- all: $(PRJNAME).exe #---------------------------------------------------------------------------- # IMPLICIT RULES #---------------------------------------------------------------------------- .c.obj: $(CC_CMD) -P- -n$(.path.obj) {$< } .cpp.obj: $(CC_CMD) -P -n$(.path.obj) {$< } .asm.obj: $(ASM_CMD) @$(ASM_CFG) $<,$(.path.obj)\$& #---------------------------------------------------------------------------- # BUILD THE APPLICATION #---------------------------------------------------------------------------- $(PRJNAME).exe: $(OBJECTS) $(PRJLIBS) $(PRJNAME).def $(LINK_CMD) @&&| c0x32.obj+ $(OBJECTS) $(.path.exe)\$(PRJNAME).exe $(.path.map)\$(PRJNAME).map $(PRJLIBS)+ dos32.lib+ dosx32.lib+ errno.lib+ import32.lib+ cw32.lib $(.path.def)\$(PRJNAME).def | $(TNT_CMD) $(PRJNAME) $(TNT_FLAGS) #---------------------------------------------------------------------------- # ALL OBJECTS DEPEND ON THE CONFIGURATION FILES #---------------------------------------------------------------------------- $(OBJECTS): $(CFG_FILES) #---------------------------------------------------------------------------- # COMPILER CONFIGURATION #---------------------------------------------------------------------------- $(CC_CFG): makefile copy &&| -c -3 -d -H=$(.path.sym)\headers.sym -wpro -weas -wpre -I$(INCLUDEPATH) -DPHARLAP_TNT=1 #-v | $(CC_CFG) #---------------------------------------------------------------------------- # ASSEMBLER CONFIGURATION #---------------------------------------------------------------------------- $(ASM_CFG): makefile copy &&| /la /t /m /w+ /jJUMPS /ml /p /z /i$(PRJ)\INCLUDE /zi | $(ASM_CFG) #---------------------------------------------------------------------------- # LINKER CONFIGURATION #---------------------------------------------------------------------------- $(LINK_CFG): makefile copy &&| /c /m /Gm -L$(LIBPATH) -v | $(LINK_CFG) #---------------------------------------------------------------------------- # LIBRARIAN CONFIGURATION #---------------------------------------------------------------------------- $(LIB_CFG): makefile copy &&| /C /E | $(LIB_CFG)