fpc/rtl/win32/Makefile.fpc
Jonas Maebe aee5380ae0 * merged trunk up to r20882
o support for the new codepage-aware ansistrings in the jvm branch
   o empty ansistrings are now always represented by a nil pointer rather than
     by an empty string, because an empty string also has a code page which
     can confuse code (although this will make ansistrings harder to use
     in Java code)
   o more string helpers code shared between the general and jvm rtl
   o support for indexbyte/word in the jvm rtl (warning: first parameter
     is an open array rather than an untyped parameter there, so
     indexchar(pcharvar^,10,0) will be equivalent to
     indexchar[pcharvar^],10,0) there, which is different from what is
     intended; changing it to an untyped parameter wouldn't help though)
   o default() support is not yet complete
   o calling fpcres is currently broken due to limitations in
     sysutils.executeprocess() regarding handling unix quoting and
     the compiler using the same command lines for scripts and directly
     calling external programs
   o compiling the Java compiler currently requires adding ALLOW_WARNINGS=1
     to the make command line

git-svn-id: branches/jvmbackend@20887 -
2012-04-15 15:54:10 +00:00

127 lines
2.9 KiB
Makefile

#
# Makefile.fpc for Free Pascal Win32 RTL
#
[package]
main=rtl
[target]
loaders=$(LOADERS)
units=system uuchar objpas macpas iso7185 buildrtl lineinfo lnfodwrf
implicitunits=sysinitpas sysinitcyg sysinitgprof \
ctypes strings \
heaptrc matrix \
windows winsock winsock2 initc cmem dynlibs signals \
dos crt objects messages \
rtlconsts sysconst sysutils math types \
strutils dateutils varutils variants typinfo fgl classes \
convutils stdconvs cpu mmx charset character ucomplex getopts \
winevent sockets printer \
video mouse keyboard fmtbcd \
winsysut sharemem exeinfo fpintres windirs
# shared=$(DLLS)
rsts=math varutils typinfo variants classes dateutils sysconst
[require]
nortl=y
[install]
fpcpackage=y
[default]
fpcdir=../..
target=win32
[compiler]
includedir=$(INC) $(PROCINC) $(WINDIR)
sourcedir=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
[prerules]
RTL=..
INC=$(RTL)/inc
COMMON=$(RTL)/common
PROCINC=$(RTL)/$(CPU_TARGET)
WININC=../win/wininc
WINDIR=../win
UNITPREFIX=rtl
SYSTEMUNIT=system
ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
LOADERS=wprt0 wdllprt0 gprt0 wcygprt0
DLLS=
else
DLLS=fpcmemdll
endif
# Paths
OBJPASDIR=$(RTL)/objpas
# Files used by windows.pp
include $(WININC)/makefile.inc
WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
[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)
#
# Loaders
#
wprt0$(OEXT) : wprt0.as
gprt0$(OEXT) : gprt0.as
wdllprt0$(OEXT) : wdllprt0.as
wcygprt0$(OEXT) : wcygprt0.as
#
# Unit specific rules
#
system$(PPUEXT) : system.pp $(SYSDEPS)
$(COMPILER) -Us -Sg system.pp -Fi../win
uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
$(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) buildrtl$(PPUEXT)
$(COMPILER) $(INC)/macpas.pp $(REDIR)
buildrtl$(PPUEXT): buildrtl.pp system$(PPUEXT) objpas$(PPUEXT)
$(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(OBJPASDIR) -I$(WININC) -Fu$(WININC) -Fu$(WINDIR) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
softfpu$(PPUEXT) : ../inc/softfpu.pp system$(PPUEXT)
$(COMPILER) ../inc/softfpu.pp
sfpu128$(PPUEXT) : ../inc/sfpu128.pp system$(PPUEXT)
$(COMPILER) ../inc/sfpu128.pp
sfpux80$(PPUEXT) : ../inc/sfpux80.pp system$(PPUEXT)
$(COMPILER) ../inc/sfpux80.pp