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