205 lines
5.2 KiB
Text
205 lines
5.2 KiB
Text
#
|
|
# GRX 2.0 Library Makefile for Turbo C.
|
|
# Uses Turbo C Make (v3.7 worked for me)
|
|
# Make sure your shell is command.com !
|
|
#
|
|
.AUTODEPEND
|
|
|
|
!include "../makedefs.bcc"
|
|
|
|
# The library may get too complex ...
|
|
#LIBPAGE=/P32
|
|
|
|
# -w-sig : Don't warn "conversion may lose significant digits"
|
|
# -DGRX_USE_RAM3x8 : Use planed ram driver for TrueColor modes (24/32bpp)
|
|
ADDOPT = -w-sig -DGRX_USE_RAM3x8
|
|
|
|
!ifdef DEBUG
|
|
ADDOPT = -DDEBUG=$(DEBUG) $(ADDOPT)
|
|
!endif
|
|
|
|
# SMALL_STACK: Turbo-C / Borland-C++ have only a small stack.
|
|
# It's usually better to get memory from heap
|
|
# instead of alloca()-ing it from stack.
|
|
ADDOPT = -DSMALL_STACK $(ADDOPT)
|
|
|
|
GRX20ST = ..\lib\$(GRX_LIB_SUBDIR)\grx20$(MODEL).lib
|
|
# Borland make fails on long lines, build lib in stages
|
|
GRX20STa= ..\lib\$(GRX_LIB_SUBDIR)\temp1.lib
|
|
GRX20STb= ..\lib\$(GRX_LIB_SUBDIR)\temp2.lib
|
|
GRX20STc= ..\lib\$(GRX_LIB_SUBDIR)\temp3.lib
|
|
GRX20STd= ..\lib\$(GRX_LIB_SUBDIR)\temp4.lib
|
|
GRX20STe= ..\lib\$(GRX_LIB_SUBDIR)\temp5.lib
|
|
TEMP_LIB= ..\lib\$(GRX_LIB_SUBDIR)\temp?.lib
|
|
|
|
INCDIR= -I. -I./include -I../include -I$(BCCROOT)/include\
|
|
-I./vdrivers -I./bgi
|
|
LIBDIR= -L$(BCCROOT)/lib
|
|
|
|
OP=+
|
|
OX=.obj
|
|
|
|
!include "./stdobjs.mak"
|
|
|
|
!ifdef DEBUG
|
|
DBG_O = +utils\dbgprint.obj
|
|
!else
|
|
DBG_O =
|
|
!endif
|
|
|
|
BCCOBJ= +fdrivers\egavga1.obj \
|
|
+fdrivers\ega4.obj \
|
|
+fdrivers\herc1.obj \
|
|
+fdrivers\ram3x8.obj \
|
|
+fdrivers\svga16.obj \
|
|
+fdrivers\svga24.obj \
|
|
+fdrivers\svga32h.obj \
|
|
+fdrivers\svga32l.obj \
|
|
+fdrivers\svga4.obj \
|
|
+fdrivers\svga8.obj \
|
|
+fdrivers\vga8x.obj \
|
|
+mouse\dosinput.obj \
|
|
+mouse\doskeys.obj \
|
|
+misc\dosmisc.obj \
|
|
+utils\bccarith.obj \
|
|
+utils\bcccopy.obj \
|
|
+utils\bccfil08.obj \
|
|
+utils\bccfil16.obj \
|
|
+utils\bccfil24.obj \
|
|
+utils\bccfil32.obj \
|
|
+vdrivers\ati28800.obj \
|
|
+vdrivers\cl5426.obj \
|
|
+vdrivers\et4000.obj \
|
|
+vdrivers\herc.obj \
|
|
+vdrivers\mach64.obj \
|
|
+vdrivers\s3.obj \
|
|
+vdrivers\stdega.obj \
|
|
+vdrivers\stdvga.obj \
|
|
+vdrivers\u_egavga.obj \
|
|
+vdrivers\u_vesa.obj \
|
|
+vdrivers\u_vsvirt.obj \
|
|
+vdrivers\vesa.obj
|
|
|
|
|
|
# Borland make and librarian don't like very long lines ...
|
|
LOBJ1=$(STD_1:/=\) $(STD_2:/=\) $(STD_3:/=\) $(STD_4:/=\)
|
|
LOBJ2=$(STD_5:/=\) $(STD_6:/=\) $(STD_7:/=\) $(STD_8:/=\)
|
|
LOBJ3=$(STD_9:/=\) $(STD_10:/=\)
|
|
LOBJ4=$(BGI_1:/=\) $(BGI_2:/=\) $(BGI_3:/=\)
|
|
LOBJ5=$(BGI_4:/=\) $(BGI_5:/=\) $(BGI_6:/=\)
|
|
LOBJ6=$(STD_11:/=\) $(BCCOBJ) $(DBG_O)
|
|
|
|
UTILP = \
|
|
..\bin\vesaif16.exe \
|
|
..\bin\fnt2c16.exe \
|
|
..\bin\modtst16.exe \
|
|
..\bin\bin2c16.exe
|
|
|
|
all: config.bcc $(GRX20ST) $(UTILP)
|
|
|
|
clean:
|
|
if exist bgi\*.obj del bgi\*.obj
|
|
if exist draw\*.obj del draw\*.obj
|
|
if exist fdrivers\*.obj del fdrivers\*.obj
|
|
if exist fonts\*.obj del fonts\*.obj
|
|
if exist gformats\*.obj del gformats\*.obj
|
|
if exist image\*.obj del image\*.obj
|
|
if exist misc\*.obj del misc\*.obj
|
|
if exist mouse\*.obj del mouse\*.obj
|
|
if exist pattern\*.obj del pattern\*.obj
|
|
if exist setup\*.obj del setup\*.obj
|
|
if exist shape\*.obj del shape\*.obj
|
|
if exist text\*.obj del text\*.obj
|
|
if exist user\*.obj del user\*.obj
|
|
if exist utils\*.obj del utils\*.obj
|
|
if exist vdrivers\*.obj del vdrivers\*.obj
|
|
if exist wideline\*.obj del wideline\*.obj
|
|
if exist ..\addons\*.obj del ..\addons\*.obj
|
|
if exist ..\addons\print\*.obj del ..\addons\print\*.obj
|
|
if exist ..\addons\bmp\*.obj del ..\addons\bmp\*.obj
|
|
if exist config.bcc del config.bcc
|
|
if exist *.asm del *.asm
|
|
if exist *.obj del *.obj
|
|
if exist $(TEMP_LIB) del $(TEMP_LIB)
|
|
|
|
cleanall: clean
|
|
if exist $(GRX20ST) del $(GRX20ST)
|
|
if exist ..\bin\*.exe del ..\bin\*.exe
|
|
|
|
# the & tells TLIB to continue on next line
|
|
$(GRX20ST): $(GRX20STa) $(GRX20STb) $(GRX20STc) $(GRX20STd) $(GRX20STe) $(LOBJ6:+=)
|
|
if exist $(GRX20ST) del $(GRX20ST)
|
|
$(TLIB) $(LIBPAGE) /C $(GRX20ST) @&&!
|
|
+$(GRX20STa) &
|
|
+$(GRX20STb) &
|
|
+$(GRX20STc) &
|
|
+$(GRX20STd) &
|
|
+$(GRX20STe) &
|
|
$(LOBJ6)
|
|
!
|
|
|
|
$(GRX20STa): $(LOBJ1:+=)
|
|
if exist $(GRX20STa) del $(GRX20STa)
|
|
$(TLIB) $(LIBPAGE) /C $(GRX20STa) @&&!
|
|
$(LOBJ1)
|
|
!
|
|
|
|
$(GRX20STb): $(LOBJ2:+=)
|
|
if exist $(GRX20STb) del $(GRX20STb)
|
|
$(TLIB) $(LIBPAGE) /C $(GRX20STb) @&&!
|
|
$(LOBJ2)
|
|
!
|
|
|
|
$(GRX20STc): $(LOBJ3:+=)
|
|
if exist $(GRX20STc) del $(GRX20STc)
|
|
$(TLIB) $(LIBPAGE) /C $(GRX20STc) @&&!
|
|
$(LOBJ3)
|
|
!
|
|
|
|
$(GRX20STd): $(LOBJ4:+=)
|
|
if exist $(GRX20STd) del $(GRX20STd)
|
|
$(TLIB) $(LIBPAGE) /C $(GRX20STd) @&&!
|
|
$(LOBJ4)
|
|
!
|
|
|
|
$(GRX20STe): $(LOBJ5:+=)
|
|
if exist $(GRX20STe) del $(GRX20STe)
|
|
$(TLIB) $(LIBPAGE) /C $(GRX20STe) @&&!
|
|
$(LOBJ5)
|
|
!
|
|
|
|
..\bin\vesaif16.exe: utilprog\vesainfo.c $(GRX20ST) config.bcc
|
|
$(BCC) +config.bcc -e..\bin\vesaif16 @&&!
|
|
utilprog\vesainfo.c $(GRX20ST)
|
|
!
|
|
|
|
..\bin\fnt2c16.exe: utilprog\fnt2c.c $(GRX20ST) config.bcc
|
|
$(BCC) +config.bcc -e..\bin\fnt2c16 @&&!
|
|
utilprog\fnt2c.c $(GRX20ST)
|
|
!
|
|
|
|
..\bin\modtst16.exe: utilprog\modetest.c $(GRX20ST) config.bcc
|
|
$(BCC) +config.bcc -I..\test -e..\bin\modtst16 @&&!
|
|
utilprog\modetest.c $(GRX20ST)
|
|
!
|
|
|
|
..\bin\bin2c16.exe: utilprog\bin2c.c $(GRX20ST) config.bcc
|
|
$(BCC) +config.bcc -e..\bin\bin2c16 @&&!
|
|
utilprog\bin2c.c $(GRX20ST)
|
|
!
|
|
|
|
.c.obj:
|
|
$(BCC) +config.bcc -c -o$*.obj $*.c
|
|
|
|
.c.asm:
|
|
$(BCC) +config.bcc -S -o$*.asm $*.c
|
|
|
|
|
|
config.bcc: makefile.bcc ../makedefs.bcc
|
|
copy &&!
|
|
$(CCOPT) $(ADDOPT)
|
|
$(INCDIR)
|
|
$(LIBDIR)
|
|
! config.bcc
|
|
|
|
#!include "depend.bcc"
|