⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 [随书类]Dos6.0源代码
💻
📖 第 1 页 / 共 4 页
字号:
#========================================================================
# Name: QBASIC Runtime Makefile
# Usage:
#      make -f <makefile> [TL=<tools dir>] ["IDB=-DDBG"] [bqb50.lib bqlb45.lib]
#		<makefile>	- name of the make file produced by -o from
#				  buildkit.
#		IDB=-DDBG	- specifies to build an internal debug version.
#		bqb50.lib	- DOS 3 QBASIC interpreter library
#		TL=directory	- specifies where to get the tools from
# Purpose:
#	The make file will rebuild any "out of date" objects and build
#	bqb50.lib. It utilizes the dos development utilities to accomplish this
#	task.  masm is the assembler, and lib is the librarian.  This makefile
#	is meant to be used with a Large model Xenix style Make.
#	When this build has completed, the message "Basic built"
#	will be displayed.
# Notes:
#	If a new module is added/removed, or an include file is
#	added/removed, or an include file is added/removed from a
#	module, then buildkit must be rerun on QB5.BLD.
#	QB5.BLD must also be updated in the LITERAL sections
#	to reflect the appropriate changes. There exists a batch file
#	(bldkit.bat) which will invoke buildkit with all the approprite
#	switches to generate this makefile.
#
#========================================================================

#************************************************************************
#	OBJECT FILE dictionary
#	----------------------
#	.obj	= Common object module with no DOS specific support
#	.ob3	= Dos 3 specific module
#	.or3	= Dos 3 specific module with special user library support.
#
#	NOTE: If a .obj file generates an assemble time error then this
#	can happen as the result of a EI_QB, FO_RTM, or OM_DOS5 switch
#	that has been added to the file.  At this point the file must
#	be multiply assembled.
#*************************************************************************

#*************************************************************************
# If $(IDB) is undefined (release version), use it to set WARNING LEVEL 2
#*************************************************************************

!if "$(IDB)" == ""
IDB = -W2
!endif

#*************************************************************************
#	Aliases for components of the runtime.
#*************************************************************************

#=================== MATH component ======================================

RTMATH =	fin.obj     hexoct.obj	 ifout.obj     \
		mtfloat.obj  helpi4.obj  fout.obj      \
		random.obj   ..\tl\lib3\fpreset.obj    \
		helpfp87.obj


#=================== GRAPHICS component ==================================

GRAPHICS =	grputil.obj  vwclr.obj	 grpmap.obj    \
		grcoord.obj  llagrp.obj  llcgasup.obj  \
		llegasup.obj llxgasup.obj llhgcsup.obj \
		mclprc.obj   gwpal.obj

GRAPH3 =	circle.ob3   draw.ob3	 getput.ob3    \
		grview.ob3   grline.ob3  grpoint.ob3   \
		paint.ob3    grinit.ob3  llcgrp.ob3    \
		lltext.ob3   llcga.ob3	 llega.ob3     \
		llvga.ob3    grspace.ob3 llhgc.ob3     \
		llgrstub.ob3 lloga.ob3	 grfpinit.ob3  \
		grwindow.ob3

#=================== STRING component ====================================

STRING =	mid.obj      strfcn.obj  strnum.obj    \
		string.obj   stinkey.obj stcore.obj    \
		stringfp.obj

STRING3 =	stfree.ob3

#=================== NEAR HEAP component =================================

NEARHEAP3 =	nhlhutil.ob3 nhstutil.ob3 dynamic.ob3 fhutil.obj \
		nhlhcore.ob3

#=================== OPERATING SYSTEM component ==========================

OS3 =		oscmd.ob3    osdate.ob3   osstmt.ob3  \
		ostimer.ob3

#=================== ERROR component =====================================

ERROR = 	erproc.ob3   messages.ob3 erhandlr.obj

#=================== IO components =======================================

IO =		inputf.obj   lininp.obj   tabspc.obj   \
		prtu.obj     pufout.obj   prnval.obj   \
		pr0a.obj     gwlin.obj	  out.obj      \
		dkio.ob3     gwcom.ob3	  prnvalfp.obj \

CONSOLE =	inptty.obj   gwscr.obj	  gwkey.obj    \
		gwscreen.obj keydsp.obj

DISK =		inpdsk.obj   field.obj	  rlset.obj

OTHERIO =	iolpt.obj    width.obj

GWIO =		$(IO) $(CONSOLE) $(DISK) $(OTHERIO)

GWIO3 = 	gwio.ob3     iocons.ob3   llascn.ob3   \
		llcscn.ob3   dvstmt.ob3   llcom3.ob3   \
		dkstmt.ob3   dkopen.ob3   lllpt.ob3    \
		directry.ob3 filename.ob3 dvpipe.ob3   \
		bload.ob3    iotty.ob3	  llevtstg.ob3 \
		llgrtabl.ob3 llscreen.ob3 dkutil.ob3   \
		llscnfcn.ob3

#================== EVENT component =====================================

EVENT = 	gwque.obj

EVENT3 =	gwaevt.ob3   gwcevt.ob3   llaevt.ob3   \
		llcevt.ob3   evtkey.ob3   evtpla.ob3   \
		evtuev.ob3   evtstg.ob3   evtcom.ob3   \
		evttim.ob3   evtpen.ob3

#================== SOUND component =====================================

SOUND3 =	gwplayf.ob3  gwplays.ob3  gwsound.ob3  \
		llsnd.ob3    sninit.ob3

#================== INTERNAL DEBUG component ============================

ID3 =		id_util.ob3  fhdebug.ob3 nhdebug.ob3

#================== RUNTIME CORE component ==============================

MISC =		swap.obj     read.obj	  abs.ob3

MISC3 = 	llinit.ob3   llscnio.ob3  llque.ob3    \
		peek.ob3     llparam.ob3  llkeys.ob3   \
		gwini.ob3    gwdata.ob3   clear.ob3

#================== User library Modules ================================

ULIB =		rtm86.ob3    rtmload.ob3  rttoul.obj

#================== Initialization Modules ==============================

INITS = 	dvinit.obj   dbtrace.obj  dkinit.obj

INIT3 = 	rtllinit.ob3 cninit.ob3   rtinit.ob3   \
		rtterm.ob3   osinit.ob3   fhinit.ob3   \
		nhinit.ob3   fhchn.ob3

#************************************************************************
# Library and Runtime module definitions
#************************************************************************

LIBS =		$(INITS) $(MISC) $(ERROR) $(EVENT)     \
		$(STRING) $(GRAPHICS) $(GWIO) $(RTMATH)

LIB3 =		$(INIT3) $(OS3) $(SOUND3) $(EVENT3)    \
		$(GWIO3) $(MISC3) $(ID3) $(GRAPH3)     \
		$(NEARHEAP3) $(STRING3) $(ULIB)

CLIB3  =	crt0.obj     crt0dat.obj  crt0fp.obj   \
		fmsghdr.obj  chkstk.obj   chksum.obj   \
		ovlmul.obj  \
		..\tl\lib3\afldiv.obj	..\tl\lib3\aflrem.obj  \
		..\tl\lib3\fpreset.obj

#*************************************************************************
# Generate the DOS 3 Quick BASIC interpreter libraries.
#*************************************************************************
QB5:	bqb50.lib
	@echo "QuickBASIC 5.0 runtime libraries built"

#*************************************************************************
# Generate the DOS 3 Quick BASIC 5.0 interpreter library.
#*************************************************************************
bqb50.lib: $(LIB3) $(LIBS) $(CLIB3)
	if exist bqb50.lib del bqb50.lib
	$(TL)\lib @bqb50.dat
	@echo "bqb50.lib built"

#*************************************************************************
# And now the object file dependencies!
#*************************************************************************
INCLUDE=-I..\inc -I..\crt 

dbtrace.obj:	..\rt\dbtrace.asm ..\inc\const.inc ..\inc\addr.inc \
	..\inc\event.inc ..\inc\dc.inc ..\inc\messages.inc \
	..\inc\compvect.inc ..\inc\seg.inc ..\inc\cmacros.inc \
	..\inc\rmacros.inc ..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\dbtrace.asm, dbtrace.obj;

dkinit.obj:	..\rt\dkinit.asm ..\inc\compvect.inc ..\inc\rtps.inc \
	..\inc\nhutil.inc ..\inc\files.inc ..\inc\fdb.inc \
	..\inc\pointers.inc ..\inc\sb.inc ..\inc\omega.inc ..\inc\devdef.inc \
	..\inc\baslibma.inc ..\inc\seg.inc ..\inc\cmacros.inc \
	..\inc\rmacros.inc ..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\dkinit.asm, dkinit.obj;

dvinit.obj:	..\rt\dvinit.asm ..\inc\compvect.inc ..\inc\rtps.inc \
	..\inc\const.inc ..\inc\nhutil.inc ..\inc\files.inc ..\inc\fdb.inc \
	..\inc\pointers.inc ..\inc\sb.inc ..\inc\omega.inc ..\inc\devdef.inc \
	..\inc\baslibma.inc ..\inc\seg.inc ..\inc\cmacros.inc \
	..\inc\rmacros.inc ..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\dvinit.asm, dvinit.obj;

erhandlr.obj:	..\rt\erhandlr.asm ..\inc\stack.inc \
	..\inc\messages.inc ..\inc\idmac.inc ..\inc\baslibma.inc \
	..\inc\addr.inc ..\inc\seg.inc ..\inc\cmacros.inc ..\inc\rmacros.inc \
	..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\erhandlr.asm, erhandlr.obj;

error.obj:	..\rt\error.asm ..\inc\stack.inc ..\inc\messages.inc \
	..\inc\idmac.inc ..\inc\addr.inc ..\inc\seg.inc ..\inc\cmacros.inc \
	..\inc\rmacros.inc ..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\error.asm, error.obj;

fhutil.obj:	..\rt\fhutil.asm ..\inc\idmac.inc ..\inc\array.inc \
	..\inc\seg.inc ..\inc\cmacros.inc ..\inc\rmacros.inc \
	..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\fhutil.asm, fhutil.obj;

field.obj:	..\rt\field.asm ..\inc\string.inc ..\inc\lmem.inc \
	..\inc\sb.inc ..\inc\omega.inc ..\inc\idmac.inc ..\inc\rtps.inc \
	..\inc\files.inc ..\inc\fdb.inc ..\inc\pointers.inc ..\inc\sb.inc \
	..\inc\devdef.inc ..\inc\baslibma.inc ..\inc\seg.inc \
	..\inc\cmacros.inc ..\inc\rmacros.inc ..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\field.asm, field.obj;

fin.obj:	..\rt\fin.asm ..\inc\string.inc ..\inc\lmem.inc ..\inc\sb.inc \
	..\inc\omega.inc ..\inc\idmac.inc ..\inc\const.inc ..\inc\rtps.inc \
	..\inc\baslibma.inc ..\inc\seg.inc ..\inc\cmacros.inc \
	..\inc\switch.inc ..\inc\rmacros.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\fin.asm, fin.obj;

fout.obj:	..\rt\fout.asm ..\inc\idmac.inc ..\inc\rtps.inc \
	..\inc\baslibma.inc ..\inc\seg.inc ..\inc\cmacros.inc \
	..\inc\rmacros.inc ..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\fout.asm, fout.obj;

grcoord.obj:	..\rt\grcoord.asm ..\inc\baslibma.inc ..\inc\seg.inc \
	..\inc\cmacros.inc ..\inc\rmacros.inc ..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\grcoord.asm, grcoord.obj;

grpmap.obj:	..\rt\grpmap.asm ..\inc\seg.inc ..\inc\cmacros.inc \
	..\inc\rmacros.inc ..\inc\switch.inc
	$(TL)\masm $(INCLUDE) $(IDB) -DQBAS -DNORTM -DDOS3 -DEM -DNS -MX -v -e ..\rt\grpmap.asm, grpmap.obj;

grputil.obj:	..\rt\grputil.asm ..\inc\seg.inc ..\inc\cmacros.inc \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -