#
#   Makefile.fpc for Free Pascal SymbianOS RTL
#

[package]
main=rtl

[target]
# $(MACPASUNIT) and $(ISO7185UNIT) units rely on sysutils unit, not yet handled here
# $(EXTPASUNIT) unit relies on dos unit, not yet handled
units=$(SYSTEMUNIT) $(ISO7185UNIT) $(EXTPASUNIT) $(UUCHARUNIT) $(OBJPASUNIT) $(MACPASUNIT) \
      $(SYSCONSTUNIT) $(SYSUTILSUNIT) $(MATHUNIT) $(RTLCONSTSUNIT) \
      $(CHARACTERUNIT) $(FPWIDESTRINGUNIT) $(FGLUNIT) $(CPU_UNITS) \
      $(DOSUNIT) $(TYPEINFOUNIT) $(TYPESUNIT) $(SORTBASEUNIT) $(CLASSESUNIT) buildrtl
implicitunits=$(CTYPESUNIT) $(STRINGSUNIT) $(SYMBIANUNIT) $(UNICODEDATAUNIT)

[require]
nortl=y

[install]
fpcpackage=y

[default]
target=symbian

[compiler]
includedir=$(INC) $(PROCINC)
sourcedir=$(INC) $(PROCINC) $(COMMON)


[prerules]
RTL=..
INC=$(RTL)/inc
COMMON=$(RTL)/common
PROCINC=$(RTL)/$(CPU_TARGET)
SYMBIANINC=./symbianinc
UIQINC=./uiqinc

UNITPREFIX=rtl
ifndef FPC_DOTTEDUNITS
RTLCONSTSUNIT=rtlconst
endif

OBJPASDIR=$(RTL)/objpas

ifeq ($(ARCH),i386)
CPU_UNITS=$(CPUUNIT) $(MMXUNIT)
endif

ifeq ($(ARCH),arm)
CPU_UNITS=$(CPUUNIT)
endif

ifneq ($(findstring $(ARCH),i386),)
CPU_DEPS_CPU=$(SYSUTILSUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT)
else
CPU_DEPS_CPU=$(SYSUTILSUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT)
endif
DOS_DEPS_OS=$(OBJPASUNIT)$(PPUEXT)

[rules]
.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)
#

buildrtl$(PPUEXT): buildrtl.pp $(SYSTEMUNIT)$(PPUEXT) $(OBJPASUNIT)$(PPUEXT) # $(MACPASUNIT)$(PPUEXT)
        $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(OBJPASDIR) -I$(INC) -I$(SYMBIANINC) -I$(UIQINC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl