Makefile 66 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/03/16]
  3. #
  4. default: all
  5. MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded
  6. BSDs = freebsd netbsd openbsd darwin
  7. UNIXs = linux $(BSDs) solaris qnx
  8. LIMIT83fs = go32v2 os2 emx watcom
  9. FORCE:
  10. .PHONY: FORCE
  11. override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH)))
  12. ifneq ($(findstring darwin,$(OSTYPE)),)
  13. inUnix=1 #darwin
  14. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  15. else
  16. ifeq ($(findstring ;,$(PATH)),)
  17. inUnix=1
  18. SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
  19. else
  20. SEARCHPATH:=$(subst ;, ,$(PATH))
  21. endif
  22. endif
  23. SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE))))
  24. PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
  25. ifeq ($(PWD),)
  26. PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
  27. ifeq ($(PWD),)
  28. $(error You need the GNU utils package to use this Makefile)
  29. else
  30. PWD:=$(firstword $(PWD))
  31. SRCEXEEXT=
  32. endif
  33. else
  34. PWD:=$(firstword $(PWD))
  35. SRCEXEEXT=.exe
  36. endif
  37. ifndef inUnix
  38. ifeq ($(OS),Windows_NT)
  39. inWinNT=1
  40. else
  41. ifdef OS2_SHELL
  42. inOS2=1
  43. endif
  44. endif
  45. else
  46. ifneq ($(findstring cygdrive,$(PATH)),)
  47. inCygWin=1
  48. endif
  49. endif
  50. ifdef inUnix
  51. SRCBATCHEXT=.sh
  52. else
  53. ifdef inOS2
  54. SRCBATCHEXT=.cmd
  55. else
  56. SRCBATCHEXT=.bat
  57. endif
  58. endif
  59. ifdef inUnix
  60. PATHSEP=/
  61. else
  62. PATHSEP:=$(subst /,\,/)
  63. ifdef inCygWin
  64. PATHSEP=/
  65. endif
  66. endif
  67. ifdef PWD
  68. BASEDIR:=$(subst \,/,$(shell $(PWD)))
  69. ifdef inCygWin
  70. ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
  71. BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
  72. BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
  73. BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
  74. endif
  75. endif
  76. else
  77. BASEDIR=.
  78. endif
  79. ifdef inOS2
  80. ifndef ECHO
  81. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  82. ifeq ($(ECHO),)
  83. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  84. ifeq ($(ECHO),)
  85. ECHO=echo
  86. else
  87. ECHO:=$(firstword $(ECHO))
  88. endif
  89. else
  90. ECHO:=$(firstword $(ECHO))
  91. endif
  92. endif
  93. export ECHO
  94. endif
  95. override OS_TARGET_DEFAULT=wince
  96. override DEFAULT_FPCDIR=../..
  97. ifndef FPC
  98. ifdef PP
  99. FPC=$(PP)
  100. endif
  101. endif
  102. ifndef FPC
  103. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  104. ifneq ($(FPCPROG),)
  105. FPCPROG:=$(firstword $(FPCPROG))
  106. FPC:=$(shell $(FPCPROG) -PB)
  107. ifneq ($(findstring Error,$(FPC)),)
  108. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  109. endif
  110. else
  111. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  112. endif
  113. endif
  114. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  115. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  116. FOUNDFPC:=$(strip $(wildcard $(FPC)))
  117. ifeq ($(FOUNDFPC),)
  118. FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
  119. ifeq ($(FOUNDFPC),)
  120. $(error Compiler $(FPC) not found)
  121. endif
  122. endif
  123. ifndef FPC_COMPILERINFO
  124. FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
  125. endif
  126. ifndef FPC_VERSION
  127. FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
  128. endif
  129. export FPC FPC_VERSION FPC_COMPILERINFO
  130. unexport CHECKDEPEND ALLDEPENDENCIES
  131. ifndef CPU_TARGET
  132. ifdef CPU_TARGET_DEFAULT
  133. CPU_TARGET=$(CPU_TARGET_DEFAULT)
  134. endif
  135. endif
  136. ifndef OS_TARGET
  137. ifdef OS_TARGET_DEFAULT
  138. OS_TARGET=$(OS_TARGET_DEFAULT)
  139. endif
  140. endif
  141. ifneq ($(words $(FPC_COMPILERINFO)),5)
  142. FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
  143. FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
  144. FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
  145. FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
  146. endif
  147. ifndef CPU_SOURCE
  148. CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
  149. endif
  150. ifndef CPU_TARGET
  151. CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
  152. endif
  153. ifndef OS_SOURCE
  154. OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
  155. endif
  156. ifndef OS_TARGET
  157. OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
  158. endif
  159. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  160. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  161. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  162. TARGETSUFFIX=$(OS_TARGET)
  163. SOURCESUFFIX=$(OS_SOURCE)
  164. else
  165. TARGETSUFFIX=$(FULL_TARGET)
  166. SOURCESUFFIX=$(FULL_SOURCE)
  167. endif
  168. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  169. CROSSCOMPILE=1
  170. endif
  171. ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
  172. ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
  173. $(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
  174. endif
  175. endif
  176. ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
  177. BSDhier=1
  178. endif
  179. ifeq ($(OS_TARGET),linux)
  180. linuxHier=1
  181. endif
  182. export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
  183. ifdef FPCDIR
  184. override FPCDIR:=$(subst \,/,$(FPCDIR))
  185. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  186. override FPCDIR=wrong
  187. endif
  188. else
  189. override FPCDIR=wrong
  190. endif
  191. ifdef DEFAULT_FPCDIR
  192. ifeq ($(FPCDIR),wrong)
  193. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  194. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  195. override FPCDIR=wrong
  196. endif
  197. endif
  198. endif
  199. ifeq ($(FPCDIR),wrong)
  200. ifdef inUnix
  201. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  202. ifeq ($(wildcard $(FPCDIR)/units),)
  203. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  204. endif
  205. else
  206. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  207. override FPCDIR:=$(FPCDIR)/..
  208. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  209. override FPCDIR:=$(FPCDIR)/..
  210. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  211. override FPCDIR:=$(BASEDIR)
  212. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  213. override FPCDIR=c:/pp
  214. endif
  215. endif
  216. endif
  217. endif
  218. endif
  219. ifndef CROSSBINDIR
  220. CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
  221. endif
  222. ifndef BINUTILSPREFIX
  223. ifndef CROSSBINDIR
  224. ifdef CROSSCOMPILE
  225. BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
  226. endif
  227. endif
  228. endif
  229. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
  230. ifeq ($(UNITSDIR),)
  231. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  232. endif
  233. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
  234. override PACKAGE_NAME=rtl
  235. PACKAGEDIR_MAIN:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  236. RTL=..
  237. INC=$(RTL)/inc
  238. COMMON=$(RTL)/common
  239. PROCINC=$(RTL)/$(CPU_TARGET)
  240. WININC=./wininc
  241. WINDIR=../win
  242. UNITPREFIX=rtl
  243. SYSTEMUNIT=system
  244. PRT0=wprt0
  245. ifdef RELEASE
  246. override FPCOPT+=-Ur
  247. endif
  248. OBJPASDIR=$(RTL)/objpas
  249. GRAPHDIR=$(INC)/graph
  250. include $(WININC)/makefile.inc
  251. WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
  252. ifeq ($(FULL_TARGET),i386-linux)
  253. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  254. endif
  255. ifeq ($(FULL_TARGET),i386-go32v2)
  256. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  257. endif
  258. ifeq ($(FULL_TARGET),i386-win32)
  259. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  260. endif
  261. ifeq ($(FULL_TARGET),i386-os2)
  262. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  263. endif
  264. ifeq ($(FULL_TARGET),i386-freebsd)
  265. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  266. endif
  267. ifeq ($(FULL_TARGET),i386-beos)
  268. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  269. endif
  270. ifeq ($(FULL_TARGET),i386-netbsd)
  271. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  272. endif
  273. ifeq ($(FULL_TARGET),i386-solaris)
  274. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  275. endif
  276. ifeq ($(FULL_TARGET),i386-qnx)
  277. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  278. endif
  279. ifeq ($(FULL_TARGET),i386-netware)
  280. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  281. endif
  282. ifeq ($(FULL_TARGET),i386-openbsd)
  283. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  284. endif
  285. ifeq ($(FULL_TARGET),i386-wdosx)
  286. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  287. endif
  288. ifeq ($(FULL_TARGET),i386-darwin)
  289. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  290. endif
  291. ifeq ($(FULL_TARGET),i386-emx)
  292. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  293. endif
  294. ifeq ($(FULL_TARGET),i386-watcom)
  295. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  296. endif
  297. ifeq ($(FULL_TARGET),i386-netwlibc)
  298. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  299. endif
  300. ifeq ($(FULL_TARGET),i386-wince)
  301. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  302. endif
  303. ifeq ($(FULL_TARGET),i386-embedded)
  304. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  305. endif
  306. ifeq ($(FULL_TARGET),i386-symbian)
  307. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  308. endif
  309. ifeq ($(FULL_TARGET),m68k-linux)
  310. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  311. endif
  312. ifeq ($(FULL_TARGET),m68k-freebsd)
  313. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  314. endif
  315. ifeq ($(FULL_TARGET),m68k-netbsd)
  316. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  317. endif
  318. ifeq ($(FULL_TARGET),m68k-amiga)
  319. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  320. endif
  321. ifeq ($(FULL_TARGET),m68k-atari)
  322. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  323. endif
  324. ifeq ($(FULL_TARGET),m68k-openbsd)
  325. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  326. endif
  327. ifeq ($(FULL_TARGET),m68k-palmos)
  328. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  329. endif
  330. ifeq ($(FULL_TARGET),m68k-embedded)
  331. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  332. endif
  333. ifeq ($(FULL_TARGET),powerpc-linux)
  334. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  335. endif
  336. ifeq ($(FULL_TARGET),powerpc-netbsd)
  337. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  338. endif
  339. ifeq ($(FULL_TARGET),powerpc-amiga)
  340. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  341. endif
  342. ifeq ($(FULL_TARGET),powerpc-macos)
  343. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  344. endif
  345. ifeq ($(FULL_TARGET),powerpc-darwin)
  346. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  347. endif
  348. ifeq ($(FULL_TARGET),powerpc-morphos)
  349. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  350. endif
  351. ifeq ($(FULL_TARGET),powerpc-embedded)
  352. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  353. endif
  354. ifeq ($(FULL_TARGET),sparc-linux)
  355. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  356. endif
  357. ifeq ($(FULL_TARGET),sparc-netbsd)
  358. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  359. endif
  360. ifeq ($(FULL_TARGET),sparc-solaris)
  361. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  362. endif
  363. ifeq ($(FULL_TARGET),sparc-embedded)
  364. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  365. endif
  366. ifeq ($(FULL_TARGET),x86_64-linux)
  367. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  368. endif
  369. ifeq ($(FULL_TARGET),x86_64-freebsd)
  370. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  371. endif
  372. ifeq ($(FULL_TARGET),x86_64-win64)
  373. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  374. endif
  375. ifeq ($(FULL_TARGET),x86_64-embedded)
  376. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  377. endif
  378. ifeq ($(FULL_TARGET),arm-linux)
  379. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  380. endif
  381. ifeq ($(FULL_TARGET),arm-palmos)
  382. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  383. endif
  384. ifeq ($(FULL_TARGET),arm-wince)
  385. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  386. endif
  387. ifeq ($(FULL_TARGET),arm-gba)
  388. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  389. endif
  390. ifeq ($(FULL_TARGET),arm-nds)
  391. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  392. endif
  393. ifeq ($(FULL_TARGET),arm-embedded)
  394. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  395. endif
  396. ifeq ($(FULL_TARGET),arm-symbian)
  397. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  398. endif
  399. ifeq ($(FULL_TARGET),powerpc64-linux)
  400. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  401. endif
  402. ifeq ($(FULL_TARGET),powerpc64-darwin)
  403. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  404. endif
  405. ifeq ($(FULL_TARGET),powerpc64-embedded)
  406. override TARGET_UNITS+=$(SYSTEMUNIT) ctypes objpas macpas strings lineinfo lnfodwrf heaptrc windows messages dynlibs dos objects rtlconsts sysconst sysutils typinfo types fgl classes strutils convutils math dateutils varutils variants fmtbcd matrix ucomplex charset getopts winsock winsock2 sockets cmem sharemem
  407. endif
  408. override INSTALL_FPCPACKAGE=y
  409. ifeq ($(FULL_TARGET),i386-linux)
  410. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  411. endif
  412. ifeq ($(FULL_TARGET),i386-go32v2)
  413. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  414. endif
  415. ifeq ($(FULL_TARGET),i386-win32)
  416. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  417. endif
  418. ifeq ($(FULL_TARGET),i386-os2)
  419. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  420. endif
  421. ifeq ($(FULL_TARGET),i386-freebsd)
  422. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  423. endif
  424. ifeq ($(FULL_TARGET),i386-beos)
  425. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  426. endif
  427. ifeq ($(FULL_TARGET),i386-netbsd)
  428. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  429. endif
  430. ifeq ($(FULL_TARGET),i386-solaris)
  431. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  432. endif
  433. ifeq ($(FULL_TARGET),i386-qnx)
  434. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  435. endif
  436. ifeq ($(FULL_TARGET),i386-netware)
  437. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  438. endif
  439. ifeq ($(FULL_TARGET),i386-openbsd)
  440. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  441. endif
  442. ifeq ($(FULL_TARGET),i386-wdosx)
  443. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  444. endif
  445. ifeq ($(FULL_TARGET),i386-darwin)
  446. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  447. endif
  448. ifeq ($(FULL_TARGET),i386-emx)
  449. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  450. endif
  451. ifeq ($(FULL_TARGET),i386-watcom)
  452. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  453. endif
  454. ifeq ($(FULL_TARGET),i386-netwlibc)
  455. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  456. endif
  457. ifeq ($(FULL_TARGET),i386-wince)
  458. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  459. endif
  460. ifeq ($(FULL_TARGET),i386-embedded)
  461. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  462. endif
  463. ifeq ($(FULL_TARGET),i386-symbian)
  464. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  465. endif
  466. ifeq ($(FULL_TARGET),m68k-linux)
  467. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  468. endif
  469. ifeq ($(FULL_TARGET),m68k-freebsd)
  470. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  471. endif
  472. ifeq ($(FULL_TARGET),m68k-netbsd)
  473. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  474. endif
  475. ifeq ($(FULL_TARGET),m68k-amiga)
  476. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  477. endif
  478. ifeq ($(FULL_TARGET),m68k-atari)
  479. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  480. endif
  481. ifeq ($(FULL_TARGET),m68k-openbsd)
  482. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  483. endif
  484. ifeq ($(FULL_TARGET),m68k-palmos)
  485. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  486. endif
  487. ifeq ($(FULL_TARGET),m68k-embedded)
  488. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  489. endif
  490. ifeq ($(FULL_TARGET),powerpc-linux)
  491. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  492. endif
  493. ifeq ($(FULL_TARGET),powerpc-netbsd)
  494. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  495. endif
  496. ifeq ($(FULL_TARGET),powerpc-amiga)
  497. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  498. endif
  499. ifeq ($(FULL_TARGET),powerpc-macos)
  500. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  501. endif
  502. ifeq ($(FULL_TARGET),powerpc-darwin)
  503. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  504. endif
  505. ifeq ($(FULL_TARGET),powerpc-morphos)
  506. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  507. endif
  508. ifeq ($(FULL_TARGET),powerpc-embedded)
  509. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  510. endif
  511. ifeq ($(FULL_TARGET),sparc-linux)
  512. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  513. endif
  514. ifeq ($(FULL_TARGET),sparc-netbsd)
  515. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  516. endif
  517. ifeq ($(FULL_TARGET),sparc-solaris)
  518. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  519. endif
  520. ifeq ($(FULL_TARGET),sparc-embedded)
  521. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  522. endif
  523. ifeq ($(FULL_TARGET),x86_64-linux)
  524. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  525. endif
  526. ifeq ($(FULL_TARGET),x86_64-freebsd)
  527. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  528. endif
  529. ifeq ($(FULL_TARGET),x86_64-win64)
  530. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  531. endif
  532. ifeq ($(FULL_TARGET),x86_64-embedded)
  533. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  534. endif
  535. ifeq ($(FULL_TARGET),arm-linux)
  536. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  537. endif
  538. ifeq ($(FULL_TARGET),arm-palmos)
  539. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  540. endif
  541. ifeq ($(FULL_TARGET),arm-wince)
  542. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  543. endif
  544. ifeq ($(FULL_TARGET),arm-gba)
  545. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  546. endif
  547. ifeq ($(FULL_TARGET),arm-nds)
  548. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  549. endif
  550. ifeq ($(FULL_TARGET),arm-embedded)
  551. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  552. endif
  553. ifeq ($(FULL_TARGET),arm-symbian)
  554. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  555. endif
  556. ifeq ($(FULL_TARGET),powerpc64-linux)
  557. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  558. endif
  559. ifeq ($(FULL_TARGET),powerpc64-darwin)
  560. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  561. endif
  562. ifeq ($(FULL_TARGET),powerpc64-embedded)
  563. override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(RTL)/win
  564. endif
  565. ifeq ($(FULL_TARGET),i386-linux)
  566. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  567. endif
  568. ifeq ($(FULL_TARGET),i386-go32v2)
  569. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  570. endif
  571. ifeq ($(FULL_TARGET),i386-win32)
  572. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  573. endif
  574. ifeq ($(FULL_TARGET),i386-os2)
  575. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  576. endif
  577. ifeq ($(FULL_TARGET),i386-freebsd)
  578. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  579. endif
  580. ifeq ($(FULL_TARGET),i386-beos)
  581. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  582. endif
  583. ifeq ($(FULL_TARGET),i386-netbsd)
  584. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  585. endif
  586. ifeq ($(FULL_TARGET),i386-solaris)
  587. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  588. endif
  589. ifeq ($(FULL_TARGET),i386-qnx)
  590. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  591. endif
  592. ifeq ($(FULL_TARGET),i386-netware)
  593. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  594. endif
  595. ifeq ($(FULL_TARGET),i386-openbsd)
  596. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  597. endif
  598. ifeq ($(FULL_TARGET),i386-wdosx)
  599. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  600. endif
  601. ifeq ($(FULL_TARGET),i386-darwin)
  602. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  603. endif
  604. ifeq ($(FULL_TARGET),i386-emx)
  605. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  606. endif
  607. ifeq ($(FULL_TARGET),i386-watcom)
  608. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  609. endif
  610. ifeq ($(FULL_TARGET),i386-netwlibc)
  611. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  612. endif
  613. ifeq ($(FULL_TARGET),i386-wince)
  614. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  615. endif
  616. ifeq ($(FULL_TARGET),i386-embedded)
  617. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  618. endif
  619. ifeq ($(FULL_TARGET),i386-symbian)
  620. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  621. endif
  622. ifeq ($(FULL_TARGET),m68k-linux)
  623. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  624. endif
  625. ifeq ($(FULL_TARGET),m68k-freebsd)
  626. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  627. endif
  628. ifeq ($(FULL_TARGET),m68k-netbsd)
  629. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  630. endif
  631. ifeq ($(FULL_TARGET),m68k-amiga)
  632. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  633. endif
  634. ifeq ($(FULL_TARGET),m68k-atari)
  635. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  636. endif
  637. ifeq ($(FULL_TARGET),m68k-openbsd)
  638. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  639. endif
  640. ifeq ($(FULL_TARGET),m68k-palmos)
  641. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  642. endif
  643. ifeq ($(FULL_TARGET),m68k-embedded)
  644. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  645. endif
  646. ifeq ($(FULL_TARGET),powerpc-linux)
  647. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  648. endif
  649. ifeq ($(FULL_TARGET),powerpc-netbsd)
  650. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  651. endif
  652. ifeq ($(FULL_TARGET),powerpc-amiga)
  653. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  654. endif
  655. ifeq ($(FULL_TARGET),powerpc-macos)
  656. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  657. endif
  658. ifeq ($(FULL_TARGET),powerpc-darwin)
  659. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  660. endif
  661. ifeq ($(FULL_TARGET),powerpc-morphos)
  662. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  663. endif
  664. ifeq ($(FULL_TARGET),powerpc-embedded)
  665. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  666. endif
  667. ifeq ($(FULL_TARGET),sparc-linux)
  668. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  669. endif
  670. ifeq ($(FULL_TARGET),sparc-netbsd)
  671. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  672. endif
  673. ifeq ($(FULL_TARGET),sparc-solaris)
  674. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  675. endif
  676. ifeq ($(FULL_TARGET),sparc-embedded)
  677. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  678. endif
  679. ifeq ($(FULL_TARGET),x86_64-linux)
  680. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  681. endif
  682. ifeq ($(FULL_TARGET),x86_64-freebsd)
  683. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  684. endif
  685. ifeq ($(FULL_TARGET),x86_64-win64)
  686. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  687. endif
  688. ifeq ($(FULL_TARGET),x86_64-embedded)
  689. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  690. endif
  691. ifeq ($(FULL_TARGET),arm-linux)
  692. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  693. endif
  694. ifeq ($(FULL_TARGET),arm-palmos)
  695. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  696. endif
  697. ifeq ($(FULL_TARGET),arm-wince)
  698. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  699. endif
  700. ifeq ($(FULL_TARGET),arm-gba)
  701. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  702. endif
  703. ifeq ($(FULL_TARGET),arm-nds)
  704. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  705. endif
  706. ifeq ($(FULL_TARGET),arm-embedded)
  707. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  708. endif
  709. ifeq ($(FULL_TARGET),arm-symbian)
  710. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  711. endif
  712. ifeq ($(FULL_TARGET),powerpc64-linux)
  713. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  714. endif
  715. ifeq ($(FULL_TARGET),powerpc64-darwin)
  716. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  717. endif
  718. ifeq ($(FULL_TARGET),powerpc64-embedded)
  719. override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
  720. endif
  721. ifdef REQUIRE_UNITSDIR
  722. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  723. endif
  724. ifdef REQUIRE_PACKAGESDIR
  725. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  726. endif
  727. ifdef ZIPINSTALL
  728. ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
  729. UNIXHier=1
  730. endif
  731. else
  732. ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
  733. UNIXHier=1
  734. endif
  735. endif
  736. ifndef INSTALL_PREFIX
  737. ifdef PREFIX
  738. INSTALL_PREFIX=$(PREFIX)
  739. endif
  740. endif
  741. ifndef INSTALL_PREFIX
  742. ifdef UNIXHier
  743. INSTALL_PREFIX=/usr/local
  744. else
  745. ifdef INSTALL_FPCPACKAGE
  746. INSTALL_BASEDIR:=/pp
  747. else
  748. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  749. endif
  750. endif
  751. endif
  752. export INSTALL_PREFIX
  753. ifdef INSTALL_FPCSUBDIR
  754. export INSTALL_FPCSUBDIR
  755. endif
  756. ifndef DIST_DESTDIR
  757. DIST_DESTDIR:=$(BASEDIR)
  758. endif
  759. export DIST_DESTDIR
  760. ifndef COMPILER_UNITTARGETDIR
  761. ifdef PACKAGEDIR_MAIN
  762. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  763. else
  764. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  765. endif
  766. endif
  767. ifndef COMPILER_TARGETDIR
  768. COMPILER_TARGETDIR=.
  769. endif
  770. ifndef INSTALL_BASEDIR
  771. ifdef UNIXHier
  772. ifdef INSTALL_FPCPACKAGE
  773. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  774. else
  775. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  776. endif
  777. else
  778. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  779. endif
  780. endif
  781. ifndef INSTALL_BINDIR
  782. ifdef UNIXHier
  783. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  784. else
  785. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  786. ifdef INSTALL_FPCPACKAGE
  787. ifdef CROSSCOMPILE
  788. ifdef CROSSINSTALL
  789. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  790. else
  791. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  792. endif
  793. else
  794. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  795. endif
  796. endif
  797. endif
  798. endif
  799. ifndef INSTALL_UNITDIR
  800. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  801. ifdef INSTALL_FPCPACKAGE
  802. ifdef PACKAGE_NAME
  803. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  804. endif
  805. endif
  806. endif
  807. ifndef INSTALL_LIBDIR
  808. ifdef UNIXHier
  809. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  810. else
  811. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  812. endif
  813. endif
  814. ifndef INSTALL_SOURCEDIR
  815. ifdef UNIXHier
  816. ifdef BSDhier
  817. SRCPREFIXDIR=share/src
  818. else
  819. ifdef linuxHier
  820. SRCPREFIXDIR=share/src
  821. else
  822. SRCPREFIXDIR=src
  823. endif
  824. endif
  825. ifdef INSTALL_FPCPACKAGE
  826. ifdef INSTALL_FPCSUBDIR
  827. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  828. else
  829. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  830. endif
  831. else
  832. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  833. endif
  834. else
  835. ifdef INSTALL_FPCPACKAGE
  836. ifdef INSTALL_FPCSUBDIR
  837. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  838. else
  839. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  840. endif
  841. else
  842. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  843. endif
  844. endif
  845. endif
  846. ifndef INSTALL_DOCDIR
  847. ifdef UNIXHier
  848. ifdef BSDhier
  849. DOCPREFIXDIR=share/doc
  850. else
  851. ifdef linuxHier
  852. DOCPREFIXDIR=share/doc
  853. else
  854. DOCPREFIXDIR=doc
  855. endif
  856. endif
  857. ifdef INSTALL_FPCPACKAGE
  858. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  859. else
  860. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  861. endif
  862. else
  863. ifdef INSTALL_FPCPACKAGE
  864. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  865. else
  866. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  867. endif
  868. endif
  869. endif
  870. ifndef INSTALL_EXAMPLEDIR
  871. ifdef UNIXHier
  872. ifdef INSTALL_FPCPACKAGE
  873. ifdef BSDhier
  874. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  875. else
  876. ifdef linuxHier
  877. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  878. else
  879. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  880. endif
  881. endif
  882. else
  883. ifdef BSDhier
  884. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  885. else
  886. ifdef linuxHier
  887. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  888. else
  889. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  890. endif
  891. endif
  892. endif
  893. else
  894. ifdef INSTALL_FPCPACKAGE
  895. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  896. else
  897. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  898. endif
  899. endif
  900. endif
  901. ifndef INSTALL_DATADIR
  902. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  903. endif
  904. ifndef INSTALL_SHAREDDIR
  905. INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
  906. endif
  907. ifdef CROSSCOMPILE
  908. ifndef CROSSBINDIR
  909. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  910. ifeq ($(CROSSBINDIR),)
  911. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  912. endif
  913. endif
  914. else
  915. CROSSBINDIR=
  916. endif
  917. BATCHEXT=.bat
  918. LOADEREXT=.as
  919. EXEEXT=.exe
  920. PPLEXT=.ppl
  921. PPUEXT=.ppu
  922. OEXT=.o
  923. ASMEXT=.s
  924. SMARTEXT=.sl
  925. STATICLIBEXT=.a
  926. SHAREDLIBEXT=.so
  927. SHAREDLIBPREFIX=libfp
  928. STATICLIBPREFIX=libp
  929. IMPORTLIBPREFIX=libimp
  930. RSTEXT=.rst
  931. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  932. ifeq ($(OS_TARGET),go32v1)
  933. STATICLIBPREFIX=
  934. SHORTSUFFIX=v1
  935. endif
  936. ifeq ($(OS_TARGET),go32v2)
  937. STATICLIBPREFIX=
  938. SHORTSUFFIX=dos
  939. endif
  940. ifeq ($(OS_TARGET),watcom)
  941. STATICLIBPREFIX=
  942. OEXT=.obj
  943. ASMEXT=.asm
  944. SHAREDLIBEXT=.dll
  945. SHORTSUFFIX=wat
  946. endif
  947. ifeq ($(OS_TARGET),linux)
  948. BATCHEXT=.sh
  949. EXEEXT=
  950. HASSHAREDLIB=1
  951. SHORTSUFFIX=lnx
  952. endif
  953. ifeq ($(OS_TARGET),freebsd)
  954. BATCHEXT=.sh
  955. EXEEXT=
  956. HASSHAREDLIB=1
  957. SHORTSUFFIX=fbs
  958. endif
  959. ifeq ($(OS_TARGET),netbsd)
  960. BATCHEXT=.sh
  961. EXEEXT=
  962. HASSHAREDLIB=1
  963. SHORTSUFFIX=nbs
  964. endif
  965. ifeq ($(OS_TARGET),openbsd)
  966. BATCHEXT=.sh
  967. EXEEXT=
  968. HASSHAREDLIB=1
  969. SHORTSUFFIX=obs
  970. endif
  971. ifeq ($(OS_TARGET),win32)
  972. SHAREDLIBEXT=.dll
  973. SHORTSUFFIX=w32
  974. endif
  975. ifeq ($(OS_TARGET),os2)
  976. BATCHEXT=.cmd
  977. AOUTEXT=.out
  978. STATICLIBPREFIX=
  979. SHAREDLIBEXT=.dll
  980. SHORTSUFFIX=os2
  981. ECHO=echo
  982. endif
  983. ifeq ($(OS_TARGET),emx)
  984. BATCHEXT=.cmd
  985. AOUTEXT=.out
  986. STATICLIBPREFIX=
  987. SHAREDLIBEXT=.dll
  988. SHORTSUFFIX=emx
  989. ECHO=echo
  990. endif
  991. ifeq ($(OS_TARGET),amiga)
  992. EXEEXT=
  993. SHAREDLIBEXT=.library
  994. SHORTSUFFIX=amg
  995. endif
  996. ifeq ($(OS_TARGET),morphos)
  997. EXEEXT=
  998. SHAREDLIBEXT=.library
  999. SHORTSUFFIX=mos
  1000. endif
  1001. ifeq ($(OS_TARGET),atari)
  1002. EXEEXT=.ttp
  1003. SHORTSUFFIX=ata
  1004. endif
  1005. ifeq ($(OS_TARGET),beos)
  1006. BATCHEXT=.sh
  1007. EXEEXT=
  1008. SHORTSUFFIX=be
  1009. endif
  1010. ifeq ($(OS_TARGET),solaris)
  1011. BATCHEXT=.sh
  1012. EXEEXT=
  1013. SHORTSUFFIX=sun
  1014. endif
  1015. ifeq ($(OS_TARGET),qnx)
  1016. BATCHEXT=.sh
  1017. EXEEXT=
  1018. SHORTSUFFIX=qnx
  1019. endif
  1020. ifeq ($(OS_TARGET),netware)
  1021. EXEEXT=.nlm
  1022. STATICLIBPREFIX=
  1023. SHORTSUFFIX=nw
  1024. endif
  1025. ifeq ($(OS_TARGET),netwlibc)
  1026. EXEEXT=.nlm
  1027. STATICLIBPREFIX=
  1028. SHORTSUFFIX=nwl
  1029. endif
  1030. ifeq ($(OS_TARGET),macos)
  1031. BATCHEXT=
  1032. EXEEXT=
  1033. DEBUGSYMEXT=.xcoff
  1034. SHORTSUFFIX=mac
  1035. endif
  1036. ifeq ($(OS_TARGET),darwin)
  1037. BATCHEXT=.sh
  1038. EXEEXT=
  1039. HASSHAREDLIB=1
  1040. SHORTSUFFIX=dwn
  1041. endif
  1042. ifeq ($(OS_TARGET),gba)
  1043. EXEEXT=.gba
  1044. SHAREDLIBEXT=.so
  1045. SHORTSUFFIX=gba
  1046. endif
  1047. ifeq ($(OS_TARGET),symbian)
  1048. SHAREDLIBEXT=.dll
  1049. SHORTSUFFIX=symbian
  1050. endif
  1051. else
  1052. ifeq ($(OS_TARGET),go32v1)
  1053. PPUEXT=.pp1
  1054. OEXT=.o1
  1055. ASMEXT=.s1
  1056. SMARTEXT=.sl1
  1057. STATICLIBEXT=.a1
  1058. SHAREDLIBEXT=.so1
  1059. STATICLIBPREFIX=
  1060. SHORTSUFFIX=v1
  1061. endif
  1062. ifeq ($(OS_TARGET),go32v2)
  1063. STATICLIBPREFIX=
  1064. SHORTSUFFIX=dos
  1065. endif
  1066. ifeq ($(OS_TARGET),watcom)
  1067. STATICLIBPREFIX=
  1068. SHORTSUFFIX=wat
  1069. endif
  1070. ifeq ($(OS_TARGET),linux)
  1071. BATCHEXT=.sh
  1072. EXEEXT=
  1073. HASSHAREDLIB=1
  1074. SHORTSUFFIX=lnx
  1075. endif
  1076. ifeq ($(OS_TARGET),freebsd)
  1077. BATCHEXT=.sh
  1078. EXEEXT=
  1079. HASSHAREDLIB=1
  1080. SHORTSUFFIX=fbs
  1081. endif
  1082. ifeq ($(OS_TARGET),netbsd)
  1083. BATCHEXT=.sh
  1084. EXEEXT=
  1085. HASSHAREDLIB=1
  1086. SHORTSUFFIX=nbs
  1087. endif
  1088. ifeq ($(OS_TARGET),openbsd)
  1089. BATCHEXT=.sh
  1090. EXEEXT=
  1091. HASSHAREDLIB=1
  1092. SHORTSUFFIX=obs
  1093. endif
  1094. ifeq ($(OS_TARGET),win32)
  1095. PPUEXT=.ppw
  1096. OEXT=.ow
  1097. ASMEXT=.sw
  1098. SMARTEXT=.slw
  1099. STATICLIBEXT=.aw
  1100. SHAREDLIBEXT=.dll
  1101. SHORTSUFFIX=w32
  1102. endif
  1103. ifeq ($(OS_TARGET),os2)
  1104. BATCHEXT=.cmd
  1105. PPUEXT=.ppo
  1106. ASMEXT=.so2
  1107. OEXT=.oo2
  1108. AOUTEXT=.out
  1109. SMARTEXT=.sl2
  1110. STATICLIBPREFIX=
  1111. STATICLIBEXT=.ao2
  1112. SHAREDLIBEXT=.dll
  1113. SHORTSUFFIX=os2
  1114. ECHO=echo
  1115. endif
  1116. ifeq ($(OS_TARGET),amiga)
  1117. EXEEXT=
  1118. PPUEXT=.ppu
  1119. ASMEXT=.s
  1120. OEXT=.o
  1121. SMARTEXT=.sl
  1122. STATICLIBEXT=.a
  1123. SHAREDLIBEXT=.library
  1124. SHORTSUFFIX=amg
  1125. endif
  1126. ifeq ($(OS_TARGET),atari)
  1127. PPUEXT=.ppu
  1128. ASMEXT=.s
  1129. OEXT=.o
  1130. SMARTEXT=.sl
  1131. STATICLIBEXT=.a
  1132. EXEEXT=.ttp
  1133. SHORTSUFFIX=ata
  1134. endif
  1135. ifeq ($(OS_TARGET),beos)
  1136. BATCHEXT=.sh
  1137. PPUEXT=.ppu
  1138. ASMEXT=.s
  1139. OEXT=.o
  1140. SMARTEXT=.sl
  1141. STATICLIBEXT=.a
  1142. EXEEXT=
  1143. SHORTSUFFIX=be
  1144. endif
  1145. ifeq ($(OS_TARGET),solaris)
  1146. BATCHEXT=.sh
  1147. PPUEXT=.ppu
  1148. ASMEXT=.s
  1149. OEXT=.o
  1150. SMARTEXT=.sl
  1151. STATICLIBEXT=.a
  1152. EXEEXT=
  1153. SHORTSUFFIX=sun
  1154. endif
  1155. ifeq ($(OS_TARGET),qnx)
  1156. BATCHEXT=.sh
  1157. PPUEXT=.ppu
  1158. ASMEXT=.s
  1159. OEXT=.o
  1160. SMARTEXT=.sl
  1161. STATICLIBEXT=.a
  1162. EXEEXT=
  1163. SHORTSUFFIX=qnx
  1164. endif
  1165. ifeq ($(OS_TARGET),netware)
  1166. STATICLIBPREFIX=
  1167. PPUEXT=.ppu
  1168. OEXT=.o
  1169. ASMEXT=.s
  1170. SMARTEXT=.sl
  1171. STATICLIBEXT=.a
  1172. SHAREDLIBEXT=.nlm
  1173. EXEEXT=.nlm
  1174. SHORTSUFFIX=nw
  1175. endif
  1176. ifeq ($(OS_TARGET),netwlibc)
  1177. STATICLIBPREFIX=
  1178. PPUEXT=.ppu
  1179. OEXT=.o
  1180. ASMEXT=.s
  1181. SMARTEXT=.sl
  1182. STATICLIBEXT=.a
  1183. SHAREDLIBEXT=.nlm
  1184. EXEEXT=.nlm
  1185. SHORTSUFFIX=nwl
  1186. endif
  1187. ifeq ($(OS_TARGET),macos)
  1188. BATCHEXT=
  1189. PPUEXT=.ppu
  1190. ASMEXT=.s
  1191. OEXT=.o
  1192. SMARTEXT=.sl
  1193. STATICLIBEXT=.a
  1194. EXEEXT=
  1195. DEBUGSYMEXT=.xcoff
  1196. SHORTSUFFIX=mac
  1197. endif
  1198. endif
  1199. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  1200. FPCMADE=fpcmade.$(SHORTSUFFIX)
  1201. ZIPSUFFIX=$(SHORTSUFFIX)
  1202. ZIPCROSSPREFIX=
  1203. ZIPSOURCESUFFIX=src
  1204. ZIPEXAMPLESUFFIX=exm
  1205. else
  1206. FPCMADE=fpcmade.$(TARGETSUFFIX)
  1207. ZIPSOURCESUFFIX=.source
  1208. ZIPEXAMPLESUFFIX=.examples
  1209. ifdef CROSSCOMPILE
  1210. ZIPSUFFIX=.$(SOURCESUFFIX)
  1211. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  1212. else
  1213. ZIPSUFFIX=.$(TARGETSUFFIX)
  1214. ZIPCROSSPREFIX=
  1215. endif
  1216. endif
  1217. ifndef ECHO
  1218. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  1219. ifeq ($(ECHO),)
  1220. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  1221. ifeq ($(ECHO),)
  1222. ECHO= __missing_command_ECHO
  1223. else
  1224. ECHO:=$(firstword $(ECHO))
  1225. endif
  1226. else
  1227. ECHO:=$(firstword $(ECHO))
  1228. endif
  1229. endif
  1230. export ECHO
  1231. ifndef DATE
  1232. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  1233. ifeq ($(DATE),)
  1234. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  1235. ifeq ($(DATE),)
  1236. DATE= __missing_command_DATE
  1237. else
  1238. DATE:=$(firstword $(DATE))
  1239. endif
  1240. else
  1241. DATE:=$(firstword $(DATE))
  1242. endif
  1243. endif
  1244. export DATE
  1245. ifndef GINSTALL
  1246. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  1247. ifeq ($(GINSTALL),)
  1248. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  1249. ifeq ($(GINSTALL),)
  1250. GINSTALL= __missing_command_GINSTALL
  1251. else
  1252. GINSTALL:=$(firstword $(GINSTALL))
  1253. endif
  1254. else
  1255. GINSTALL:=$(firstword $(GINSTALL))
  1256. endif
  1257. endif
  1258. export GINSTALL
  1259. ifndef CPPROG
  1260. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  1261. ifeq ($(CPPROG),)
  1262. CPPROG= __missing_command_CPPROG
  1263. else
  1264. CPPROG:=$(firstword $(CPPROG))
  1265. endif
  1266. endif
  1267. export CPPROG
  1268. ifndef RMPROG
  1269. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  1270. ifeq ($(RMPROG),)
  1271. RMPROG= __missing_command_RMPROG
  1272. else
  1273. RMPROG:=$(firstword $(RMPROG))
  1274. endif
  1275. endif
  1276. export RMPROG
  1277. ifndef MVPROG
  1278. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  1279. ifeq ($(MVPROG),)
  1280. MVPROG= __missing_command_MVPROG
  1281. else
  1282. MVPROG:=$(firstword $(MVPROG))
  1283. endif
  1284. endif
  1285. export MVPROG
  1286. ifndef MKDIRPROG
  1287. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1288. ifeq ($(MKDIRPROG),)
  1289. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1290. ifeq ($(MKDIRPROG),)
  1291. MKDIRPROG= __missing_command_MKDIRPROG
  1292. else
  1293. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1294. endif
  1295. else
  1296. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1297. endif
  1298. endif
  1299. export MKDIRPROG
  1300. ifndef ECHOREDIR
  1301. ifndef inUnix
  1302. ECHOREDIR=echo
  1303. else
  1304. ECHOREDIR=$(ECHO)
  1305. endif
  1306. endif
  1307. ifndef COPY
  1308. COPY:=$(CPPROG) -fp
  1309. endif
  1310. ifndef COPYTREE
  1311. COPYTREE:=$(CPPROG) -Rfp
  1312. endif
  1313. ifndef MKDIRTREE
  1314. MKDIRTREE:=$(MKDIRPROG) -p
  1315. endif
  1316. ifndef MOVE
  1317. MOVE:=$(MVPROG) -f
  1318. endif
  1319. ifndef DEL
  1320. DEL:=$(RMPROG) -f
  1321. endif
  1322. ifndef DELTREE
  1323. DELTREE:=$(RMPROG) -rf
  1324. endif
  1325. ifndef INSTALL
  1326. ifdef inUnix
  1327. INSTALL:=$(GINSTALL) -c -m 644
  1328. else
  1329. INSTALL:=$(COPY)
  1330. endif
  1331. endif
  1332. ifndef INSTALLEXE
  1333. ifdef inUnix
  1334. INSTALLEXE:=$(GINSTALL) -c -m 755
  1335. else
  1336. INSTALLEXE:=$(COPY)
  1337. endif
  1338. endif
  1339. ifndef MKDIR
  1340. MKDIR:=$(GINSTALL) -m 755 -d
  1341. endif
  1342. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  1343. ifndef PPUMOVE
  1344. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  1345. ifeq ($(PPUMOVE),)
  1346. PPUMOVE= __missing_command_PPUMOVE
  1347. else
  1348. PPUMOVE:=$(firstword $(PPUMOVE))
  1349. endif
  1350. endif
  1351. export PPUMOVE
  1352. ifndef FPCMAKE
  1353. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  1354. ifeq ($(FPCMAKE),)
  1355. FPCMAKE= __missing_command_FPCMAKE
  1356. else
  1357. FPCMAKE:=$(firstword $(FPCMAKE))
  1358. endif
  1359. endif
  1360. export FPCMAKE
  1361. ifndef ZIPPROG
  1362. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  1363. ifeq ($(ZIPPROG),)
  1364. ZIPPROG= __missing_command_ZIPPROG
  1365. else
  1366. ZIPPROG:=$(firstword $(ZIPPROG))
  1367. endif
  1368. endif
  1369. export ZIPPROG
  1370. ifndef TARPROG
  1371. TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
  1372. ifeq ($(TARPROG),)
  1373. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  1374. ifeq ($(TARPROG),)
  1375. TARPROG= __missing_command_TARPROG
  1376. else
  1377. TARPROG:=$(firstword $(TARPROG))
  1378. endif
  1379. else
  1380. TARPROG:=$(firstword $(TARPROG))
  1381. endif
  1382. endif
  1383. export TARPROG
  1384. ASNAME=$(BINUTILSPREFIX)as
  1385. LDNAME=$(BINUTILSPREFIX)ld
  1386. ARNAME=$(BINUTILSPREFIX)ar
  1387. RCNAME=$(BINUTILSPREFIX)rc
  1388. ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
  1389. ifeq ($(OS_TARGET),win32)
  1390. ifeq ($(CROSSBINDIR),)
  1391. ASNAME=asw
  1392. LDNAME=ldw
  1393. ARNAME=arw
  1394. endif
  1395. endif
  1396. endif
  1397. ifndef ASPROG
  1398. ifdef CROSSBINDIR
  1399. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  1400. else
  1401. ASPROG=$(ASNAME)
  1402. endif
  1403. endif
  1404. ifndef LDPROG
  1405. ifdef CROSSBINDIR
  1406. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  1407. else
  1408. LDPROG=$(LDNAME)
  1409. endif
  1410. endif
  1411. ifndef RCPROG
  1412. ifdef CROSSBINDIR
  1413. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  1414. else
  1415. RCPROG=$(RCNAME)
  1416. endif
  1417. endif
  1418. ifndef ARPROG
  1419. ifdef CROSSBINDIR
  1420. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  1421. else
  1422. ARPROG=$(ARNAME)
  1423. endif
  1424. endif
  1425. AS=$(ASPROG)
  1426. LD=$(LDPROG)
  1427. RC=$(RCPROG)
  1428. AR=$(ARPROG)
  1429. PPAS=ppas$(SRCBATCHEXT)
  1430. ifdef inUnix
  1431. LDCONFIG=ldconfig
  1432. else
  1433. LDCONFIG=
  1434. endif
  1435. ifdef DATE
  1436. DATESTR:=$(shell $(DATE) +%Y%m%d)
  1437. else
  1438. DATESTR=
  1439. endif
  1440. ifndef UPXPROG
  1441. ifeq ($(OS_TARGET),go32v2)
  1442. UPXPROG:=1
  1443. endif
  1444. ifeq ($(OS_TARGET),win32)
  1445. UPXPROG:=1
  1446. endif
  1447. ifdef UPXPROG
  1448. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  1449. ifeq ($(UPXPROG),)
  1450. UPXPROG=
  1451. else
  1452. UPXPROG:=$(firstword $(UPXPROG))
  1453. endif
  1454. else
  1455. UPXPROG=
  1456. endif
  1457. endif
  1458. export UPXPROG
  1459. ZIPOPT=-9
  1460. ZIPEXT=.zip
  1461. ifeq ($(USETAR),bz2)
  1462. TAROPT=vj
  1463. TAREXT=.tar.bz2
  1464. else
  1465. TAROPT=vz
  1466. TAREXT=.tar.gz
  1467. endif
  1468. ifndef NOCPUDEF
  1469. override FPCOPTDEF=$(CPU_TARGET)
  1470. endif
  1471. ifneq ($(OS_TARGET),$(OS_SOURCE))
  1472. override FPCOPT+=-T$(OS_TARGET)
  1473. endif
  1474. ifneq ($(CPU_TARGET),$(CPU_SOURCE))
  1475. override FPCOPT+=-P$(CPU_TARGET)
  1476. endif
  1477. ifeq ($(OS_SOURCE),openbsd)
  1478. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  1479. endif
  1480. ifndef CROSSBOOTSTRAP
  1481. ifneq ($(BINUTILSPREFIX),)
  1482. override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
  1483. endif
  1484. ifneq ($(BINUTILSPREFIX),)
  1485. override FPCOPT+=-Xr$(RLINKPATH)
  1486. endif
  1487. endif
  1488. ifdef UNITDIR
  1489. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  1490. endif
  1491. ifdef LIBDIR
  1492. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  1493. endif
  1494. ifdef OBJDIR
  1495. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  1496. endif
  1497. ifdef INCDIR
  1498. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  1499. endif
  1500. ifdef LINKSMART
  1501. override FPCOPT+=-XX
  1502. endif
  1503. ifdef CREATESMART
  1504. override FPCOPT+=-CX
  1505. endif
  1506. ifdef DEBUG
  1507. override FPCOPT+=-gl
  1508. override FPCOPTDEF+=DEBUG
  1509. endif
  1510. ifdef RELEASE
  1511. ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
  1512. ifeq ($(CPU_TARGET),i386)
  1513. FPCCPUOPT:=-OG2p3
  1514. endif
  1515. ifeq ($(CPU_TARGET),powerpc)
  1516. FPCCPUOPT:=-O1r
  1517. endif
  1518. else
  1519. FPCCPUOPT:=-O2
  1520. endif
  1521. override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
  1522. override FPCOPTDEF+=RELEASE
  1523. endif
  1524. ifdef STRIP
  1525. override FPCOPT+=-Xs
  1526. endif
  1527. ifdef OPTIMIZE
  1528. override FPCOPT+=-O2
  1529. endif
  1530. ifdef VERBOSE
  1531. override FPCOPT+=-vwni
  1532. endif
  1533. ifdef COMPILER_OPTIONS
  1534. override FPCOPT+=$(COMPILER_OPTIONS)
  1535. endif
  1536. ifdef COMPILER_UNITDIR
  1537. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  1538. endif
  1539. ifdef COMPILER_LIBRARYDIR
  1540. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  1541. endif
  1542. ifdef COMPILER_OBJECTDIR
  1543. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  1544. endif
  1545. ifdef COMPILER_INCLUDEDIR
  1546. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  1547. endif
  1548. ifdef CROSSBINDIR
  1549. override FPCOPT+=-FD$(CROSSBINDIR)
  1550. endif
  1551. ifdef COMPILER_TARGETDIR
  1552. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  1553. ifeq ($(COMPILER_TARGETDIR),.)
  1554. override TARGETDIRPREFIX=
  1555. else
  1556. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1557. endif
  1558. endif
  1559. ifdef COMPILER_UNITTARGETDIR
  1560. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1561. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1562. override UNITTARGETDIRPREFIX=
  1563. else
  1564. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1565. endif
  1566. else
  1567. ifdef COMPILER_TARGETDIR
  1568. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1569. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1570. endif
  1571. endif
  1572. ifdef CREATESHARED
  1573. override FPCOPT+=-Cg
  1574. ifeq ($(CPU_TARGET),i386)
  1575. override FPCOPT+=-Aas
  1576. endif
  1577. endif
  1578. ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
  1579. ifeq ($(OS_TARGET),linux)
  1580. ifeq ($(CPU_TARGET),x86_64)
  1581. override FPCOPT+=-Cg
  1582. endif
  1583. endif
  1584. endif
  1585. ifdef LINKSHARED
  1586. endif
  1587. ifdef OPT
  1588. override FPCOPT+=$(OPT)
  1589. endif
  1590. ifdef FPCOPTDEF
  1591. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1592. endif
  1593. ifdef CFGFILE
  1594. override FPCOPT+=@$(CFGFILE)
  1595. endif
  1596. ifdef USEENV
  1597. override FPCEXTCMD:=$(FPCOPT)
  1598. override FPCOPT:=!FPCEXTCMD
  1599. export FPCEXTCMD
  1600. endif
  1601. override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  1602. override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  1603. ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
  1604. override ACROSSCOMPILE=1
  1605. endif
  1606. ifdef ACROSSCOMPILE
  1607. override FPCOPT+=$(CROSSOPT)
  1608. endif
  1609. override COMPILER:=$(FPC) $(FPCOPT)
  1610. ifeq (,$(findstring -s ,$(COMPILER)))
  1611. EXECPPAS=
  1612. else
  1613. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1614. EXECPPAS:=@$(PPAS)
  1615. endif
  1616. endif
  1617. .PHONY: fpc_units
  1618. ifneq ($(TARGET_UNITS),)
  1619. override ALLTARGET+=fpc_units
  1620. override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
  1621. override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
  1622. override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1623. override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
  1624. endif
  1625. fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)
  1626. ifdef TARGET_RSTS
  1627. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1628. override CLEANRSTFILES+=$(RSTFILES)
  1629. endif
  1630. .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
  1631. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1632. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1633. fpc_all: $(FPCMADE)
  1634. fpc_smart:
  1635. $(MAKE) all LINKSMART=1 CREATESMART=1
  1636. fpc_debug:
  1637. $(MAKE) all DEBUG=1
  1638. fpc_release:
  1639. $(MAKE) all RELEASE=1
  1640. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
  1641. $(COMPILER_UNITTARGETDIR):
  1642. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  1643. $(COMPILER_TARGETDIR):
  1644. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  1645. %$(PPUEXT): %.pp
  1646. $(COMPILER) $<
  1647. $(EXECPPAS)
  1648. %$(PPUEXT): %.pas
  1649. $(COMPILER) $<
  1650. $(EXECPPAS)
  1651. %$(EXEEXT): %.pp
  1652. $(COMPILER) $<
  1653. $(EXECPPAS)
  1654. %$(EXEEXT): %.pas
  1655. $(COMPILER) $<
  1656. $(EXECPPAS)
  1657. %$(EXEEXT): %.lpr
  1658. $(COMPILER) $<
  1659. $(EXECPPAS)
  1660. %$(EXEEXT): %.dpr
  1661. $(COMPILER) $<
  1662. $(EXECPPAS)
  1663. %.res: %.rc
  1664. windres -i $< -o $@
  1665. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1666. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1667. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1668. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  1669. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  1670. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  1671. .PHONY: fpc_shared
  1672. override INSTALLTARGET+=fpc_shared_install
  1673. ifndef SHARED_LIBVERSION
  1674. SHARED_LIBVERSION=$(FPC_VERSION)
  1675. endif
  1676. ifndef SHARED_LIBNAME
  1677. SHARED_LIBNAME=$(PACKAGE_NAME)
  1678. endif
  1679. ifndef SHARED_FULLNAME
  1680. SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
  1681. endif
  1682. ifndef SHARED_LIBUNITS
  1683. SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
  1684. override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
  1685. endif
  1686. fpc_shared:
  1687. ifdef HASSHAREDLIB
  1688. $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
  1689. ifneq ($(SHARED_BUILD),n)
  1690. $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
  1691. endif
  1692. else
  1693. @$(ECHO) Shared Libraries not supported
  1694. endif
  1695. fpc_shared_install:
  1696. ifneq ($(SHARED_BUILD),n)
  1697. ifneq ($(SHARED_LIBUNITS),)
  1698. ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
  1699. $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
  1700. endif
  1701. endif
  1702. endif
  1703. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  1704. ifdef INSTALL_UNITS
  1705. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  1706. endif
  1707. ifdef INSTALL_BUILDUNIT
  1708. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  1709. endif
  1710. ifdef INSTALLPPUFILES
  1711. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  1712. ifneq ($(UNITTARGETDIRPREFIX),)
  1713. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
  1714. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
  1715. endif
  1716. override INSTALL_CREATEPACKAGEFPC=1
  1717. endif
  1718. ifdef INSTALLEXEFILES
  1719. ifneq ($(TARGETDIRPREFIX),)
  1720. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  1721. endif
  1722. endif
  1723. fpc_install: all $(INSTALLTARGET)
  1724. ifdef INSTALLEXEFILES
  1725. $(MKDIR) $(INSTALL_BINDIR)
  1726. ifdef UPXPROG
  1727. -$(UPXPROG) $(INSTALLEXEFILES)
  1728. endif
  1729. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  1730. endif
  1731. ifdef INSTALL_CREATEPACKAGEFPC
  1732. ifdef FPCMAKE
  1733. ifdef PACKAGE_VERSION
  1734. ifneq ($(wildcard Makefile.fpc),)
  1735. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  1736. $(MKDIR) $(INSTALL_UNITDIR)
  1737. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  1738. endif
  1739. endif
  1740. endif
  1741. endif
  1742. ifdef INSTALLPPUFILES
  1743. $(MKDIR) $(INSTALL_UNITDIR)
  1744. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  1745. ifneq ($(INSTALLPPULINKFILES),)
  1746. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  1747. endif
  1748. ifneq ($(wildcard $(LIB_FULLNAME)),)
  1749. $(MKDIR) $(INSTALL_LIBDIR)
  1750. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  1751. ifdef inUnix
  1752. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  1753. endif
  1754. endif
  1755. endif
  1756. ifdef INSTALL_FILES
  1757. $(MKDIR) $(INSTALL_DATADIR)
  1758. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  1759. endif
  1760. fpc_sourceinstall: distclean
  1761. $(MKDIR) $(INSTALL_SOURCEDIR)
  1762. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  1763. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  1764. ifdef HASEXAMPLES
  1765. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  1766. endif
  1767. ifdef EXAMPLESOURCEFILES
  1768. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  1769. endif
  1770. ifdef TARGET_EXAMPLEDIRS
  1771. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  1772. endif
  1773. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  1774. ifdef EXEFILES
  1775. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  1776. endif
  1777. ifdef CLEAN_UNITS
  1778. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  1779. endif
  1780. ifdef CLEANPPUFILES
  1781. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  1782. ifdef DEBUGSYMEXT
  1783. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  1784. endif
  1785. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  1786. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  1787. endif
  1788. fpc_clean: $(CLEANTARGET)
  1789. ifdef CLEANEXEFILES
  1790. -$(DEL) $(CLEANEXEFILES)
  1791. endif
  1792. ifdef CLEANPPUFILES
  1793. -$(DEL) $(CLEANPPUFILES)
  1794. endif
  1795. ifneq ($(CLEANPPULINKFILES),)
  1796. -$(DEL) $(CLEANPPULINKFILES)
  1797. endif
  1798. ifdef CLEANRSTFILES
  1799. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1800. endif
  1801. ifdef CLEAN_FILES
  1802. -$(DEL) $(CLEAN_FILES)
  1803. endif
  1804. ifdef LIB_NAME
  1805. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  1806. endif
  1807. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1808. -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
  1809. fpc_cleanall: $(CLEANTARGET)
  1810. ifdef CLEANEXEFILES
  1811. -$(DEL) $(CLEANEXEFILES)
  1812. endif
  1813. ifdef COMPILER_UNITTARGETDIR
  1814. ifdef CLEANPPUFILES
  1815. -$(DEL) $(CLEANPPUFILES)
  1816. endif
  1817. ifneq ($(CLEANPPULINKFILES),)
  1818. -$(DEL) $(CLEANPPULINKFILES)
  1819. endif
  1820. ifdef CLEANRSTFILES
  1821. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  1822. endif
  1823. endif
  1824. -$(DELTREE) units
  1825. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  1826. ifneq ($(PPUEXT),.ppu)
  1827. -$(DEL) *.o *.ppu *.a
  1828. endif
  1829. -$(DELTREE) *$(SMARTEXT)
  1830. -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  1831. -$(DEL) *_ppas$(BATCHEXT)
  1832. ifdef AOUTEXT
  1833. -$(DEL) *$(AOUTEXT)
  1834. endif
  1835. ifdef DEBUGSYMEXT
  1836. -$(DEL) *$(DEBUGSYMEXT)
  1837. endif
  1838. fpc_distclean: cleanall
  1839. .PHONY: fpc_baseinfo
  1840. override INFORULES+=fpc_baseinfo
  1841. fpc_baseinfo:
  1842. @$(ECHO)
  1843. @$(ECHO) == Package info ==
  1844. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  1845. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  1846. @$(ECHO)
  1847. @$(ECHO) == Configuration info ==
  1848. @$(ECHO)
  1849. @$(ECHO) FPC.......... $(FPC)
  1850. @$(ECHO) FPC Version.. $(FPC_VERSION)
  1851. @$(ECHO) Source CPU... $(CPU_SOURCE)
  1852. @$(ECHO) Target CPU... $(CPU_TARGET)
  1853. @$(ECHO) Source OS.... $(OS_SOURCE)
  1854. @$(ECHO) Target OS.... $(OS_TARGET)
  1855. @$(ECHO) Full Source.. $(FULL_SOURCE)
  1856. @$(ECHO) Full Target.. $(FULL_TARGET)
  1857. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  1858. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  1859. @$(ECHO)
  1860. @$(ECHO) == Directory info ==
  1861. @$(ECHO)
  1862. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  1863. @$(ECHO)
  1864. @$(ECHO) Basedir......... $(BASEDIR)
  1865. @$(ECHO) FPCDir.......... $(FPCDIR)
  1866. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  1867. @$(ECHO) UnitsDir........ $(UNITSDIR)
  1868. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  1869. @$(ECHO)
  1870. @$(ECHO) GCC library..... $(GCCLIBDIR)
  1871. @$(ECHO) Other library... $(OTHERLIBDIR)
  1872. @$(ECHO)
  1873. @$(ECHO) == Tools info ==
  1874. @$(ECHO)
  1875. @$(ECHO) As........ $(AS)
  1876. @$(ECHO) Ld........ $(LD)
  1877. @$(ECHO) Ar........ $(AR)
  1878. @$(ECHO) Rc........ $(RC)
  1879. @$(ECHO)
  1880. @$(ECHO) Mv........ $(MVPROG)
  1881. @$(ECHO) Cp........ $(CPPROG)
  1882. @$(ECHO) Rm........ $(RMPROG)
  1883. @$(ECHO) GInstall.. $(GINSTALL)
  1884. @$(ECHO) Echo...... $(ECHO)
  1885. @$(ECHO) Shell..... $(SHELL)
  1886. @$(ECHO) Date...... $(DATE)
  1887. @$(ECHO) FPCMake... $(FPCMAKE)
  1888. @$(ECHO) PPUMove... $(PPUMOVE)
  1889. @$(ECHO) Upx....... $(UPXPROG)
  1890. @$(ECHO) Zip....... $(ZIPPROG)
  1891. @$(ECHO)
  1892. @$(ECHO) == Object info ==
  1893. @$(ECHO)
  1894. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  1895. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  1896. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  1897. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  1898. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  1899. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  1900. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  1901. @$(ECHO)
  1902. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  1903. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  1904. @$(ECHO)
  1905. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  1906. @$(ECHO) Install Files....... $(INSTALL_FILES)
  1907. @$(ECHO)
  1908. @$(ECHO) == Install info ==
  1909. @$(ECHO)
  1910. @$(ECHO) DateStr.............. $(DATESTR)
  1911. @$(ECHO) ZipName.............. $(ZIPNAME)
  1912. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  1913. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  1914. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  1915. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  1916. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  1917. @$(ECHO)
  1918. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  1919. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  1920. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  1921. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  1922. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  1923. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  1924. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  1925. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  1926. @$(ECHO)
  1927. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  1928. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  1929. @$(ECHO)
  1930. .PHONY: fpc_info
  1931. fpc_info: $(INFORULES)
  1932. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  1933. fpc_makefile_dirs
  1934. fpc_makefile:
  1935. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  1936. fpc_makefile_sub1:
  1937. ifdef TARGET_DIRS
  1938. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  1939. endif
  1940. ifdef TARGET_EXAMPLEDIRS
  1941. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  1942. endif
  1943. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  1944. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  1945. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  1946. all: fpc_all
  1947. debug: fpc_debug
  1948. smart: fpc_smart
  1949. release: fpc_release
  1950. units: fpc_units
  1951. examples:
  1952. shared: fpc_shared
  1953. install: fpc_install
  1954. sourceinstall: fpc_sourceinstall
  1955. exampleinstall: fpc_exampleinstall
  1956. distinstall:
  1957. zipinstall:
  1958. zipsourceinstall:
  1959. zipexampleinstall:
  1960. zipdistinstall:
  1961. clean: fpc_clean
  1962. distclean: fpc_distclean
  1963. cleanall: fpc_cleanall
  1964. info: fpc_info
  1965. makefiles: fpc_makefiles
  1966. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  1967. ifneq ($(wildcard fpcmake.loc),)
  1968. include fpcmake.loc
  1969. endif
  1970. .NOTPARALLEL:
  1971. SYSTEMPPU=$(addsuffix $(PPUEXT),$(SYSTEMUNIT))
  1972. include $(INC)/makefile.inc
  1973. SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
  1974. include $(PROCINC)/makefile.cpu
  1975. SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
  1976. SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS) winres.inc
  1977. $(SYSTEMUNIT)$(PPUEXT) : $(SYSTEMUNIT).pp $(SYSDEPS)
  1978. $(COMPILER) -Us -Sg $(SYSTEMUNIT).pp
  1979. objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc $(SYSTEMUNIT)$(PPUEXT)
  1980. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/objpas.pp
  1981. strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
  1982. $(PROCINC)/strings.inc $(PROCINC)/stringss.inc\
  1983. $(SYSTEMUNIT)$(PPUEXT)
  1984. windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) $(SYSTEMUNIT)$(PPUEXT)
  1985. $(COMPILER) -I$(WININC) windows.pp
  1986. messages$(PPUEXT): messages.pp $(WININC)/messages.inc windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1987. $(COMPILER) -I$(WININC) messages.pp
  1988. winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  1989. sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \
  1990. $(INC)/sockets.inc $(INC)/socketsh.inc
  1991. dynlibs$(PPUEXT) : $(INC)/dynlibs.pas windows$(PPUEXT)
  1992. dos$(PPUEXT) : dos.pp $(INC)/filerec.inc $(INC)/textrec.inc strings$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) windows$(PPUEXT)
  1993. objects$(PPUEXT) : $(INC)/objects.pp $(SYSTEMUNIT)$(PPUEXT)
  1994. sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \
  1995. objpas$(PPUEXT) dos$(PPUEXT) windows$(PPUEXT) sysconst$(PPUEXT)
  1996. $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp
  1997. classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
  1998. sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) \
  1999. sysconst$(PPUEXT) fgl$(PPUEXT)
  2000. $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp
  2001. fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
  2002. $(COMPILER) $(OBJPASDIR)/fgl.pp
  2003. typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT)
  2004. $(COMPILER) -Sg $(OBJPASDIR)/typinfo.pp
  2005. math$(PPUEXT): $(OBJPASDIR)/math.pp objpas$(PPUEXT) sysutils$(PPUEXT)
  2006. $(COMPILER) $(OBJPASDIR)/math.pp
  2007. varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \
  2008. $(OBJPASDIR)/varutilh.inc varutils.pp sysutils$(PPUEXT)
  2009. $(COMPILER) -Fi$(OBJPASDIR) varutils.pp
  2010. variants$(PPUEXT) : $(INC)/variants.pp varutils$(PPUEXT) sysutils$(PPUEXT) sysconst$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
  2011. $(COMPILER) -Fi$(INC) $(INC)/variants.pp
  2012. fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT)
  2013. $(COMPILER) $(OBJPASDIR)/fmtbcd.pp
  2014. types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2015. $(COMPILER) $(OBJPASDIR)/types.pp
  2016. rtlconsts$(PPUEXT) : objpas$(PPUEXT) $(OBJPASDIR)/rtlconsts.pp
  2017. $(COMPILER) $(OBJPASDIR)/rtlconsts.pp
  2018. sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2019. $(COMPILER) $(OBJPASDIR)/sysconst.pp
  2020. dateutils$(PPUEXT) : $(OBJPASDIR)/dateutils.pp
  2021. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutils.pp
  2022. convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp
  2023. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp
  2024. strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp
  2025. $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp
  2026. macpas$(PPUEXT) : $(INC)/macpas.pp $(SYSTEMUNIT)$(PPUEXT)
  2027. $(COMPILER) $(INC)/macpas.pp $(REDIR)
  2028. getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT)
  2029. heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT)
  2030. $(COMPILER) -Sg $(INC)/heaptrc.pp
  2031. lineinfo$(PPUEXT) : $(INC)/lineinfo.pp $(SYSTEMUNIT)$(PPUEXT)
  2032. lnfodwrf$(PPUEXT) : $(INC)/lnfodwrf.pp $(SYSTEMUNIT)$(PPUEXT)
  2033. charset$(PPUEXT) : $(INC)/charset.pp $(SYSTEMUNIT)$(PPUEXT)
  2034. cmem$(PPUEXT) : $(INC)/cmem.pp $(SYSTEMUNIT)$(PPUEXT)
  2035. ucomplex$(PPUEXT) : $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
  2036. ctypes$(PPUEXT) : $(INC)/ctypes.pp $(SYSTEMUNIT)$(PPUEXT)
  2037. sharemem$(PPUEXT) : $(WINDIR)/sharemem.pp system$(PPUEXT)
  2038. fpcmemdll.dll : $(WINDIR)/fpcmemdll.pp system$(PPUEXT)