summaryrefslogtreecommitdiff
path: root/fpcsrc/rtl/win64/Makefile.fpc
blob: bcc4978e634295cd420ba3c188e4653de63a78d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#
#   Makefile.fpc for Free Pascal Win64 RTL
#

[package]
main=rtl

[target]
loaders=$(LOADERS)
units=system objpas macpas iso7185 buildrtl lineinfo lnfodwrf
implicitunits=ctypes strings \
      heaptrc matrix \
      dos crt objects messages \
      windows winsock winsock2 cmem dynlibs \
      rtlconsts sysconst sysutils math types \
      strutils convutils dateutils \
      varutils variants typinfo fgl classes getopts \
      stdconvs sockets printer charset ucomplex fmtbcd \
      winevent video mouse keyboard \
      sharemem exeinfo fpintres windirs \
      cpu signals
# mmx
#      fpcmemdll
#     winsysut signals
#     no cygwin so far
#	initc

rsts=math varutils typinfo variants classes dateutils sysconst

programs=

shared=fpcmemdll

[require]
nortl=y

[install]
fpcpackage=y

[default]
fpcdir=../..
target=win64

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


[prerules]
RTL=..
INC=$(RTL)/inc
COMMON=$(RTL)/common
PROCINC=$(RTL)/$(CPU_TARGET)
WININC=../win/wininc
WINDIR=../win

UNITPREFIX=rtl

ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
LOADERS=wprt0 wdllprt0 gprt0 wcygprt0
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)


#
# Unit specific rules
#

system$(PPUEXT) : system.pp $(SYSDEPS)
        $(COMPILER) -Us -Sg system.pp -Fi../win

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$(WINDIR) -I$(OBJPASDIR) -I$(WININC) -Fu$(WININC) -Fu$(WINDIR) -I$(INC) -Fu$(INC) -Fu$(OBJPASDIR) buildrtl