mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-04 10:09:24 +02:00

(= Android 4.0) java headers: java.*, javax.*, org.*, junit.*, android.*). The RTL can also be used to target earlier versions of the Android platform, but you manually have to take care of not using APIs that weren't available yet. Adding separate units for separate platform versions would only partly solve the problem, because some of the classes used inside the system unit have also changed across versions. Use -Tandroid while compiling to select the Android OS as target platform. git-svn-id: branches/jvmbackend@19830 -
161 lines
4.2 KiB
Makefile
161 lines
4.2 KiB
Makefile
#
|
|
# Makefile.fpc for Free Pascal Android/JVM (Dalvik) RTL
|
|
#
|
|
|
|
[package]
|
|
main=rtl
|
|
|
|
[target]
|
|
loaders=
|
|
units=$(SYSTEMUNIT) uuchar objpas androidr14
|
|
|
|
[require]
|
|
nortl=y
|
|
|
|
[install]
|
|
fpcpackage=y
|
|
|
|
[default]
|
|
fpcdir=../../..
|
|
target=android
|
|
|
|
[compiler]
|
|
includedir=$(INC) $(PROCINC)
|
|
includedir_jvm=../../java
|
|
sourcedir=$(INC) $(PROCINC) $(COMMON) $(ARCH)
|
|
sourcedir_jvm=../../java
|
|
|
|
[prerules]
|
|
RTL=../..
|
|
INC=$(RTL)/inc
|
|
COMMON=$(RTL)/common
|
|
PROCINC=$(RTL)/$(CPU_TARGET)
|
|
UNITPREFIX=rtl
|
|
SYSTEMUNIT=system
|
|
override FPCOPT+=@rtl.cfg
|
|
|
|
ifdef RELEASE
|
|
override FPCOPT+=-Ur
|
|
endif
|
|
|
|
CPU_UNITS=
|
|
SYSINIT_UNITS=
|
|
|
|
[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)
|
|
|
|
|
|
#
|
|
# Base Units (System, strings, os-dependent-base-unit)
|
|
#
|
|
|
|
$(SYSTEMUNIT)$(PPUEXT) : $(RTL)/java/$(SYSTEMUNIT).pp $(SYSDEPS)
|
|
$(COMPILER) -Us -Sg $(RTL)/java/$(SYSTEMUNIT).pp $(REDIR)
|
|
|
|
uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
|
|
|
|
objpas$(PPUEXT): $(RTL)/java/objpas.pp
|
|
$(COMPILER) $(RTL)/java/objpas.pp $(REDIR)
|
|
|
|
strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \
|
|
$(PROCINC)/strings.inc $(PROCINC)/stringss.inc \
|
|
$(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
androidr14$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) objpas$(PPUEXT) androidr14.pas androidr14.inc
|
|
|
|
#
|
|
# System Dependent Units
|
|
#
|
|
|
|
#ports$(PPUEXT) : ports.pas objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
#doscalls$(PPUEXT) : doscalls.pas strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
#
|
|
# TP7 Compatible RTL Units
|
|
#
|
|
|
|
dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) \
|
|
$(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
#crt$(PPUEXT) : crt.pas $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
objects$(PPUEXT) : $(INC)/objects.pp dos$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
#printer$(PPUEXT) : printer.pas $(INC)/textrec.inc $(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
#graph$(PPUEXT) : graph.pp
|
|
|
|
#
|
|
# Delphi Compatible Units
|
|
#
|
|
|
|
sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
|
|
objpas$(PPUEXT) dos$(PPUEXT) sysconst$(PPUEXT)
|
|
$(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
|
|
|
|
classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
|
|
sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) types$(PPUEXT)
|
|
$(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
|
|
|
|
typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
|
|
$(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp $(REDIR)
|
|
|
|
math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
|
|
$(COMPILER) $(OBJPASDIR)/math.pp $(REDIR)
|
|
|
|
varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
|
|
$(OBJPASDIR)/varutilh.inc varutils.pp
|
|
$(COMPILER) -I$(OBJPASDIR) varutils.pp $(REDIR)
|
|
|
|
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) $(SYSTEMUNIT)$(PPUEXT)
|
|
$(COMPILER) $(OBJPASDIR)/types.pp
|
|
|
|
rtlconsts$(PPUEXT) : $(OBJPASDIR)/rtlconsts.pp
|
|
$(COMPILER) $(OBJPASDIR)/rtlconsts.pp
|
|
|
|
sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
|
$(COMPILER) $(OBJPASDIR)/sysconst.pp
|
|
|
|
dateutil$(PPUEXT) : $(OBJPASDIR)/dateutil.pp
|
|
$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutil.pp
|
|
|
|
#
|
|
# Mac Pascal Model
|
|
#
|
|
|
|
macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) math$(PPUEXT)
|
|
$(COMPILER) $(INC)/macpas.pp $(REDIR)
|
|
|
|
#
|
|
# Other system-independent RTL Units
|
|
#
|
|
|
|
ucomplex$(PPUEXT): $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
|
|
$(COMPILER) -Sg $(INC)/heaptrc.pp $(REDIR)
|
|
|
|
#lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
|
|
|
|
charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT)
|