2
# Don't edit, this file is generated by FPCMake Version 1.1 [2004/05/23]
5
MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom
6
BSDs = freebsd netbsd openbsd darwin
7
UNIXs = linux $(BSDs) sunos qnx
10
override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
11
ifneq ($(findstring darwin,$(OSTYPE)),)
13
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
15
ifeq ($(findstring ;,$(PATH)),)
17
SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
19
SEARCHPATH:=$(subst ;, ,$(PATH))
22
SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
23
PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
25
PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
27
$(error You need the GNU utils package to use this Makefile)
29
PWD:=$(firstword $(PWD))
33
PWD:=$(firstword $(PWD))
37
ifeq ($(OS),Windows_NT)
45
ifneq ($(findstring cygdrive,$(PATH)),)
61
PATHSEP:=$(subst /,\,/)
67
BASEDIR:=$(subst \,/,$(shell $(PWD)))
69
ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
70
BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
71
BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
72
BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
80
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
82
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
86
ECHO:=$(firstword $(ECHO))
89
ECHO:=$(firstword $(ECHO))
94
override DEFAULT_FPCDIR=../../..
101
FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
103
FPCPROG:=$(firstword $(FPCPROG))
104
FPC:=$(shell $(FPCPROG) -PB)
105
ifneq ($(findstring Error,$(FPC)),)
112
override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
113
override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
115
FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
116
FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
118
export FPC FPC_VERSION FPC_COMPILERINFO
119
unexport CHECKDEPEND ALLDEPENDENCIES
121
ifdef CPU_TARGET_DEFAULT
122
CPU_TARGET=$(CPU_TARGET_DEFAULT)
126
ifdef OS_TARGET_DEFAULT
127
OS_TARGET=$(OS_TARGET_DEFAULT)
130
ifneq ($(words $(FPC_COMPILERINFO)),5)
131
FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
132
FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
133
FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
134
FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
137
CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
140
CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
143
OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
146
OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
148
FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
149
FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
150
ifneq ($(FULL_TARGET),$(FULL_SOURCE))
153
ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
154
ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
155
$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
158
ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
161
ifeq ($(OS_TARGET),linux)
164
export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
166
override FPCDIR:=$(subst \,/,$(FPCDIR))
167
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
168
override FPCDIR=wrong
171
override FPCDIR=wrong
174
ifeq ($(FPCDIR),wrong)
175
override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
176
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
177
override FPCDIR=wrong
181
ifeq ($(FPCDIR),wrong)
183
override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
184
ifeq ($(wildcard $(FPCDIR)/units),)
185
override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
188
override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
189
override FPCDIR:=$(FPCDIR)/..
190
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
191
override FPCDIR:=$(FPCDIR)/..
192
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
193
override FPCDIR:=$(BASEDIR)
194
ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
195
override FPCDIR=c:/pp
202
CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
204
ifndef CROSSTARGETDIR
205
CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET)
208
UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units)
210
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
213
UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
215
PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
216
override PACKAGE_NAME=fcl
217
override TARGET_UNITS+=memds
218
override TARGET_RSTS+=memds
219
override TARGET_EXAMPLES+=testpop testopen testld testcp
220
override INSTALL_FPCPACKAGE=y
221
override COMPILER_TARGETDIR+=../../$(OS_TARGET)
222
ifdef REQUIRE_UNITSDIR
223
override UNITSDIR+=$(REQUIRE_UNITSDIR)
225
ifdef REQUIRE_PACKAGESDIR
226
override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
229
ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
233
ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
237
ifndef INSTALL_PREFIX
239
INSTALL_PREFIX=$(PREFIX)
242
ifndef INSTALL_PREFIX
244
INSTALL_PREFIX=/usr/local
246
ifdef INSTALL_FPCPACKAGE
249
INSTALL_BASEDIR:=/$(PACKAGE_NAME)
253
export INSTALL_PREFIX
254
ifdef INSTALL_FPCSUBDIR
255
export INSTALL_FPCSUBDIR
258
DIST_DESTDIR:=$(BASEDIR)
261
ifndef INSTALL_BASEDIR
263
ifdef INSTALL_FPCPACKAGE
264
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
266
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
269
INSTALL_BASEDIR:=$(INSTALL_PREFIX)
272
ifndef INSTALL_BINDIR
275
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
277
INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
281
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin
283
INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
285
ifdef INSTALL_FPCPACKAGE
286
INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
290
ifndef INSTALL_UNITDIR
292
INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units
294
INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
296
ifdef INSTALL_FPCPACKAGE
298
INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
302
ifndef INSTALL_LIBDIR
304
INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
306
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
309
ifndef INSTALL_SOURCEDIR
312
SRCPREFIXDIR=share/src
315
SRCPREFIXDIR=share/src
320
ifdef INSTALL_FPCPACKAGE
321
ifdef INSTALL_FPCSUBDIR
322
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
324
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
327
INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
330
ifdef INSTALL_FPCPACKAGE
331
ifdef INSTALL_FPCSUBDIR
332
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
334
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
337
INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
341
ifndef INSTALL_DOCDIR
344
DOCPREFIXDIR=share/doc
347
DOCPREFIXDIR=share/doc
352
ifdef INSTALL_FPCPACKAGE
353
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
355
INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
358
ifdef INSTALL_FPCPACKAGE
359
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
361
INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
365
ifndef INSTALL_EXAMPLEDIR
367
ifdef INSTALL_FPCPACKAGE
369
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
372
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
374
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
379
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
382
INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
384
INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
389
ifdef INSTALL_FPCPACKAGE
390
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
392
INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
396
ifndef INSTALL_DATADIR
397
INSTALL_DATADIR=$(INSTALL_BASEDIR)
401
CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE))
402
ifeq ($(CROSSBINDIR),)
403
CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
422
ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
423
ifeq ($(OS_TARGET),go32v1)
428
ifeq ($(OS_TARGET),go32v2)
433
ifeq ($(OS_TARGET),watcom)
441
ifeq ($(OS_TARGET),linux)
448
ifeq ($(OS_TARGET),freebsd)
452
FPCMADE=fpcmade.freebsd
455
ifeq ($(OS_TARGET),netbsd)
459
FPCMADE=fpcmade.netbsd
462
ifeq ($(OS_TARGET),openbsd)
466
FPCMADE=fpcmade.openbsd
469
ifeq ($(OS_TARGET),win32)
474
ifeq ($(OS_TARGET),os2)
483
ifeq ($(OS_TARGET),emx)
492
ifeq ($(OS_TARGET),amiga)
494
SHAREDLIBEXT=.library
497
ifeq ($(OS_TARGET),atari)
501
ifeq ($(OS_TARGET),beos)
507
ifeq ($(OS_TARGET),sunos)
513
ifeq ($(OS_TARGET),qnx)
519
ifeq ($(OS_TARGET),netware)
525
ifeq ($(OS_TARGET),macos)
528
FPCMADE=fpcmade.macos
532
ifeq ($(OS_TARGET),darwin)
536
FPCMADE=fpcmade.darwin
540
ifeq ($(OS_TARGET),go32v1)
551
ifeq ($(OS_TARGET),go32v2)
556
ifeq ($(OS_TARGET),watcom)
561
ifeq ($(OS_TARGET),linux)
568
ifeq ($(OS_TARGET),freebsd)
572
FPCMADE=fpcmade.freebsd
575
ifeq ($(OS_TARGET),netbsd)
579
FPCMADE=fpcmade.netbsd
582
ifeq ($(OS_TARGET),openbsd)
586
FPCMADE=fpcmade.openbsd
589
ifeq ($(OS_TARGET),win32)
599
ifeq ($(OS_TARGET),os2)
613
ifeq ($(OS_TARGET),amiga)
620
SHAREDLIBEXT=.library
623
ifeq ($(OS_TARGET),atari)
632
ifeq ($(OS_TARGET),beos)
643
ifeq ($(OS_TARGET),sunos)
654
ifeq ($(OS_TARGET),qnx)
665
ifeq ($(OS_TARGET),netware)
677
ifeq ($(OS_TARGET),macos)
686
FPCMADE=fpcmade.macos
690
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
692
ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
694
ECHO= __missing_command__
696
ECHO:=$(firstword $(ECHO))
699
ECHO:=$(firstword $(ECHO))
704
DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
706
DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
708
DATE= __missing_command__
710
DATE:=$(firstword $(DATE))
713
DATE:=$(firstword $(DATE))
718
GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
720
GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
722
GINSTALL= __missing_command__
724
GINSTALL:=$(firstword $(GINSTALL))
727
GINSTALL:=$(firstword $(GINSTALL))
732
CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
734
CPPROG= __missing_command__
736
CPPROG:=$(firstword $(CPPROG))
741
RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
743
RMPROG= __missing_command__
745
RMPROG:=$(firstword $(RMPROG))
750
MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
752
MVPROG= __missing_command__
754
MVPROG:=$(firstword $(MVPROG))
769
COPYTREE:=$(CPPROG) -rfp
778
DELTREE:=$(RMPROG) -rf
782
INSTALL:=$(GINSTALL) -c -m 644
789
INSTALLEXE:=$(GINSTALL) -c -m 755
795
MKDIR:=$(GINSTALL) -m 755 -d
797
export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
799
PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
801
PPUMOVE= __missing_command__
803
PPUMOVE:=$(firstword $(PPUMOVE))
808
FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
810
FPCMAKE= __missing_command__
812
FPCMAKE:=$(firstword $(FPCMAKE))
817
ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
819
ZIPPROG= __missing_command__
821
ZIPPROG:=$(firstword $(ZIPPROG))
826
TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
828
TARPROG= __missing_command__
830
TARPROG:=$(firstword $(TARPROG))
834
ASNAME=$(BINUTILSPREFIX)as
835
LDNAME=$(BINUTILSPREFIX)ld
836
ARNAME=$(BINUTILSPREFIX)ar
837
RCNAME=$(BINUTILSPREFIX)rc
838
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
839
ifeq ($(OS_TARGET),win32)
840
ifeq ($(CROSSBINDIR),)
849
ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
856
LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
863
RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
870
ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
879
PPAS=ppas$(SRCBATCHEXT)
886
DATESTR:=$(shell $(DATE) +%Y%m%d)
891
ifeq ($(OS_TARGET),go32v2)
894
ifeq ($(OS_TARGET),win32)
898
UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
902
UPXPROG:=$(firstword $(UPXPROG))
918
override REQUIRE_PACKAGES=rtl
919
ifeq ($(OS_TARGET),linux)
920
ifeq ($(CPU_TARGET),i386)
921
REQUIRE_PACKAGES_RTL=1
924
ifeq ($(OS_TARGET),linux)
925
ifeq ($(CPU_TARGET),m68k)
926
REQUIRE_PACKAGES_RTL=1
929
ifeq ($(OS_TARGET),linux)
930
ifeq ($(CPU_TARGET),powerpc)
931
REQUIRE_PACKAGES_RTL=1
934
ifeq ($(OS_TARGET),linux)
935
ifeq ($(CPU_TARGET),sparc)
936
REQUIRE_PACKAGES_RTL=1
939
ifeq ($(OS_TARGET),linux)
940
ifeq ($(CPU_TARGET),x86_64)
941
REQUIRE_PACKAGES_RTL=1
944
ifeq ($(OS_TARGET),linux)
945
ifeq ($(CPU_TARGET),arm)
946
REQUIRE_PACKAGES_RTL=1
949
ifeq ($(OS_TARGET),go32v2)
950
ifeq ($(CPU_TARGET),i386)
951
REQUIRE_PACKAGES_RTL=1
954
ifeq ($(OS_TARGET),win32)
955
ifeq ($(CPU_TARGET),i386)
956
REQUIRE_PACKAGES_RTL=1
959
ifeq ($(OS_TARGET),os2)
960
ifeq ($(CPU_TARGET),i386)
961
REQUIRE_PACKAGES_RTL=1
964
ifeq ($(OS_TARGET),freebsd)
965
ifeq ($(CPU_TARGET),i386)
966
REQUIRE_PACKAGES_RTL=1
969
ifeq ($(OS_TARGET),freebsd)
970
ifeq ($(CPU_TARGET),m68k)
971
REQUIRE_PACKAGES_RTL=1
974
ifeq ($(OS_TARGET),freebsd)
975
ifeq ($(CPU_TARGET),x86_64)
976
REQUIRE_PACKAGES_RTL=1
979
ifeq ($(OS_TARGET),beos)
980
ifeq ($(CPU_TARGET),i386)
981
REQUIRE_PACKAGES_RTL=1
984
ifeq ($(OS_TARGET),netbsd)
985
ifeq ($(CPU_TARGET),i386)
986
REQUIRE_PACKAGES_RTL=1
989
ifeq ($(OS_TARGET),netbsd)
990
ifeq ($(CPU_TARGET),m68k)
991
REQUIRE_PACKAGES_RTL=1
994
ifeq ($(OS_TARGET),netbsd)
995
ifeq ($(CPU_TARGET),powerpc)
996
REQUIRE_PACKAGES_RTL=1
999
ifeq ($(OS_TARGET),netbsd)
1000
ifeq ($(CPU_TARGET),sparc)
1001
REQUIRE_PACKAGES_RTL=1
1004
ifeq ($(OS_TARGET),amiga)
1005
ifeq ($(CPU_TARGET),m68k)
1006
REQUIRE_PACKAGES_RTL=1
1009
ifeq ($(OS_TARGET),atari)
1010
ifeq ($(CPU_TARGET),m68k)
1011
REQUIRE_PACKAGES_RTL=1
1014
ifeq ($(OS_TARGET),sunos)
1015
ifeq ($(CPU_TARGET),i386)
1016
REQUIRE_PACKAGES_RTL=1
1019
ifeq ($(OS_TARGET),sunos)
1020
ifeq ($(CPU_TARGET),sparc)
1021
REQUIRE_PACKAGES_RTL=1
1024
ifeq ($(OS_TARGET),qnx)
1025
ifeq ($(CPU_TARGET),i386)
1026
REQUIRE_PACKAGES_RTL=1
1029
ifeq ($(OS_TARGET),netware)
1030
ifeq ($(CPU_TARGET),i386)
1031
REQUIRE_PACKAGES_RTL=1
1034
ifeq ($(OS_TARGET),openbsd)
1035
ifeq ($(CPU_TARGET),i386)
1036
REQUIRE_PACKAGES_RTL=1
1039
ifeq ($(OS_TARGET),openbsd)
1040
ifeq ($(CPU_TARGET),m68k)
1041
REQUIRE_PACKAGES_RTL=1
1044
ifeq ($(OS_TARGET),wdosx)
1045
ifeq ($(CPU_TARGET),i386)
1046
REQUIRE_PACKAGES_RTL=1
1049
ifeq ($(OS_TARGET),palmos)
1050
ifeq ($(CPU_TARGET),m68k)
1051
REQUIRE_PACKAGES_RTL=1
1054
ifeq ($(OS_TARGET),macos)
1055
ifeq ($(CPU_TARGET),powerpc)
1056
REQUIRE_PACKAGES_RTL=1
1059
ifeq ($(OS_TARGET),darwin)
1060
ifeq ($(CPU_TARGET),powerpc)
1061
REQUIRE_PACKAGES_RTL=1
1064
ifeq ($(OS_TARGET),emx)
1065
ifeq ($(CPU_TARGET),i386)
1066
REQUIRE_PACKAGES_RTL=1
1069
ifeq ($(OS_TARGET),watcom)
1070
ifeq ($(CPU_TARGET),i386)
1071
REQUIRE_PACKAGES_RTL=1
1074
ifdef REQUIRE_PACKAGES_RTL
1075
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR))))))
1076
ifneq ($(PACKAGEDIR_RTL),)
1077
ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),)
1078
UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET)
1080
UNITDIR_RTL=$(PACKAGEDIR_RTL)
1083
$(PACKAGEDIR_RTL)/$(FPCMADE):
1084
$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
1085
override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
1089
UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
1090
ifneq ($(UNITDIR_RTL),)
1091
UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
1097
override COMPILER_UNITDIR+=$(UNITDIR_RTL)
1101
override FPCOPTDEF=$(CPU_TARGET)
1103
ifneq ($(OS_TARGET),$(OS_SOURCE))
1104
override FPCOPT+=-T$(OS_TARGET)
1106
ifeq ($(OS_SOURCE),openbsd)
1107
override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
1109
ifndef CROSSBOOTSTRAP
1110
ifneq ($(BINUTILSPREFIX),)
1111
override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
1113
ifneq ($(BINUTILSPREFIX),)
1114
override FPCOPT+=-Xr$(RLINKPATH)
1118
override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
1121
override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
1124
override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
1127
override FPCOPT+=$(addprefix -Fi,$(INCDIR))
1130
override FPCOPT+=-XX
1133
override FPCOPT+=-CX
1136
override FPCOPT+=-gl
1137
override FPCOPTDEF+=DEBUG
1140
ifeq ($(CPU_TARGET),i386)
1143
ifeq ($(CPU_TARGET),powerpc)
1149
override FPCOPT+=-Xs $(FPCCPUOPT) -n
1150
override FPCOPTDEF+=RELEASE
1153
override FPCOPT+=-Xs
1156
ifeq ($(CPU_TARGET),i386)
1157
override FPCOPT+=-OG2p3
1161
override FPCOPT+=-vwni
1163
ifdef COMPILER_OPTIONS
1164
override FPCOPT+=$(COMPILER_OPTIONS)
1166
ifdef COMPILER_UNITDIR
1167
override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
1169
ifdef COMPILER_LIBRARYDIR
1170
override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
1172
ifdef COMPILER_OBJECTDIR
1173
override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
1175
ifdef COMPILER_INCLUDEDIR
1176
override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
1179
override FPCOPT+=-FD$(CROSSBINDIR)
1181
ifdef COMPILER_TARGETDIR
1182
override FPCOPT+=-FE$(COMPILER_TARGETDIR)
1183
ifeq ($(COMPILER_TARGETDIR),.)
1184
override TARGETDIRPREFIX=
1186
override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
1189
ifdef COMPILER_UNITTARGETDIR
1190
override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
1191
ifeq ($(COMPILER_UNITTARGETDIR),.)
1192
override UNITTARGETDIRPREFIX=
1194
override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
1197
ifdef COMPILER_TARGETDIR
1198
override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
1199
override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
1202
ifeq ($(OS_TARGET),linux)
1203
ifeq ($(FPC_VERSION),1.0.6)
1204
override FPCOPTDEF+=HASUNIX
1208
override FPCOPT+=$(OPT)
1211
override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
1214
override FPCOPT+=@$(CFGFILE)
1217
override FPCEXTCMD:=$(FPCOPT)
1218
override FPCOPT:=!FPCEXTCMD
1221
override COMPILER:=$(FPC) $(FPCOPT)
1222
ifeq (,$(findstring -s ,$(COMPILER)))
1225
ifeq ($(FULL_SOURCE),$(FULL_TARGET))
1230
ifneq ($(TARGET_UNITS),)
1231
override ALLTARGET+=fpc_units
1232
override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
1233
override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
1234
override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
1235
override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
1237
fpc_units: $(UNITPPUFILES)
1239
override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
1240
override CLEANRSTFILES+=$(RSTFILES)
1242
.PHONY: fpc_examples
1243
ifneq ($(TARGET_EXAMPLES),)
1245
override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))
1246
override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
1247
override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
1248
override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
1249
ifeq ($(OS_TARGET),os2)
1250
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
1252
ifeq ($(OS_TARGET),emx)
1253
override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
1256
ifneq ($(TARGET_EXAMPLEDIRS),)
1259
fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
1260
.PHONY: fpc_all fpc_smart fpc_debug fpc_release
1261
$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
1262
@$(ECHOREDIR) Compiled > $(FPCMADE)
1265
$(MAKE) all LINKSMART=1 CREATESMART=1
1269
$(MAKE) all RELEASE=1
1270
.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res
1288
vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1289
vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1290
vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
1291
vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
1292
.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
1294
override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
1296
ifdef INSTALL_BUILDUNIT
1297
override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
1299
ifdef INSTALLPPUFILES
1300
override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
1301
override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
1302
override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
1303
override INSTALL_CREATEPACKAGEFPC=1
1305
ifdef INSTALLEXEFILES
1306
override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
1308
fpc_install: all $(INSTALLTARGET)
1309
ifdef INSTALLEXEFILES
1310
$(MKDIR) $(INSTALL_BINDIR)
1312
-$(UPXPROG) $(INSTALLEXEFILES)
1314
$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
1316
ifdef INSTALL_CREATEPACKAGEFPC
1318
ifdef PACKAGE_VERSION
1319
ifneq ($(wildcard Makefile.fpc),)
1320
$(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
1321
$(MKDIR) $(INSTALL_UNITDIR)
1322
$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
1327
ifdef INSTALLPPUFILES
1328
$(MKDIR) $(INSTALL_UNITDIR)
1329
$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
1330
ifneq ($(INSTALLPPULINKFILES),)
1331
$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
1333
ifneq ($(wildcard $(LIB_FULLNAME)),)
1334
$(MKDIR) $(INSTALL_LIBDIR)
1335
$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
1337
ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
1342
$(MKDIR) $(INSTALL_DATADIR)
1343
$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
1345
fpc_sourceinstall: distclean
1346
$(MKDIR) $(INSTALL_SOURCEDIR)
1347
$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
1348
fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
1350
$(MKDIR) $(INSTALL_EXAMPLEDIR)
1352
ifdef EXAMPLESOURCEFILES
1353
$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
1355
ifdef TARGET_EXAMPLEDIRS
1356
$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
1358
.PHONY: fpc_clean fpc_cleanall fpc_distclean
1360
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
1363
override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
1366
override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
1368
override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
1370
override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
1371
override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
1373
fpc_clean: $(CLEANTARGET)
1375
-$(DEL) $(CLEANEXEFILES)
1378
-$(DEL) $(CLEANPPUFILES)
1380
ifneq ($(CLEANPPULINKFILES),)
1381
-$(DEL) $(CLEANPPULINKFILES)
1384
-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
1387
-$(DEL) $(CLEAN_FILES)
1390
-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
1392
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
1393
-$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
1394
fpc_distclean: clean
1395
ifdef COMPILER_UNITTARGETDIR
1396
TARGETDIRCLEAN=fpc_clean
1398
fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
1400
-$(DEL) $(CLEANEXEFILES)
1402
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
1403
-$(DELTREE) *$(SMARTEXT)
1404
-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
1405
-$(DEL) *_ppas$(BATCHEXT)
1410
-$(DEL) *$(DEBUGSYMEXT)
1412
.PHONY: fpc_baseinfo
1413
override INFORULES+=fpc_baseinfo
1416
@$(ECHO) == Package info ==
1417
@$(ECHO) Package Name..... $(PACKAGE_NAME)
1418
@$(ECHO) Package Version.. $(PACKAGE_VERSION)
1420
@$(ECHO) == Configuration info ==
1422
@$(ECHO) FPC.......... $(FPC)
1423
@$(ECHO) FPC Version.. $(FPC_VERSION)
1424
@$(ECHO) Source CPU... $(CPU_SOURCE)
1425
@$(ECHO) Target CPU... $(CPU_TARGET)
1426
@$(ECHO) Source OS.... $(OS_SOURCE)
1427
@$(ECHO) Target OS.... $(OS_TARGET)
1428
@$(ECHO) Full Source.. $(FULL_SOURCE)
1429
@$(ECHO) Full Target.. $(FULL_TARGET)
1431
@$(ECHO) == Directory info ==
1433
@$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
1435
@$(ECHO) Basedir......... $(BASEDIR)
1436
@$(ECHO) FPCDir.......... $(FPCDIR)
1437
@$(ECHO) CrossBinDir..... $(CROSSBINDIR)
1438
@$(ECHO) UnitsDir........ $(UNITSDIR)
1439
@$(ECHO) PackagesDir..... $(PACKAGESDIR)
1441
@$(ECHO) GCC library..... $(GCCLIBDIR)
1442
@$(ECHO) Other library... $(OTHERLIBDIR)
1444
@$(ECHO) == Tools info ==
1446
@$(ECHO) As........ $(AS)
1447
@$(ECHO) Ld........ $(LD)
1448
@$(ECHO) Ar........ $(AR)
1449
@$(ECHO) Rc........ $(RC)
1451
@$(ECHO) Mv........ $(MVPROG)
1452
@$(ECHO) Cp........ $(CPPROG)
1453
@$(ECHO) Rm........ $(RMPROG)
1454
@$(ECHO) GInstall.. $(GINSTALL)
1455
@$(ECHO) Echo...... $(ECHO)
1456
@$(ECHO) Shell..... $(SHELL)
1457
@$(ECHO) Date...... $(DATE)
1458
@$(ECHO) FPCMake... $(FPCMAKE)
1459
@$(ECHO) PPUMove... $(PPUMOVE)
1460
@$(ECHO) Upx....... $(UPXPROG)
1461
@$(ECHO) Zip....... $(ZIPPROG)
1463
@$(ECHO) == Object info ==
1465
@$(ECHO) Target Loaders........ $(TARGET_LOADERS)
1466
@$(ECHO) Target Units.......... $(TARGET_UNITS)
1467
@$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
1468
@$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
1469
@$(ECHO) Target Dirs........... $(TARGET_DIRS)
1470
@$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
1471
@$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
1473
@$(ECHO) Clean Units......... $(CLEAN_UNITS)
1474
@$(ECHO) Clean Files......... $(CLEAN_FILES)
1476
@$(ECHO) Install Units....... $(INSTALL_UNITS)
1477
@$(ECHO) Install Files....... $(INSTALL_FILES)
1479
@$(ECHO) == Install info ==
1481
@$(ECHO) DateStr.............. $(DATESTR)
1482
@$(ECHO) ZipPrefix............ $(ZIPPREFIX)
1483
@$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
1484
@$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
1486
@$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
1487
@$(ECHO) Install binary dir... $(INSTALL_BINDIR)
1488
@$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
1489
@$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
1490
@$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
1491
@$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
1492
@$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
1493
@$(ECHO) Install data dir..... $(INSTALL_DATADIR)
1495
@$(ECHO) Dist destination dir. $(DIST_DESTDIR)
1496
@$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
1499
fpc_info: $(INFORULES)
1500
.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
1503
$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
1506
$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
1508
ifdef TARGET_EXAMPLEDIRS
1509
$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
1511
fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
1512
fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
1513
fpc_makefiles: fpc_makefile fpc_makefile_dirs
1517
release: fpc_release
1518
examples: fpc_examples
1520
install: fpc_install
1521
sourceinstall: fpc_sourceinstall
1522
exampleinstall: fpc_exampleinstall
1529
distclean: fpc_distclean
1530
cleanall: fpc_cleanall
1532
makefiles: fpc_makefiles
1533
.PHONY: all debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
1534
ifneq ($(wildcard fpcmake.loc),)