Makefile 67 KB

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