+ basic Makefile infrastructure for msdos

git-svn-id: branches/i8086@23779 -
This commit is contained in:
florian 2013-03-10 17:31:53 +00:00
parent 2fccd4be13
commit 64ffe8f5ef
6 changed files with 3094 additions and 0 deletions

5
.gitattributes vendored
View File

@ -7784,6 +7784,9 @@ rtl/i386/strings.inc svneol=native#text/plain
rtl/i386/stringss.inc svneol=native#text/plain
rtl/i386/strpas.inc svneol=native#text/plain
rtl/i8086/i8086.inc svneol=native#text/plain
rtl/i8086/makefile.cpu svneol=native#text/plain
rtl/i8086/math.inc svneol=native#text/plain
rtl/i8086/set.inc svneol=native#text/plain
rtl/i8086/setjump.inc svneol=native#text/plain
rtl/i8086/setjumph.inc svneol=native#text/plain
rtl/inc/aliases.inc svneol=native#text/plain
@ -8193,6 +8196,8 @@ rtl/morphos/utility.pp svneol=native#text/plain
rtl/morphos/varutils.pp svneol=native#text/plain
rtl/morphos/video.pp svneol=native#text/plain
rtl/morphos/videodata.inc svneol=native#text/plain
rtl/msdos/Makefile svneol=native#text/plain
rtl/msdos/Makefile.fpc svneol=native#text/plain
rtl/msdos/prt0.asm svneol=native#text/plain
rtl/msdos/sysos.inc svneol=native#text/plain
rtl/msdos/sysosh.inc svneol=native#text/plain

7
rtl/i8086/makefile.cpu Normal file
View File

@ -0,0 +1,7 @@
#
# Here we set processor dependent include file names.
#
CPUNAMES=i8086 math set setjump setjumph
CPUINCNAMES=$(addsuffix .inc,$(CPUNAMES))

15
rtl/i8086/math.inc Normal file
View File

@ -0,0 +1,15 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2003 by the Free Pascal development team.
Implementation of mathematical Routines (only for real)
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
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.
**********************************************************************}

15
rtl/i8086/set.inc Normal file
View File

@ -0,0 +1,15 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2003 by the Free Pascal development team.
Include file with set operations called by the compiler
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
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.
**********************************************************************}

2891
rtl/msdos/Makefile Normal file

File diff suppressed because it is too large Load Diff

161
rtl/msdos/Makefile.fpc Normal file
View File

@ -0,0 +1,161 @@
#
# Makefile.fpc for Go32v2 RTL
#
[package]
main=rtl
[target]
loaders=prt0 # exceptn fpu
units=system uuchar objpas macpas iso7185 strings \
go32 dpmiexcp initc ports profile dxetype dxeload emu387 \
dos crt objects printer cmem \
sysutils classes math typinfo matrix \
cpu mmx ucomplex getopts heaptrc lineinfo lnfodwrf ctypes fgl \
msmouse charset varutils \
video mouse keyboard variants vesamode types fmtbcd \
sysconst rtlconst dateutil convutil strutils stdconvs
rsts=math varutils typinfo classes variants dateutil sysconst
implicitunits=exeinfo
[require]
nortl=y
[install]
fpcpackage=y
[default]
fpcdir=../..
target=msdos
cpu=i8086
[compiler]
includedir=$(INC) $(PROCINC)
sourcedir=$(INC) $(PROCINC) $(COMMON)
[prerules]
RTL=..
INC=../inc
COMMON=$(RTL)/common
PROCINC=../$(CPU_TARGET)
UNITPREFIX=rtl
SYSTEMUNIT=system
# Paths
OBJPASDIR=$(RTL)/objpas
# Insert exception handler in system unit
ifdef EXCEPTIONS_IN_SYSTEM
override FPCOPT+=-dEXCEPTIONS_IN_SYSTEM
endif
# Insert exception handler in system unit
ifdef NO_EXCEPTIONS_IN_SYSTEM
override FPCOPT+=-dNO_EXCEPTIONS_IN_SYSTEM
endif
[rules]
.NOTPARALLEL:
# Get the system independent include file names.
# This will set the following variables :
# SYSINCNAMES
include $(INC)/makefile.inc
SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
# Get the processor dependent include file names.
# This will set the following variables :
# CPUINCNAMES
include $(PROCINC)/makefile.cpu
SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
# Put system unit dependencies together.
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
#
# Loaders
#
prt0$(OEXT) : prt0.asm
nasm -f obj -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) prt0.asm
#
# System Units (System, Objpas, Strings)
#
system$(PPUEXT) : system.pp $(SYSDEPS)
$(COMPILER) -Us -Sg system.pp
uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
$(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
$(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
system$(PPUEXT)
#
# System Dependent Units
#
go32$(PPUEXT) : go32.pp system$(PPUEXT)
dpmiexcp$(PPUEXT) : dpmiexcp.pp exceptn$(OEXT) system$(PPUEXT)
$(COMPILER) -Sg dpmiexcp.pp
initc$(PPUEXT) : initc.pp system$(PPUEXT)
profile$(PPUEXT) : profile.pp dpmiexcp$(PPUEXT) go32$(PPUEXT)
dxetype$(PPUEXT) : dxetype.pp system$(PPUEXT)
dxeload$(PPUEXT) : dxeload.pp dxetype$(PPUEXT) system$(PPUEXT)
emu387$(PPUEXT) : emu387.pp fpu$(OEXT) strings$(PPUEXT) dxeload$(PPUEXT) \
dpmiexcp$(PPUEXT)
ports$(PPUEXT) : ports.pp objpas$(PPUEXT) system$(PPUEXT)
#
# TP7 Compatible RTL Units
#
dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc \
go32$(PPUEXT) strings$(PPUEXT) system$(PPUEXT)
crt$(PPUEXT) : crt.pp $(INC)/textrec.inc go32$(PPUEXT) system$(PPUEXT)
objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT)
printer$(PPUEXT) : printer.pp system$(PPUEXT)
#
# Delphi Compatible Units
#
sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
objpas$(PPUEXT) dos$(PPUEXT) go32$(PPUEXT) sysconst$(PPUEXT)
$(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) types$(PPUEXT) fgl$(PPUEXT)
$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/fgl.pp
math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/math.pp
typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) rtlconst$(PPUEXT)
$(COMPILER) -Sg -Fi$(OBJPASDIR) $(OBJPASDIR)/typinfo.pp
varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
$(OBJPASDIR)/varutilh.inc varutils.pp sysutils$(PPUEXT)
$(COMPILER) -I$(OBJPASDIR) varutils.pp
variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT)
$(COMPILER) -Fi$(INC) $(INC)/variants.pp
fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/fmtbcd.pp
types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/types.pp
rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp
$(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/rtlconst.pp
sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/sysconst.pp
dateutil$(PPUEXT) : $(OBJPASDIR)/dateutil.pp
$(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/dateutil.pp
convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp
$(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/convutil.pp
strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp
$(COMPILER) $(OBJPASDIR)/strutils.pp
stdconvs$(PPUEXT) : $(OBJPASDIR)/stdconvs.pp objpas$(PPUEXT) system$(PPUEXT) \
sysutils$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/stdconvs.pp
#
# Mac Pascal Model
#
macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) math$(PPUEXT)
$(COMPILER) $(INC)/macpas.pp $(REDIR)
#
# Other system-independent RTL Units
#
cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT)
mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT)
getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT)
heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT)
$(COMPILER) -Sg $(INC)/heaptrc.pp
lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT)
lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp system$(PPUEXT)
charset$(PPUEXT) : $(INC)/charset.pp system$(PPUEXT)
ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) system$(PPUEXT)
#
# Other system-dependent RTL Units
#
msmouse$(PPUEXT) : msmouse.pp system$(PPUEXT)
callspec$(PPUEXT) : $(INC)/callspec.pp system$(PPUEXT)
ctypes$(PPUEXT) : $(INC)/ctypes.pp system$(PPUEXT)