1#
2#   Makefile.fpc for Free Pascal Win64 RTL
3#
4
5[package]
6main=rtl
7
8[target]
9loaders=$(LOADERS)
10units=system uuchar objpas macpas iso7185 buildrtl cpall lineinfo lnfodwrf
11implicitunits=sysinit ctypes strings \
12      extpas \
13      heaptrc \
14      dos messages \
15      windows cmem dynlibs \
16      rtlconsts sysconst sysutils math types \
17      typinfo fgl classes getopts \
18      charset character fpwidestring \
19      sharemem exeinfo fpintres windirs \
20      cpu signals \
21      cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 \
22      cp437 cp646 cp737 cp775 cp850 cp852 cp855 cp856 cp857 cp860 cp861 cp862 \
23      cp863 cp864 cp865 cp866 cp869 cp874 cp3021 cp8859_1 cp8859_2 cp8859_3 cp8859_4 \
24      cp8859_5 cp8859_6 cp8859_7 cp8859_8 cp8859_9 cp8859_10 cp8859_11 \
25      cp8859_13 cp8859_14 cp8859_15 cp8859_16 cpkoi8_r cpkoi8_u \
26      unicodedata unicodenumtable \
27      sfpux80
28
29# mmx
30#      fpcmemdll
31#     winsysut signals
32#     no cygwin so far
33#	initc
34
35rsts=math typinfo classes sysconst
36
37programs=
38
39shared=fpcmemdll
40
41[require]
42nortl=y
43
44[install]
45fpcpackage=y
46buildunit= buildrtl
47
48[default]
49fpcdir=../..
50target=win64
51
52[compiler]
53includedir=$(INC) $(PROCINC)
54sourcedir=$(INC) $(PROCINC) $(COMMON) $(WINDIR)
55
56
57[prerules]
58RTL=..
59INC=$(RTL)/inc
60COMMON=$(RTL)/common
61PROCINC=$(RTL)/$(CPU_TARGET)
62WININC=../win/wininc
63WINDIR=../win
64
65UNITPREFIX=rtl
66SYSTEMUNIT=system
67
68ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
69LOADERS=wprt0 wdllprt0 gprt0 wcygprt0
70endif
71
72# Paths
73OBJPASDIR=$(RTL)/objpas
74
75# Files used by windows.pp
76#include $(WININC)/makefile.inc
77
78WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
79
80
81[rules]
82SYSTEMPPU=$(addsuffix $(PPUEXT),system)
83
84# Get the system independent include file names.
85# This will set the following variables :
86# SYSINCNAMES
87include $(INC)/makefile.inc
88SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
89
90# Get the processor dependent include file names.
91# This will set the following variables :
92# CPUINCNAMES
93include $(PROCINC)/makefile.cpu
94SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
95
96# Put system unit dependencies together.
97SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
98
99
100#
101# Unit specific rules
102#
103
104system$(PPUEXT) : system.pp $(SYSDEPS)
105        $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp -Fi../win
106
107uuchar$(PPUEXT) : system$(PPUEXT) $(INC)/uuchar.pp
108        $(COMPILER) $(INC)/uuchar.pp
109
110objpas$(PPUEXT) : $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT)
111        $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
112
113macpas$(PPUEXT) : $(INC)/macpas.pp objpas$(PPUEXT) buildrtl$(PPUEXT) system$(PPUEXT)
114        $(COMPILER) $(INC)/macpas.pp $(REDIR)
115
116buildrtl$(PPUEXT) : buildrtl.pp system$(PPUEXT) objpas$(PPUEXT)
117        $(COMPILER) -Fi$(OBJPASDIR)/sysutils -Fi$(OBJPASDIR)/classes -Fu$(PROCINC) -I$(WINDIR) -I$(OBJPASDIR) -I$(WININC) -Fu$(WININC) -Fu$(WINDIR) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl
118
119cpall$(PPUEXT) : $(RTL)/charmaps/cpall.pas system$(PPUEXT) objpas$(PPUEXT)
120        $(COMPILER) -Fu$(INC) -Fi$(RTL)/charmaps $(RTL)/charmaps/cpall.pas
121
122iso7185$(PPUEXT) : $(INC)/iso7185.pp system$(PPUEXT)
123        $(COMPILER) $(INC)/iso7185.pp
124
125lineinfo$(PPUEXT) : $(INC)/lineinfo.pp system$(PPUEXT) buildrtl$(PPUEXT)
126	$(COMPILER) $(INC)/lineinfo.pp
127
128lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp system$(PPUEXT) buildrtl$(PPUEXT)
129	$(COMPILER) $(INC)/lnfodwrf.pp
130
131