mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 04:19:31 +02:00
* linker stuff for symbian by Felipe Monteiro de Carvalho
* updated symbian rtl makefile by Felipe Monteiro de Carvalho git-svn-id: trunk@6361 -
This commit is contained in:
parent
a2127504a0
commit
e2633cb47d
@ -33,6 +33,13 @@ interface
|
|||||||
cpubase,
|
cpubase,
|
||||||
import,export,link,cgobj,t_win, i_symbian;
|
import,export,link,cgobj,t_win, i_symbian;
|
||||||
|
|
||||||
|
type
|
||||||
|
TInternalLinkerSymbian = class(TInternalLinker)
|
||||||
|
constructor create; override;
|
||||||
|
procedure DefaultLinkScript; override;
|
||||||
|
procedure InitSysInitUnitName; override;
|
||||||
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
@ -41,6 +48,139 @@ implementation
|
|||||||
cpuinfo,cgutils,dbgbase,
|
cpuinfo,cgutils,dbgbase,
|
||||||
owar,ogbase,ogcoff;
|
owar,ogbase,ogcoff;
|
||||||
|
|
||||||
|
{****************************************************************************
|
||||||
|
TInternalLinkerSymbian
|
||||||
|
****************************************************************************}
|
||||||
|
|
||||||
|
constructor TInternalLinkerSymbian.Create;
|
||||||
|
begin
|
||||||
|
inherited Create;
|
||||||
|
CExeoutput:=TPECoffexeoutput;
|
||||||
|
CObjInput:=TPECoffObjInput;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TInternalLinkerSymbian.DefaultLinkScript;
|
||||||
|
var
|
||||||
|
s,s2,
|
||||||
|
ibase : TCmdStr;
|
||||||
|
begin
|
||||||
|
with LinkScript do
|
||||||
|
begin
|
||||||
|
while not ObjectFiles.Empty do
|
||||||
|
begin
|
||||||
|
s:=ObjectFiles.GetFirst;
|
||||||
|
if s<>'' then
|
||||||
|
Concat('READOBJECT '+MaybeQuoted(s));
|
||||||
|
end;
|
||||||
|
while not StaticLibFiles.Empty do
|
||||||
|
begin
|
||||||
|
s:=StaticLibFiles.GetFirst;
|
||||||
|
if s<>'' then
|
||||||
|
Concat('READSTATICLIBRARY '+MaybeQuoted(s));
|
||||||
|
end;
|
||||||
|
While not SharedLibFiles.Empty do
|
||||||
|
begin
|
||||||
|
S:=SharedLibFiles.GetFirst;
|
||||||
|
if FindLibraryFile(s,target_info.staticClibprefix,target_info.staticClibext,s2) then
|
||||||
|
Concat('READSTATICLIBRARY '+MaybeQuoted(s2))
|
||||||
|
else
|
||||||
|
Comment(V_Error,'Import library not found for '+S);
|
||||||
|
end;
|
||||||
|
if IsSharedLibrary then
|
||||||
|
begin
|
||||||
|
Concat('ISSHAREDLIBRARY');
|
||||||
|
Concat('ENTRYNAME _E32DLL');
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Concat('ENTRYNAME _E32Startup')
|
||||||
|
end;
|
||||||
|
ibase:='';
|
||||||
|
if assigned(DLLImageBase) then
|
||||||
|
ibase:=DLLImageBase^
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
if IsSharedLibrary then
|
||||||
|
ibase:='10000000'
|
||||||
|
else
|
||||||
|
ibase:='400000';
|
||||||
|
end;
|
||||||
|
Concat('IMAGEBASE $' + ibase);
|
||||||
|
Concat('HEADER');
|
||||||
|
Concat('EXESECTION .text');
|
||||||
|
Concat(' OBJSECTION .text*');
|
||||||
|
Concat(' SYMBOL ___CTOR_LIST__');
|
||||||
|
Concat(' SYMBOL __CTOR_LIST__');
|
||||||
|
Concat(' LONG -1');
|
||||||
|
Concat(' OBJSECTION .ctor*');
|
||||||
|
Concat(' LONG 0');
|
||||||
|
Concat(' SYMBOL ___DTOR_LIST__');
|
||||||
|
Concat(' SYMBOL __DTOR_LIST__');
|
||||||
|
Concat(' LONG -1');
|
||||||
|
Concat(' OBJSECTION .dtor*');
|
||||||
|
Concat(' LONG 0');
|
||||||
|
Concat(' SYMBOL etext');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .data');
|
||||||
|
Concat(' SYMBOL __data_start__');
|
||||||
|
Concat(' OBJSECTION .data*');
|
||||||
|
Concat(' OBJSECTION .fpc*');
|
||||||
|
Concat(' SYMBOL edata');
|
||||||
|
Concat(' SYMBOL __data_end__');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .rdata');
|
||||||
|
Concat(' SYMBOL ___RUNTIME_PSEUDO_RELOC_LIST__');
|
||||||
|
Concat(' SYMBOL __RUNTIME_PSEUDO_RELOC_LIST__');
|
||||||
|
Concat(' OBJSECTION .rdata_runtime_pseudo_reloc');
|
||||||
|
Concat(' SYMBOL ___RUNTIME_PSEUDO_RELOC_LIST_END__');
|
||||||
|
Concat(' SYMBOL __RUNTIME_PSEUDO_RELOC_LIST_END__');
|
||||||
|
Concat(' OBJSECTION .rdata*');
|
||||||
|
Concat(' OBJSECTION .rodata*');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .pdata');
|
||||||
|
Concat(' OBJSECTION .pdata');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .bss');
|
||||||
|
Concat(' SYMBOL __bss_start__');
|
||||||
|
Concat(' OBJSECTION .bss*');
|
||||||
|
Concat(' SYMBOL __bss_end__');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .idata');
|
||||||
|
Concat(' OBJSECTION .idata$2*');
|
||||||
|
Concat(' OBJSECTION .idata$3*');
|
||||||
|
Concat(' ZEROS 20');
|
||||||
|
Concat(' OBJSECTION .idata$4*');
|
||||||
|
Concat(' OBJSECTION .idata$5*');
|
||||||
|
Concat(' OBJSECTION .idata$6*');
|
||||||
|
Concat(' OBJSECTION .idata$7*');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .edata');
|
||||||
|
Concat(' OBJSECTION .edata*');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .rsrc');
|
||||||
|
Concat(' OBJSECTION .rsrc*');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .reloc');
|
||||||
|
Concat(' OBJSECTION .reloc');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .stab');
|
||||||
|
Concat(' OBJSECTION .stab');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('EXESECTION .stabstr');
|
||||||
|
Concat(' OBJSECTION .stabstr');
|
||||||
|
Concat('ENDEXESECTION');
|
||||||
|
Concat('STABS');
|
||||||
|
Concat('SYMBOLS');
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TInternalLinkerSymbian.InitSysInitUnitName;
|
||||||
|
begin
|
||||||
|
sysinitunit := 'sysinitpas';
|
||||||
|
end;
|
||||||
|
|
||||||
{*****************************************************************************
|
{*****************************************************************************
|
||||||
Initialize
|
Initialize
|
||||||
*****************************************************************************}
|
*****************************************************************************}
|
||||||
@ -48,7 +188,7 @@ implementation
|
|||||||
initialization
|
initialization
|
||||||
{$ifdef i386}
|
{$ifdef i386}
|
||||||
RegisterExternalLinker(system_i386_symbian_info,TExternalLinkerWin);
|
RegisterExternalLinker(system_i386_symbian_info,TExternalLinkerWin);
|
||||||
RegisterInternalLinker(system_i386_symbian_info,TInternalLinkerWin);
|
RegisterInternalLinker(system_i386_symbian_info,TInternalLinkerSymbian);
|
||||||
RegisterImport(system_i386_symbian,TImportLibWin);
|
RegisterImport(system_i386_symbian,TImportLibWin);
|
||||||
RegisterExport(system_i386_symbian,TExportLibWin);
|
RegisterExport(system_i386_symbian,TExportLibWin);
|
||||||
RegisterDLLScanner(system_i386_symbian,TDLLScannerWin);
|
RegisterDLLScanner(system_i386_symbian,TDLLScannerWin);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/01/25]
|
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/02/04]
|
||||||
#
|
#
|
||||||
default: all
|
default: all
|
||||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-embedded
|
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-embedded
|
||||||
@ -92,6 +92,8 @@ endif
|
|||||||
endif
|
endif
|
||||||
export ECHO
|
export ECHO
|
||||||
endif
|
endif
|
||||||
|
override OS_TARGET_DEFAULT=symbian
|
||||||
|
override DEFAULT_FPCDIR=../..
|
||||||
ifndef FPC
|
ifndef FPC
|
||||||
ifdef PP
|
ifdef PP
|
||||||
FPC=$(PP)
|
FPC=$(PP)
|
||||||
@ -231,6 +233,472 @@ endif
|
|||||||
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
|
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
|
||||||
override PACKAGE_NAME=rtl
|
override PACKAGE_NAME=rtl
|
||||||
PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
|
PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
|
||||||
|
RTL=..
|
||||||
|
INC=$(RTL)/inc
|
||||||
|
COMMON=$(RTL)/common
|
||||||
|
PROCINC=$(RTL)/$(CPU_TARGET)
|
||||||
|
OBJPASDIR=$(RTL)/objpas
|
||||||
|
UNITPREFIX=rtl
|
||||||
|
ifeq ($(FULL_TARGET),i386-linux)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-win32)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-os2)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-beos)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-solaris)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-qnx)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netware)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-darwin)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-emx)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-watcom)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-wince)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-embedded)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-symbian)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-linux)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-atari)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-linux)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-linux)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-palmos)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-wince)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-gba)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-nds)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-embedded)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-symbian)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||||
|
override TARGET_UNITS+=system
|
||||||
|
endif
|
||||||
|
override INSTALL_FPCPACKAGE=y
|
||||||
|
ifeq ($(FULL_TARGET),i386-linux)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-win32)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-os2)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-beos)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-solaris)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-qnx)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netware)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-darwin)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-emx)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-watcom)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-wince)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-embedded)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-symbian)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-linux)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-atari)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-linux)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-linux)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-palmos)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-wince)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-gba)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-nds)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-embedded)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-symbian)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||||
|
override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-linux)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-win32)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-os2)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-beos)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-solaris)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-qnx)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netware)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-darwin)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-emx)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-watcom)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-wince)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-embedded)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),i386-symbian)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-linux)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-atari)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-linux)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-linux)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-palmos)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-wince)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-gba)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-nds)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-embedded)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),arm-symbian)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
|
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||||
|
override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
endif
|
||||||
ifdef REQUIRE_UNITSDIR
|
ifdef REQUIRE_UNITSDIR
|
||||||
override UNITSDIR+=$(REQUIRE_UNITSDIR)
|
override UNITSDIR+=$(REQUIRE_UNITSDIR)
|
||||||
endif
|
endif
|
||||||
@ -1029,8 +1497,12 @@ ifeq ($(CPU_TARGET),powerpc)
|
|||||||
FPCCPUOPT:=-O1r
|
FPCCPUOPT:=-O1r
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
|
ifeq ($(CPU_TARGET),arm)
|
||||||
|
FPCCPUOPT:=-O1
|
||||||
|
else
|
||||||
FPCCPUOPT:=-O2
|
FPCCPUOPT:=-O2
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
|
override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
|
||||||
override FPCOPTDEF+=RELEASE
|
override FPCOPTDEF+=RELEASE
|
||||||
endif
|
endif
|
||||||
@ -1127,10 +1599,92 @@ ifeq ($(FULL_SOURCE),$(FULL_TARGET))
|
|||||||
EXECPPAS:=@$(PPAS)
|
EXECPPAS:=@$(PPAS)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
.PHONY: fpc_units
|
||||||
|
ifneq ($(TARGET_UNITS),)
|
||||||
|
override ALLTARGET+=fpc_units
|
||||||
|
override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
|
||||||
|
override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
|
||||||
|
override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
|
||||||
|
override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
|
||||||
|
endif
|
||||||
|
fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
|
||||||
ifdef TARGET_RSTS
|
ifdef TARGET_RSTS
|
||||||
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
|
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
|
||||||
override CLEANRSTFILES+=$(RSTFILES)
|
override CLEANRSTFILES+=$(RSTFILES)
|
||||||
endif
|
endif
|
||||||
|
.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
|
||||||
|
$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
|
||||||
|
@$(ECHOREDIR) Compiled > $(FPCMADE)
|
||||||
|
fpc_all: $(FPCMADE)
|
||||||
|
fpc_smart:
|
||||||
|
$(MAKE) all LINKSMART=1 CREATESMART=1
|
||||||
|
fpc_debug:
|
||||||
|
$(MAKE) all DEBUG=1
|
||||||
|
fpc_release:
|
||||||
|
$(MAKE) all RELEASE=1
|
||||||
|
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
|
||||||
|
$(COMPILER_UNITTARGETDIR):
|
||||||
|
$(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
|
||||||
|
$(COMPILER_TARGETDIR):
|
||||||
|
$(MKDIRTREE) $(COMPILER_TARGETDIR)
|
||||||
|
%$(PPUEXT): %.pp
|
||||||
|
$(COMPILER) $<
|
||||||
|
$(EXECPPAS)
|
||||||
|
%$(PPUEXT): %.pas
|
||||||
|
$(COMPILER) $<
|
||||||
|
$(EXECPPAS)
|
||||||
|
%$(EXEEXT): %.pp
|
||||||
|
$(COMPILER) $<
|
||||||
|
$(EXECPPAS)
|
||||||
|
%$(EXEEXT): %.pas
|
||||||
|
$(COMPILER) $<
|
||||||
|
$(EXECPPAS)
|
||||||
|
%$(EXEEXT): %.lpr
|
||||||
|
$(COMPILER) $<
|
||||||
|
$(EXECPPAS)
|
||||||
|
%$(EXEEXT): %.dpr
|
||||||
|
$(COMPILER) $<
|
||||||
|
$(EXECPPAS)
|
||||||
|
%.res: %.rc
|
||||||
|
windres -i $< -o $@
|
||||||
|
vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
||||||
|
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
||||||
|
vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
||||||
|
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
|
||||||
|
vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
|
||||||
|
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
|
||||||
|
.PHONY: fpc_shared
|
||||||
|
override INSTALLTARGET+=fpc_shared_install
|
||||||
|
ifndef SHARED_LIBVERSION
|
||||||
|
SHARED_LIBVERSION=$(FPC_VERSION)
|
||||||
|
endif
|
||||||
|
ifndef SHARED_LIBNAME
|
||||||
|
SHARED_LIBNAME=$(PACKAGE_NAME)
|
||||||
|
endif
|
||||||
|
ifndef SHARED_FULLNAME
|
||||||
|
SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
|
||||||
|
endif
|
||||||
|
ifndef SHARED_LIBUNITS
|
||||||
|
SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
|
||||||
|
override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
|
||||||
|
endif
|
||||||
|
fpc_shared:
|
||||||
|
ifdef HASSHAREDLIB
|
||||||
|
$(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
|
||||||
|
ifneq ($(SHARED_BUILD),n)
|
||||||
|
$(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
@$(ECHO) Shared Libraries not supported
|
||||||
|
endif
|
||||||
|
fpc_shared_install:
|
||||||
|
ifneq ($(SHARED_BUILD),n)
|
||||||
|
ifneq ($(SHARED_LIBUNITS),)
|
||||||
|
ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
|
||||||
|
$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
|
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
|
||||||
ifdef INSTALL_UNITS
|
ifdef INSTALL_UNITS
|
||||||
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
|
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
|
||||||
@ -1374,13 +1928,13 @@ endif
|
|||||||
fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
|
fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
|
||||||
fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
|
fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
|
||||||
fpc_makefiles: fpc_makefile fpc_makefile_dirs
|
fpc_makefiles: fpc_makefile fpc_makefile_dirs
|
||||||
all:
|
all: fpc_all
|
||||||
debug:
|
debug: fpc_debug
|
||||||
smart:
|
smart: fpc_smart
|
||||||
release:
|
release: fpc_release
|
||||||
units:
|
units: fpc_units
|
||||||
examples:
|
examples:
|
||||||
shared:
|
shared: fpc_shared
|
||||||
install: fpc_install
|
install: fpc_install
|
||||||
sourceinstall: fpc_sourceinstall
|
sourceinstall: fpc_sourceinstall
|
||||||
exampleinstall: fpc_exampleinstall
|
exampleinstall: fpc_exampleinstall
|
||||||
@ -1389,9 +1943,9 @@ zipinstall:
|
|||||||
zipsourceinstall:
|
zipsourceinstall:
|
||||||
zipexampleinstall:
|
zipexampleinstall:
|
||||||
zipdistinstall:
|
zipdistinstall:
|
||||||
clean:
|
clean: fpc_clean
|
||||||
distclean:
|
distclean: fpc_distclean
|
||||||
cleanall:
|
cleanall: fpc_cleanall
|
||||||
info: fpc_info
|
info: fpc_info
|
||||||
makefiles: fpc_makefiles
|
makefiles: fpc_makefiles
|
||||||
.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
|
.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
|
||||||
@ -1399,3 +1953,11 @@ ifneq ($(wildcard fpcmake.loc),)
|
|||||||
include fpcmake.loc
|
include fpcmake.loc
|
||||||
endif
|
endif
|
||||||
.NOTPARALLEL:
|
.NOTPARALLEL:
|
||||||
|
SYSTEMPPU=$(addsuffix $(PPUEXT),system)
|
||||||
|
include $(INC)/makefile.inc
|
||||||
|
SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
|
||||||
|
include $(PROCINC)/makefile.cpu
|
||||||
|
SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
|
||||||
|
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
|
||||||
|
system$(PPUEXT) : system.pp $(SYSDEPS)
|
||||||
|
$(COMPILER) -Us -Sg system.pp
|
||||||
|
@ -1,10 +1,58 @@
|
|||||||
#
|
#
|
||||||
# Makefile.fpc for Free Pascal Symbian
|
# Makefile.fpc for Free Pascal SymbianOS RTL
|
||||||
#
|
#
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
main=rtl
|
main=rtl
|
||||||
|
|
||||||
|
[target]
|
||||||
|
units=system
|
||||||
|
|
||||||
|
[require]
|
||||||
|
nortl=y
|
||||||
|
|
||||||
|
[install]
|
||||||
|
fpcpackage=y
|
||||||
|
|
||||||
|
[default]
|
||||||
|
fpcdir=../..
|
||||||
|
target=symbian
|
||||||
|
|
||||||
|
[compiler]
|
||||||
|
includedir=$(INC) $(PROCINC)
|
||||||
|
sourcedir=$(INC) $(PROCINC) $(COMMON)
|
||||||
|
|
||||||
|
|
||||||
|
[prerules]
|
||||||
|
RTL=..
|
||||||
|
INC=$(RTL)/inc
|
||||||
|
COMMON=$(RTL)/common
|
||||||
|
PROCINC=$(RTL)/$(CPU_TARGET)
|
||||||
|
OBJPASDIR=$(RTL)/objpas
|
||||||
|
UNITPREFIX=rtl
|
||||||
|
|
||||||
[rules]
|
[rules]
|
||||||
.NOTPARALLEL:
|
.NOTPARALLEL:
|
||||||
|
SYSTEMPPU=$(addsuffix $(PPUEXT),system)
|
||||||
|
|
||||||
|
# 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 Units (System, Objpas, Strings)
|
||||||
|
#
|
||||||
|
|
||||||
|
system$(PPUEXT) : system.pp $(SYSDEPS)
|
||||||
|
$(COMPILER) -Us -Sg system.pp
|
||||||
|
Loading…
Reference in New Issue
Block a user