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