123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- #
- # Makefile.fpc for Free Pascal Linux RTL
- #
- [package]
- main=rtl
- [target]
- loaders=$(LOADERS)
- units=$(SYSTEMUNIT) $(SYSINIT_UNITS) $(CPU_UNITS) \
- $(UUCHARUNIT) $(UNIXTYPEUNIT) $(CTYPESUNIT) $(BASEUNIXUNIT) $(STRINGSUNIT) $(OBJPASUNIT) $(MACPASUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(SYSCALLUNIT) $(UNIXUTILUNIT) \
- $(FPINTRESUNIT) $(HEAPTRCUNIT) $(LINEINFOUNIT) $(LNFODWRFUNIT) $(TERMIOUNIT) $(UNIXUNIT) $(LINUXUNIT) $(INITCUNIT) $(CMEMUNIT) \
- $(LINUXVCSUNIT) $(SYSUTILSUNIT) $(TYPINFOUNIT) $(MATHUNIT) $(CHARSETUNIT) $(CPALLUNIT) $(CHARACTERUNIT) \
- $(GETOPTSUNIT) $(ERRORSUNIT) $(DLUNIT) $(DYNLIBSUNIT) \
- $(TYPESUNIT) $(SYSCONSTUNIT) $(CTHREADSUNIT) $(SORTBASEUNIT) $(CLASSESUNIT) $(FGLUNIT) \
- $(RTLCONSTSUNIT) $(DOSUNIT) $(CWSTRINGUNIT) $(FPCYLIXUNIT) $(UNIXCPUNIT) $(FPWIDESTRINGUNIT) \
- $(SOFTFPUUNIT) $(SFPUX80UNIT) $(UFLOATX80UNIT) $(SFPU128UNIT) $(UFLOAT128UNIT)
- implicitunits=$(EXEINFOUNIT) $(CP_UNITS) $(UNICODEDATAUNIT)
- rsts=$(MATHUNIT) $(TYPINFOUNIT) $(SYSCONSTUNIT) $(RTLCONSTSUNIT)
- [require]
- nortl=y
- [clean]
- units=$(LINUXUNIT)
- [install]
- fpcpackage=y
- [default]
- target=android
- [compiler]
- includedir=$(INC) $(PROCINC) $(UNIXINC) $(ARCH) $(LINUXINC) $(OSPROCINC)
- sourcedir=$(INC) $(PROCINC) $(UNIXINC) $(ARCH) $(COMMON) $(LINUXINC)
- targetdir=.
- [shared]
- libunits=$(SYSTEMUNIT) $(OBJPASUNIT) $(STRINGSUNIT) $(DOSUNIT) \
- $(UNIXUNIT) $(BASEUNIXUNIT) $(UNIXTYPEUNIT) $(UNIXUTILUNIT) \
- $(SYSUTILSUNIT) $(TYPINFOUNIT) $(MATHUNIT) \
- $(CPU_UNITS) $(GETOPTSUNIT) \
- $(ERRORSUNIT) \
- $(SORTBASEUNIT) $(CLASSESUNIT) $(FGLUNIT) $(SYSCONSTUNIT) $(RTLCONSTSUNIT) \
- [prerules]
- RTL=..
- INC=$(RTL)/inc
- COMMON=$(RTL)/common
- PROCINC=$(RTL)/$(ARCH)
- UNIXINC=$(RTL)/unix
- OSPROCINC=$(RTL)/linux/$(CPU_TARGET)
- LINUXINC=$(RTL)/linux
- CLASSESDIR=$(UNIXINC)
- DYNLIBS_DEPS_OS=$(DLUNIT)$(PPUEXT)
- DYNLIBSINCDIR=$(UNIXINC)
- DL_DEPS_OS=dlandroid.inc
- TERMIODIR=$(LINUXINC)
- PTHREADINCDIR=$(LINUXINC)
- PTYPESINCDIR=$(LINUXINC)
- SYSTEMDIR = $(LINUXINC)
- SYSCALL_DEPS_OS=$(LINUXINC)/$(ARCH)/syscallh.inc $(LINUXINC)/$(ARCH)/sysnr.inc
- SYSUTILS_DEPS_OS=$(DLUNIT)$(PPUEXT) $(UNIXUNIT)$(PPUEXT) $(ERRORSUNIT)$(PPUEXT)
- SYSUTILSDIR=$(UNIXINC)
- # Android has a specific file for cwstring.pp unit main source
- CWSTRINGDIR=$(OSDIR)
- UNITPREFIX=rtl
- CPU_UNITS=
- SYSINIT_UNITS=
- LOADERS=prt0 dllprt0
- ifeq ($(findstring $(ARCH),i386 x86_64 arm),$(ARCH))
- CPU_UNITS=$(CPUUNIT)
- endif
- ifeq ($(ARCH),i386)
- CPU_UNITS+=$(MMXUNIT)
- endif
- # Causes release PPU files not to be recompiled
- ifdef RELEASE
- override FPCOPT+=-Ur
- endif
- # Paths
- OBJPASDIR=$(RTL)/objpas
- [rules]
- .NOTPARALLEL:
- # Get the $(SYSTEMUNIT) independent include file names.
- # This will set the following variables :
- # SYSINCNAMES
- include $(INC)/makefile.inc
- SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
- SYSINCDEPS:=$(SYSINCDEPS) sysandroidh.inc sysandroid.inc
- # Get the processor dependent include file names.
- # This will set the following variables :
- # CPUINCNAMES
- include $(PROCINC)/makefile.cpu
- SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
- # Put $(SYSTEMUNIT) unit dependencies together.
- SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
- # Select 32/64 mode
- ifeq ($(ARCH),i386)
- ASTARGET=--32
- endif
- # Select mips32 instruction set and PIC for MIPS
- ifeq ($(ARCH),mipsel)
- ASTARGET=-mips32 -KPIC
- endif
- ifneq ($(findstring $(ARCH),aarch64 x86_64),)
- CPUBITS=64
- else
- CPUBITS=32
- endif
- #
- # Loaders
- #
- prt0$(OEXT) : prt0.as
- $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)prt0$(OEXT) --defsym CPU$(CPUBITS)=1 prt0.as
- dllprt0$(OEXT) : dllprt0.as
- $(AS) $(ASTARGET) -o $(UNITTARGETDIRPREFIX)dllprt0$(OEXT) --defsym CPU$(CPUBITS)=1 dllprt0.as
|