mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 00:19:24 +02:00
* comp,extended are only i386 added support_comp,support_extended
This commit is contained in:
parent
332f649fa3
commit
d0ce4085d3
229
rtl/amiga/makefile
Normal file
229
rtl/amiga/makefile
Normal file
@ -0,0 +1,229 @@
|
||||
#
|
||||
# $Id$
|
||||
# This file is part of the Free Pascal run time library.
|
||||
# Copyright (c) 1996-98 by Michael van Canneyt
|
||||
#
|
||||
# Makefile for the Free Pascal Amiga Runtime Library
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
#####################################################################
|
||||
# Start of configurable section.
|
||||
# Please note that all these must be set in the main makefile, and
|
||||
# should be set there.
|
||||
# Don't remove the indef statements. They serve to avoid conflicts
|
||||
# with the main makefile.
|
||||
#####################################################################
|
||||
|
||||
# What is the Operating System ?
|
||||
ifndef OS_SOURCE
|
||||
OS_SOURCE=linux
|
||||
endif
|
||||
|
||||
# What is the target operating system ?
|
||||
ifndef OS_TARGET
|
||||
OS_TARGET=amiga
|
||||
endif
|
||||
|
||||
# What is the target processor :
|
||||
ifndef CPU
|
||||
#CPU=i386
|
||||
CPU=m68k
|
||||
endif
|
||||
|
||||
# What compiler to use ?
|
||||
ifndef PP
|
||||
PP=ppc68k
|
||||
endif
|
||||
|
||||
# What options to pass to the compiler ?
|
||||
# You may want to specify a config file or error definitions file here.
|
||||
ifndef OPT
|
||||
OPT=
|
||||
endif
|
||||
|
||||
# Where is the PPUMOVE program ?
|
||||
ifndef PPUMOVE
|
||||
PPUMOVE=ppumove
|
||||
endif
|
||||
|
||||
# Set this to 'shared' or 'static'
|
||||
LIBTYPE=shared
|
||||
|
||||
# AOUT should be defined in main makefile.
|
||||
# But you can set it here too.
|
||||
# AOUT = -DAOUT
|
||||
|
||||
# Do you want to link to the C library ?
|
||||
# Standard it is NO. You can set it to YES to link in th C library.
|
||||
ifndef LINK_TO_C
|
||||
LINK_TO_C=NO
|
||||
endif
|
||||
|
||||
#####################################################################
|
||||
# End of configurable section.
|
||||
# Do not edit after this line.
|
||||
#####################################################################
|
||||
|
||||
#####################################################################
|
||||
# System independent
|
||||
#####################################################################
|
||||
|
||||
# Where are the include files ?
|
||||
INC=../inc
|
||||
PROCINC=../$(CPU)
|
||||
CFG=../cfg
|
||||
OBJPASDIR=../objpas
|
||||
|
||||
# Get some defaults for Programs and OSes.
|
||||
# This will set the following variables :
|
||||
# inlinux indos COPY REPLACE DEL INSTALL INSTALLEXE MKDIR
|
||||
# It will also set OPT for cross-compilation, and add required options.
|
||||
# also checks for config file.
|
||||
# it expects INC PROCINC to be set !!
|
||||
include $(CFG)/makefile.cfg
|
||||
|
||||
# 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)
|
||||
|
||||
#####################################################################
|
||||
# System dependent
|
||||
#####################################################################
|
||||
|
||||
# Check if we need C library.
|
||||
ifeq ($(LINK_TO_C),YES)
|
||||
override OPT:=$(OPT) -dCRTLIB
|
||||
endif
|
||||
|
||||
# Define Linux Units
|
||||
SYSTEMPPU=sysamiga$(PPUEXT)
|
||||
OBJECTS=strings
|
||||
|
||||
PRT=prt0
|
||||
LOADERAS=$(PRT).as
|
||||
|
||||
# Define Loaders
|
||||
ifeq ($(LINK_TO_C),NO)
|
||||
LOADERS=prt0
|
||||
else
|
||||
LOADERS=lprt
|
||||
endif
|
||||
|
||||
# Add Prefix and Suffixes
|
||||
OBJLOADERS=$(addsuffix $(OEXT), $(LOADERS))
|
||||
PPUOBJECTS=$(addsuffix $(PPUEXT), $(OBJECTS))
|
||||
|
||||
.PHONY : all install clean \
|
||||
libs libsclean \
|
||||
diffs diffclean \
|
||||
|
||||
all : $(OBJLOADERS) $(PPUOBJECTS)
|
||||
|
||||
install : all
|
||||
$(MKDIR) $(UNITINSTALLDIR)
|
||||
$(INSTALL) *$(PPUEXT) *$(OEXT) $(UNITINSTALLDIR)
|
||||
|
||||
clean :
|
||||
-$(DEL) *$(OEXT) *$(ASMEXT) *$(PPUEXT) *.PPS log
|
||||
|
||||
#####################################################################
|
||||
# Files
|
||||
#####################################################################
|
||||
|
||||
#
|
||||
# Loaders
|
||||
#
|
||||
|
||||
prt0$(OEXT) : $(LOADERAS)
|
||||
-as $(LOADERAS) -o prt0$(OEXT)
|
||||
|
||||
#gprt0$(OEXT) : $(GLOADERAS)
|
||||
# -as $(GLOADERAS) -o gprt0$(OEXT)
|
||||
|
||||
#
|
||||
# Base Units (System, strings, os-dependent-base-unit)
|
||||
#
|
||||
|
||||
$(SYSTEMPPU) : sysamiga.pas $(SYSLINUXDEPS) $(SYSDEPS)
|
||||
$(PP) $(OPT) -Us -Sg sysamiga.pas $(REDIR)
|
||||
|
||||
strings$(PPUEXT) : $(PROCINC)/strings.pp $(SYSTEMPPU)
|
||||
$(COPY) $(PROCINC)/strings.pp .
|
||||
$(PP) $(OPT) strings $(REDIR)
|
||||
$(DEL) strings.pp
|
||||
|
||||
#
|
||||
# Delphi Object Model
|
||||
#
|
||||
|
||||
objpas$(PPUEXT) : $(OBJPASDIR)/objpas.pp $(SYSTEMPPU)
|
||||
$(COPY) $(OBJPASDIR)/objpas.pp .
|
||||
$(PP) $(OPT) objpas $(REDIR)
|
||||
$(DEL) objpas.pp
|
||||
|
||||
#
|
||||
# System Dependent Units
|
||||
#
|
||||
|
||||
#
|
||||
# TP7 Compatible RTL Units
|
||||
#
|
||||
|
||||
#dos$(PPUEXT) : $(DOSDEPS) $(SYSTEMPPU)
|
||||
# $(PP) $(OPT) dos $(REDIR)
|
||||
|
||||
crt$(PPUEXT) : crt.pp $(INC)/textrec.inc $(INC)/filerec.inc $(SYSTEMPPU)
|
||||
$(PP) $(OPT) crt $(REDIR)
|
||||
|
||||
objects$(PPUEXT) : $(INC)/objects.pp objinc.inc $(SYSTEMPPU)
|
||||
$(COPY) $(INC)/objects.pp .
|
||||
$(PP) $(OPT) objects $(REDIR)
|
||||
$(DEL) objects.pp
|
||||
|
||||
#
|
||||
# Other RTL Units
|
||||
#
|
||||
|
||||
#####################################################################
|
||||
# Libs
|
||||
#####################################################################
|
||||
|
||||
libs : all libfpc$(LIBEXT)
|
||||
|
||||
libfpc.so:
|
||||
$(PPUMOVE) -o fpc *.ppu
|
||||
|
||||
libfpc.a:
|
||||
$(PPUMOVE) -s -o fpc *.ppu
|
||||
|
||||
libinstall : libs
|
||||
$(INSTALLEXE) libfpc$(LIBEXT) $(LIBINSTALLDIR)
|
||||
$(INSTALL) *$(PPLEXT) $(UNITINSTALLDIR)
|
||||
ldconfig
|
||||
|
||||
libsclean : clean
|
||||
-$(DEL) *.a *.so *$(PPLEXT)
|
||||
|
||||
#####################################################################
|
||||
# Default targets
|
||||
#####################################################################
|
||||
|
||||
include $(CFG)/makefile.def
|
@ -230,16 +230,20 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
{$ifdef SUPPORT_EXTENDED}
|
||||
procedure int_str_extended(d : extended;len,fr : longint;var s : string);[public, alias : 'STR_EXTENDED'];
|
||||
begin
|
||||
str_real(len,fr,d,rt_s80real,s);
|
||||
end;
|
||||
{$endif SUPPORT_EXTENDED}
|
||||
|
||||
|
||||
{$ifdef SUPPORT_COMP}
|
||||
procedure int_str_comp(d : comp;len,fr : longint;var s : string);[public, alias : 'STR_COMP'];
|
||||
begin
|
||||
str_real(len,fr,d,rt_s64bit,s);
|
||||
end;
|
||||
{$endif SUPPORT_COMP}
|
||||
|
||||
|
||||
procedure int_str_fixed(d : fixed;len,fr : longint;var s : string);[public, alias : 'STR_FIXED'];
|
||||
@ -600,6 +604,7 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
{$ifdef SUPPORT_EXTENDED}
|
||||
procedure val(const s : string;var d : extended;var code : word);
|
||||
var
|
||||
e : double;
|
||||
@ -626,8 +631,10 @@ begin
|
||||
val(s,e,code);
|
||||
d:=e;
|
||||
end;
|
||||
{$endif SUPPORT_EXTENDED}
|
||||
|
||||
|
||||
{$ifdef SUPPORT_COMP}
|
||||
procedure val(const s : string;var d : comp;var code : word);
|
||||
var
|
||||
e : double;
|
||||
@ -654,7 +661,7 @@ begin
|
||||
val(s,e,code);
|
||||
d:=comp(e);
|
||||
end;
|
||||
|
||||
{$endif SUPPORT_COMP}
|
||||
|
||||
procedure val(const s : string;var v : cardinal;var code : word);
|
||||
var
|
||||
@ -703,7 +710,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.4 1998-05-31 14:14:52 peter
|
||||
Revision 1.5 1998-06-04 23:45:59 peter
|
||||
* comp,extended are only i386 added support_comp,support_extended
|
||||
|
||||
Revision 1.4 1998/05/31 14:14:52 peter
|
||||
* removed warnings using comp()
|
||||
|
||||
Revision 1.3 1998/05/12 10:42:45 peter
|
||||
|
@ -14,8 +14,6 @@
|
||||
|
||||
{****************************************************************************
|
||||
Local types
|
||||
|
||||
|
||||
****************************************************************************}
|
||||
|
||||
{
|
||||
@ -92,16 +90,14 @@ Procedure Rewrite(var f : TypedFile); [INTERNPROC: In_Rewrite_TypedFile];
|
||||
****************************************************************************}
|
||||
|
||||
function Hi(b : byte): byte;
|
||||
|
||||
begin
|
||||
begin
|
||||
Hi := b shr 4
|
||||
end;
|
||||
end;
|
||||
|
||||
function Lo(b : byte): byte;
|
||||
|
||||
begin
|
||||
begin
|
||||
Lo := b and $0f
|
||||
end;
|
||||
end;
|
||||
|
||||
Procedure Inc(var i : Cardinal;a: Longint);
|
||||
Begin
|
||||
@ -234,15 +230,7 @@ End;
|
||||
Function Ptr(sel,off : Longint) : pointer;
|
||||
Begin
|
||||
sel:=0;
|
||||
{$IFDEF DoMapping}
|
||||
{$IFDEF DoS}
|
||||
ptr:=pointer($e0000000+sel shl 4+off);
|
||||
{$ELSE}
|
||||
ptr:=pointer(sel shl 4+off);
|
||||
{$ENDIF}
|
||||
{$ELSE}
|
||||
ptr:=pointer(off);
|
||||
{$ENDIF}
|
||||
ptr:=pointer(off);
|
||||
End;
|
||||
|
||||
Function Addr (Var X) : Pointer;
|
||||
@ -250,7 +238,6 @@ Begin
|
||||
Addr:=@(X);
|
||||
End;
|
||||
|
||||
|
||||
Function CSeg : Word;
|
||||
Begin
|
||||
Cseg:=0;
|
||||
@ -284,13 +271,10 @@ Begin
|
||||
End;
|
||||
|
||||
|
||||
|
||||
procedure fillchar(var x;count : longint;value : char);
|
||||
|
||||
begin
|
||||
fillchar(x,count,byte(value));
|
||||
end;
|
||||
|
||||
begin
|
||||
fillchar(x,count,byte(value));
|
||||
end;
|
||||
|
||||
|
||||
{*****************************************************************************
|
||||
@ -308,13 +292,13 @@ Begin
|
||||
Halt(0);
|
||||
End;
|
||||
|
||||
|
||||
{ Seems not to be used (PFV)
|
||||
Procedure Initexception;[Public,Alias: 'INITEXCEPTION'];
|
||||
Begin
|
||||
Writeln('Exception occurred during program initialization.');
|
||||
halt(216);
|
||||
End;
|
||||
|
||||
}
|
||||
|
||||
Procedure dump_stack(bp : Longint);
|
||||
|
||||
@ -361,14 +345,8 @@ Begin
|
||||
Writeln('Run time error ',Errorcode,' at 0x',hexstr(Longint(Erroraddr),8));
|
||||
dump_stack(ErrorBase);
|
||||
End;
|
||||
{ this is wrong at least for dos !!!
|
||||
in dos input output and stderr must be left open !! }
|
||||
{$ifndef DOS}
|
||||
{$ifndef GO32V2}
|
||||
Close(Output);
|
||||
Close(StdErr);
|
||||
{$endif GO32V2}
|
||||
{$endif DOS}
|
||||
Flush(stderr);
|
||||
|
||||
End;
|
||||
|
||||
|
||||
@ -410,7 +388,10 @@ End;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.6 1998-05-20 11:23:09 cvs
|
||||
Revision 1.7 1998-06-04 23:46:01 peter
|
||||
* comp,extended are only i386 added support_comp,support_extended
|
||||
|
||||
Revision 1.6 1998/05/20 11:23:09 cvs
|
||||
* test commit. Shouldn't be allowed.
|
||||
|
||||
Revision 1.5 1998/05/12 10:42:45 peter
|
||||
|
@ -33,14 +33,12 @@ Type
|
||||
byte = 0..255;
|
||||
Word = 0..65535;
|
||||
|
||||
{
|
||||
Boolean = ByteBool;
|
||||
removed because too incompatible with older versions PM }
|
||||
|
||||
{ at least declare Turbo Pascal real types }
|
||||
{$IFDEF i386}
|
||||
{$ifdef i386}
|
||||
Double = real;
|
||||
{$ENDIF}
|
||||
{$define SUPPORT_EXTENDED}
|
||||
{$define SUPPORT_COMP}
|
||||
{$endif}
|
||||
|
||||
{ some type aliases }
|
||||
dword = cardinal;
|
||||
@ -58,7 +56,6 @@ const
|
||||
maxLongint = $7fffffff;
|
||||
maxint = 32767;
|
||||
|
||||
|
||||
{ Compatibility With TP }
|
||||
{$ifdef i386}
|
||||
Test8086 : byte = 2; { Always i386 or newer }
|
||||
@ -226,12 +223,16 @@ Procedure Val(const s:string;Var d:Real);
|
||||
Procedure Val(const s:string;Var d:single;Var code:Word);
|
||||
Procedure Val(const s:string;Var d:single;Var code:Integer);
|
||||
Procedure Val(const s:string;Var d:single);
|
||||
{$ifdef SUPPORT_EXTENDED}
|
||||
Procedure Val(const s:string;Var d:Extended;Var code:Word);
|
||||
Procedure Val(const s:string;Var d:Extended;Var code:Integer);
|
||||
Procedure Val(const s:string;Var d:Extended);
|
||||
{$endif SUPPORT_EXTENDED}
|
||||
{$ifdef SUPPORT_COMP}
|
||||
Procedure Val(const s:string;Var d:comp;Var code:Word);
|
||||
Procedure Val(const s:string;Var d:comp;Var code:Integer);
|
||||
Procedure Val(const s:string;Var d:comp);
|
||||
{$endif SUPPORT_COMP}
|
||||
Procedure Val(const s:string;Var v:cardinal;Var code:Word);
|
||||
Procedure Val(const s:string;Var v:cardinal;Var code:Integer);
|
||||
Procedure Val(const s:string;Var v:cardinal);
|
||||
@ -335,7 +336,10 @@ Procedure AddExitProc(Proc:TProcedure);
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.9 1998-06-04 08:26:03 pierre
|
||||
Revision 1.10 1998-06-04 23:46:02 peter
|
||||
* comp,extended are only i386 added support_comp,support_extended
|
||||
|
||||
Revision 1.9 1998/06/04 08:26:03 pierre
|
||||
* boolean internal definition again (needed to compile
|
||||
older RTL's)
|
||||
|
||||
|
@ -467,6 +467,7 @@ Begin
|
||||
End;
|
||||
|
||||
|
||||
{$ifdef SUPPORT_EXTENDED}
|
||||
Procedure w(fixkomma,Len : Longint;var t : TextRec;r : extended);[Public,Alias: 'WRITE_TEXT_EXTENDED'];
|
||||
var
|
||||
s : String;
|
||||
@ -474,8 +475,10 @@ Begin
|
||||
Str_real(Len,fixkomma,r,rt_s80real,s);
|
||||
w(Len,t,s);
|
||||
End;
|
||||
{$endif SUPPORT_EXTENDED}
|
||||
|
||||
|
||||
{$ifdef SUPPORT_COMP}
|
||||
Procedure w(fixkomma,Len : Longint;var t : TextRec;r : comp);[Public,Alias: 'WRITE_TEXT_COMP'];
|
||||
var
|
||||
s : String;
|
||||
@ -483,7 +486,7 @@ Begin
|
||||
Str_real(Len,fixkomma,r,rt_s64bit,s);
|
||||
w(Len,t,s);
|
||||
End;
|
||||
|
||||
{$endif SUPPORT_COMP}
|
||||
|
||||
Procedure w(fixkomma,Len : Longint;var t : TextRec;r : fixed);[Public,Alias: 'WRITE_TEXT_FIXED'];
|
||||
var
|
||||
@ -877,6 +880,7 @@ Begin
|
||||
End;
|
||||
|
||||
|
||||
{$ifdef SUPPORT_EXTENDED}
|
||||
Procedure r(var f : TextRec;var d : extended);[Public,Alias: 'READ_TEXT_EXTENDED'];
|
||||
var
|
||||
hs : String;
|
||||
@ -912,8 +916,10 @@ Begin
|
||||
If code<>0 Then
|
||||
RunError(106);
|
||||
End;
|
||||
{$endif SUPPORT_EXTENDED}
|
||||
|
||||
|
||||
{$ifdef SUPPORT_COMP}
|
||||
Procedure r(var f : TextRec;var d : comp);[Public,Alias: 'READ_TEXT_COMP'];
|
||||
var
|
||||
hs : String;
|
||||
@ -949,9 +955,14 @@ Begin
|
||||
If code<>0 Then
|
||||
RunError(106);
|
||||
End;
|
||||
{$endif SUPPORT_COMP}
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.9 1998-06-02 16:47:56 pierre
|
||||
Revision 1.10 1998-06-04 23:46:03 peter
|
||||
* comp,extended are only i386 added support_comp,support_extended
|
||||
|
||||
Revision 1.9 1998/06/02 16:47:56 pierre
|
||||
* bug for boolean values greater than one fixed
|
||||
|
||||
Revision 1.8 1998/05/31 14:14:54 peter
|
||||
|
@ -1,68 +0,0 @@
|
||||
#****************************************************************************
|
||||
#
|
||||
# Copyright (c) 1993,96 by Florian Klaempfl
|
||||
#
|
||||
#****************************************************************************
|
||||
#
|
||||
# makefile for FPKPascal
|
||||
#
|
||||
#####################################################################
|
||||
# Start of configurable section
|
||||
#####################################################################
|
||||
|
||||
# Set REFPATH if you want to generate diffs to a standard RTL
|
||||
ifndef REFPATH
|
||||
REFPATH=/usr/local/fpk/work/new/rtl
|
||||
endif
|
||||
ifndef DIFF
|
||||
DIFF=diff
|
||||
endif
|
||||
ifndef DIFFOPTS
|
||||
DIFFOPTS=-b -c
|
||||
endif
|
||||
|
||||
#######################################################################
|
||||
# End of configurable section.
|
||||
# Do not edit after this line.
|
||||
#######################################################################
|
||||
|
||||
# Check copy delete commands.
|
||||
# You need cp from GNU to handle / as directory separator
|
||||
ifeq ($(DOS),YES)
|
||||
COPY=cp -p -f
|
||||
DEL=del
|
||||
else
|
||||
COPY=cp -p -f
|
||||
DEL=rm
|
||||
endif
|
||||
|
||||
|
||||
PPFILES =
|
||||
|
||||
INCFILES = m68k.inc
|
||||
|
||||
all:
|
||||
|
||||
.PHONY: clean diffclean diffs
|
||||
|
||||
clean:
|
||||
-$(DEL) *.dif
|
||||
|
||||
diffclean:
|
||||
-$(DEL) *.dif
|
||||
|
||||
|
||||
%.dif : %.inc
|
||||
-$(DIFF) $(DIFFOPTS) $*.inc $(REFPATH)/m68k/$*.inc > $*.dif
|
||||
|
||||
%.dif : %.pp
|
||||
-$(DIFF) $(DIFFOPTS) $*.pp $(REFPATH)/m68k/$*.pp > $*.dif
|
||||
|
||||
makefile.dif : makefile
|
||||
-$(DIFF) $(DIFFOPTS) makefile $(REFPATH)/m68k/makefile > makefile.dif
|
||||
|
||||
diffs : $(patsubst %.inc,%.dif,$(INCFILES)) \
|
||||
$(patsubst %.pp,%.dif,$(PPFILES)) \
|
||||
makefile.dif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user