Makefile 79 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 2.0.0 [2007/01/25]
  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-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 DEFAULT_FPCDIR=../..
  96. ifndef FPC
  97. ifdef PP
  98. FPC=$(PP)
  99. endif
  100. endif
  101. ifndef FPC
  102. FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
  103. ifneq ($(FPCPROG),)
  104. FPCPROG:=$(firstword $(FPCPROG))
  105. FPC:=$(shell $(FPCPROG) -PB)
  106. ifneq ($(findstring Error,$(FPC)),)
  107. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  108. endif
  109. else
  110. override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH)))))
  111. endif
  112. endif
  113. override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
  114. override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
  115. FOUNDFPC:=$(strip $(wildcard $(FPC)))
  116. ifeq ($(FOUNDFPC),)
  117. FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))
  118. ifeq ($(FOUNDFPC),)
  119. $(error Compiler $(FPC) not found)
  120. endif
  121. endif
  122. ifndef FPC_COMPILERINFO
  123. FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO)
  124. endif
  125. ifndef FPC_VERSION
  126. FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO))
  127. endif
  128. export FPC FPC_VERSION FPC_COMPILERINFO
  129. unexport CHECKDEPEND ALLDEPENDENCIES
  130. ifndef CPU_TARGET
  131. ifdef CPU_TARGET_DEFAULT
  132. CPU_TARGET=$(CPU_TARGET_DEFAULT)
  133. endif
  134. endif
  135. ifndef OS_TARGET
  136. ifdef OS_TARGET_DEFAULT
  137. OS_TARGET=$(OS_TARGET_DEFAULT)
  138. endif
  139. endif
  140. ifneq ($(words $(FPC_COMPILERINFO)),5)
  141. FPC_COMPILERINFO+=$(shell $(FPC) -iSP)
  142. FPC_COMPILERINFO+=$(shell $(FPC) -iTP)
  143. FPC_COMPILERINFO+=$(shell $(FPC) -iSO)
  144. FPC_COMPILERINFO+=$(shell $(FPC) -iTO)
  145. endif
  146. ifndef CPU_SOURCE
  147. CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO))
  148. endif
  149. ifndef CPU_TARGET
  150. CPU_TARGET:=$(word 3,$(FPC_COMPILERINFO))
  151. endif
  152. ifndef OS_SOURCE
  153. OS_SOURCE:=$(word 4,$(FPC_COMPILERINFO))
  154. endif
  155. ifndef OS_TARGET
  156. OS_TARGET:=$(word 5,$(FPC_COMPILERINFO))
  157. endif
  158. FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  159. FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  160. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  161. TARGETSUFFIX=$(OS_TARGET)
  162. SOURCESUFFIX=$(OS_SOURCE)
  163. else
  164. TARGETSUFFIX=$(FULL_TARGET)
  165. SOURCESUFFIX=$(FULL_SOURCE)
  166. endif
  167. ifneq ($(FULL_TARGET),$(FULL_SOURCE))
  168. CROSSCOMPILE=1
  169. endif
  170. ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
  171. ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),)
  172. $(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first)
  173. endif
  174. endif
  175. ifneq ($(findstring $(OS_TARGET),$(BSDs)),)
  176. BSDhier=1
  177. endif
  178. ifeq ($(OS_TARGET),linux)
  179. linuxHier=1
  180. endif
  181. export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
  182. ifdef FPCDIR
  183. override FPCDIR:=$(subst \,/,$(FPCDIR))
  184. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  185. override FPCDIR=wrong
  186. endif
  187. else
  188. override FPCDIR=wrong
  189. endif
  190. ifdef DEFAULT_FPCDIR
  191. ifeq ($(FPCDIR),wrong)
  192. override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
  193. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  194. override FPCDIR=wrong
  195. endif
  196. endif
  197. endif
  198. ifeq ($(FPCDIR),wrong)
  199. ifdef inUnix
  200. override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
  201. ifeq ($(wildcard $(FPCDIR)/units),)
  202. override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
  203. endif
  204. else
  205. override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
  206. override FPCDIR:=$(FPCDIR)/..
  207. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  208. override FPCDIR:=$(FPCDIR)/..
  209. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  210. override FPCDIR:=$(BASEDIR)
  211. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
  212. override FPCDIR=c:/pp
  213. endif
  214. endif
  215. endif
  216. endif
  217. endif
  218. ifndef CROSSBINDIR
  219. CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX))
  220. endif
  221. ifndef BINUTILSPREFIX
  222. ifndef CROSSBINDIR
  223. ifdef CROSSCOMPILE
  224. BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)-
  225. endif
  226. endif
  227. endif
  228. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX))
  229. ifeq ($(UNITSDIR),)
  230. UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
  231. endif
  232. PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
  233. ifeq ($(FULL_TARGET),i386-linux)
  234. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  235. endif
  236. ifeq ($(FULL_TARGET),i386-go32v2)
  237. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  238. endif
  239. ifeq ($(FULL_TARGET),i386-win32)
  240. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip showver testproc testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv
  241. endif
  242. ifeq ($(FULL_TARGET),i386-os2)
  243. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip isockcli isocksvr testhres testnres testsres testrhre testrnre testrsre testur
  244. endif
  245. ifeq ($(FULL_TARGET),i386-freebsd)
  246. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  247. endif
  248. ifeq ($(FULL_TARGET),i386-beos)
  249. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  250. endif
  251. ifeq ($(FULL_TARGET),i386-netbsd)
  252. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  253. endif
  254. ifeq ($(FULL_TARGET),i386-solaris)
  255. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  256. endif
  257. ifeq ($(FULL_TARGET),i386-qnx)
  258. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  259. endif
  260. ifeq ($(FULL_TARGET),i386-netware)
  261. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  262. endif
  263. ifeq ($(FULL_TARGET),i386-openbsd)
  264. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  265. endif
  266. ifeq ($(FULL_TARGET),i386-wdosx)
  267. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  268. endif
  269. ifeq ($(FULL_TARGET),i386-darwin)
  270. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  271. endif
  272. ifeq ($(FULL_TARGET),i386-emx)
  273. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip isockcli isocksvr testhres testnres testsres testrhre testrnre testrsre testur
  274. endif
  275. ifeq ($(FULL_TARGET),i386-watcom)
  276. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  277. endif
  278. ifeq ($(FULL_TARGET),i386-netwlibc)
  279. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  280. endif
  281. ifeq ($(FULL_TARGET),i386-wince)
  282. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  283. endif
  284. ifeq ($(FULL_TARGET),i386-embedded)
  285. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  286. endif
  287. ifeq ($(FULL_TARGET),i386-symbian)
  288. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  289. endif
  290. ifeq ($(FULL_TARGET),m68k-linux)
  291. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  292. endif
  293. ifeq ($(FULL_TARGET),m68k-freebsd)
  294. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  295. endif
  296. ifeq ($(FULL_TARGET),m68k-netbsd)
  297. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  298. endif
  299. ifeq ($(FULL_TARGET),m68k-amiga)
  300. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  301. endif
  302. ifeq ($(FULL_TARGET),m68k-atari)
  303. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  304. endif
  305. ifeq ($(FULL_TARGET),m68k-openbsd)
  306. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  307. endif
  308. ifeq ($(FULL_TARGET),m68k-palmos)
  309. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  310. endif
  311. ifeq ($(FULL_TARGET),m68k-embedded)
  312. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  313. endif
  314. ifeq ($(FULL_TARGET),powerpc-linux)
  315. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  316. endif
  317. ifeq ($(FULL_TARGET),powerpc-netbsd)
  318. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  319. endif
  320. ifeq ($(FULL_TARGET),powerpc-amiga)
  321. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  322. endif
  323. ifeq ($(FULL_TARGET),powerpc-macos)
  324. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  325. endif
  326. ifeq ($(FULL_TARGET),powerpc-darwin)
  327. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  328. endif
  329. ifeq ($(FULL_TARGET),powerpc-morphos)
  330. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  331. endif
  332. ifeq ($(FULL_TARGET),powerpc-embedded)
  333. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  334. endif
  335. ifeq ($(FULL_TARGET),sparc-linux)
  336. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  337. endif
  338. ifeq ($(FULL_TARGET),sparc-netbsd)
  339. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  340. endif
  341. ifeq ($(FULL_TARGET),sparc-solaris)
  342. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  343. endif
  344. ifeq ($(FULL_TARGET),sparc-embedded)
  345. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  346. endif
  347. ifeq ($(FULL_TARGET),x86_64-linux)
  348. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  349. endif
  350. ifeq ($(FULL_TARGET),x86_64-freebsd)
  351. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  352. endif
  353. ifeq ($(FULL_TARGET),x86_64-win64)
  354. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  355. endif
  356. ifeq ($(FULL_TARGET),x86_64-embedded)
  357. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  358. endif
  359. ifeq ($(FULL_TARGET),arm-linux)
  360. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  361. endif
  362. ifeq ($(FULL_TARGET),arm-palmos)
  363. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  364. endif
  365. ifeq ($(FULL_TARGET),arm-wince)
  366. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  367. endif
  368. ifeq ($(FULL_TARGET),arm-gba)
  369. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  370. endif
  371. ifeq ($(FULL_TARGET),arm-nds)
  372. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  373. endif
  374. ifeq ($(FULL_TARGET),arm-embedded)
  375. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  376. endif
  377. ifeq ($(FULL_TARGET),arm-symbian)
  378. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  379. endif
  380. ifeq ($(FULL_TARGET),powerpc64-linux)
  381. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur ipcserver ipcclient debugtest dbugsrv asiotest
  382. endif
  383. ifeq ($(FULL_TARGET),powerpc64-embedded)
  384. override TARGET_PROGRAMS+=stringl dparser fstream mstream list threads testrtf cfgtest xmldump htdump testez tidea b64test b64test2 b64enc b64dec restest testz testz2 istream doecho testol testcont txmlreg testreg tstelcmd testapp testcgi testbs testbf cachetest poolmm1 poolmm2 tarmakercons tarmakerconsgzip
  385. endif
  386. override INSTALL_FPCPACKAGE=y
  387. ifdef REQUIRE_UNITSDIR
  388. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  389. endif
  390. ifdef REQUIRE_PACKAGESDIR
  391. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  392. endif
  393. ifdef ZIPINSTALL
  394. ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
  395. UNIXHier=1
  396. endif
  397. else
  398. ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
  399. UNIXHier=1
  400. endif
  401. endif
  402. ifndef INSTALL_PREFIX
  403. ifdef PREFIX
  404. INSTALL_PREFIX=$(PREFIX)
  405. endif
  406. endif
  407. ifndef INSTALL_PREFIX
  408. ifdef UNIXHier
  409. INSTALL_PREFIX=/usr/local
  410. else
  411. ifdef INSTALL_FPCPACKAGE
  412. INSTALL_BASEDIR:=/pp
  413. else
  414. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  415. endif
  416. endif
  417. endif
  418. export INSTALL_PREFIX
  419. ifdef INSTALL_FPCSUBDIR
  420. export INSTALL_FPCSUBDIR
  421. endif
  422. ifndef DIST_DESTDIR
  423. DIST_DESTDIR:=$(BASEDIR)
  424. endif
  425. export DIST_DESTDIR
  426. ifndef COMPILER_UNITTARGETDIR
  427. ifdef PACKAGEDIR_MAIN
  428. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  429. else
  430. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  431. endif
  432. endif
  433. ifndef COMPILER_TARGETDIR
  434. COMPILER_TARGETDIR=.
  435. endif
  436. ifndef INSTALL_BASEDIR
  437. ifdef UNIXHier
  438. ifdef INSTALL_FPCPACKAGE
  439. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  440. else
  441. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  442. endif
  443. else
  444. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  445. endif
  446. endif
  447. ifndef INSTALL_BINDIR
  448. ifdef UNIXHier
  449. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  450. else
  451. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  452. ifdef INSTALL_FPCPACKAGE
  453. ifdef CROSSCOMPILE
  454. ifdef CROSSINSTALL
  455. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  456. else
  457. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  458. endif
  459. else
  460. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  461. endif
  462. endif
  463. endif
  464. endif
  465. ifndef INSTALL_UNITDIR
  466. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  467. ifdef INSTALL_FPCPACKAGE
  468. ifdef PACKAGE_NAME
  469. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  470. endif
  471. endif
  472. endif
  473. ifndef INSTALL_LIBDIR
  474. ifdef UNIXHier
  475. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  476. else
  477. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  478. endif
  479. endif
  480. ifndef INSTALL_SOURCEDIR
  481. ifdef UNIXHier
  482. ifdef BSDhier
  483. SRCPREFIXDIR=share/src
  484. else
  485. ifdef linuxHier
  486. SRCPREFIXDIR=share/src
  487. else
  488. SRCPREFIXDIR=src
  489. endif
  490. endif
  491. ifdef INSTALL_FPCPACKAGE
  492. ifdef INSTALL_FPCSUBDIR
  493. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  494. else
  495. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  496. endif
  497. else
  498. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  499. endif
  500. else
  501. ifdef INSTALL_FPCPACKAGE
  502. ifdef INSTALL_FPCSUBDIR
  503. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  504. else
  505. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  506. endif
  507. else
  508. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  509. endif
  510. endif
  511. endif
  512. ifndef INSTALL_DOCDIR
  513. ifdef UNIXHier
  514. ifdef BSDhier
  515. DOCPREFIXDIR=share/doc
  516. else
  517. ifdef linuxHier
  518. DOCPREFIXDIR=share/doc
  519. else
  520. DOCPREFIXDIR=doc
  521. endif
  522. endif
  523. ifdef INSTALL_FPCPACKAGE
  524. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  525. else
  526. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  527. endif
  528. else
  529. ifdef INSTALL_FPCPACKAGE
  530. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  531. else
  532. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  533. endif
  534. endif
  535. endif
  536. ifndef INSTALL_EXAMPLEDIR
  537. ifdef UNIXHier
  538. ifdef INSTALL_FPCPACKAGE
  539. ifdef BSDhier
  540. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  541. else
  542. ifdef linuxHier
  543. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  544. else
  545. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  546. endif
  547. endif
  548. else
  549. ifdef BSDhier
  550. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  551. else
  552. ifdef linuxHier
  553. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  554. else
  555. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  556. endif
  557. endif
  558. endif
  559. else
  560. ifdef INSTALL_FPCPACKAGE
  561. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  562. else
  563. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  564. endif
  565. endif
  566. endif
  567. ifndef INSTALL_DATADIR
  568. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  569. endif
  570. ifndef INSTALL_SHAREDDIR
  571. INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
  572. endif
  573. ifdef CROSSCOMPILE
  574. ifndef CROSSBINDIR
  575. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  576. ifeq ($(CROSSBINDIR),)
  577. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  578. endif
  579. endif
  580. else
  581. CROSSBINDIR=
  582. endif
  583. ifeq ($(OS_SOURCE),linux)
  584. ifndef GCCLIBDIR
  585. ifeq ($(CPU_TARGET),i386)
  586. ifneq ($(findstring x86_64,$(shell uname -a)),)
  587. ifeq ($(BINUTILSPREFIX),)
  588. GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
  589. endif
  590. endif
  591. endif
  592. ifeq ($(CPU_TARGET),powerpc64)
  593. ifeq ($(BINUTILSPREFIX),)
  594. GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
  595. endif
  596. endif
  597. endif
  598. ifndef GCCLIBDIR
  599. CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH))))
  600. ifneq ($(CROSSGCC),)
  601. GCCLIBDIR:=$(shell dirname `$(CROSSGCC) -print-libgcc-file-name`)
  602. endif
  603. endif
  604. ifndef OTHERLIBDIR
  605. OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
  606. endif
  607. endif
  608. ifdef inUnix
  609. ifeq ($(OS_SOURCE),netbsd)
  610. OTHERLIBDIR+=/usr/pkg/lib
  611. endif
  612. export GCCLIBDIR OTHERLIB
  613. endif
  614. BATCHEXT=.bat
  615. LOADEREXT=.as
  616. EXEEXT=.exe
  617. PPLEXT=.ppl
  618. PPUEXT=.ppu
  619. OEXT=.o
  620. ASMEXT=.s
  621. SMARTEXT=.sl
  622. STATICLIBEXT=.a
  623. SHAREDLIBEXT=.so
  624. SHAREDLIBPREFIX=libfp
  625. STATICLIBPREFIX=libp
  626. IMPORTLIBPREFIX=libimp
  627. RSTEXT=.rst
  628. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  629. ifeq ($(OS_TARGET),go32v1)
  630. STATICLIBPREFIX=
  631. SHORTSUFFIX=v1
  632. endif
  633. ifeq ($(OS_TARGET),go32v2)
  634. STATICLIBPREFIX=
  635. SHORTSUFFIX=dos
  636. endif
  637. ifeq ($(OS_TARGET),watcom)
  638. STATICLIBPREFIX=
  639. OEXT=.obj
  640. ASMEXT=.asm
  641. SHAREDLIBEXT=.dll
  642. SHORTSUFFIX=wat
  643. endif
  644. ifeq ($(OS_TARGET),linux)
  645. BATCHEXT=.sh
  646. EXEEXT=
  647. HASSHAREDLIB=1
  648. SHORTSUFFIX=lnx
  649. endif
  650. ifeq ($(OS_TARGET),freebsd)
  651. BATCHEXT=.sh
  652. EXEEXT=
  653. HASSHAREDLIB=1
  654. SHORTSUFFIX=fbs
  655. endif
  656. ifeq ($(OS_TARGET),netbsd)
  657. BATCHEXT=.sh
  658. EXEEXT=
  659. HASSHAREDLIB=1
  660. SHORTSUFFIX=nbs
  661. endif
  662. ifeq ($(OS_TARGET),openbsd)
  663. BATCHEXT=.sh
  664. EXEEXT=
  665. HASSHAREDLIB=1
  666. SHORTSUFFIX=obs
  667. endif
  668. ifeq ($(OS_TARGET),win32)
  669. SHAREDLIBEXT=.dll
  670. SHORTSUFFIX=w32
  671. endif
  672. ifeq ($(OS_TARGET),os2)
  673. BATCHEXT=.cmd
  674. AOUTEXT=.out
  675. STATICLIBPREFIX=
  676. SHAREDLIBEXT=.dll
  677. SHORTSUFFIX=os2
  678. ECHO=echo
  679. endif
  680. ifeq ($(OS_TARGET),emx)
  681. BATCHEXT=.cmd
  682. AOUTEXT=.out
  683. STATICLIBPREFIX=
  684. SHAREDLIBEXT=.dll
  685. SHORTSUFFIX=emx
  686. ECHO=echo
  687. endif
  688. ifeq ($(OS_TARGET),amiga)
  689. EXEEXT=
  690. SHAREDLIBEXT=.library
  691. SHORTSUFFIX=amg
  692. endif
  693. ifeq ($(OS_TARGET),morphos)
  694. EXEEXT=
  695. SHAREDLIBEXT=.library
  696. SHORTSUFFIX=mos
  697. endif
  698. ifeq ($(OS_TARGET),atari)
  699. EXEEXT=.ttp
  700. SHORTSUFFIX=ata
  701. endif
  702. ifeq ($(OS_TARGET),beos)
  703. BATCHEXT=.sh
  704. EXEEXT=
  705. SHORTSUFFIX=be
  706. endif
  707. ifeq ($(OS_TARGET),solaris)
  708. BATCHEXT=.sh
  709. EXEEXT=
  710. SHORTSUFFIX=sun
  711. endif
  712. ifeq ($(OS_TARGET),qnx)
  713. BATCHEXT=.sh
  714. EXEEXT=
  715. SHORTSUFFIX=qnx
  716. endif
  717. ifeq ($(OS_TARGET),netware)
  718. EXEEXT=.nlm
  719. STATICLIBPREFIX=
  720. SHORTSUFFIX=nw
  721. endif
  722. ifeq ($(OS_TARGET),netwlibc)
  723. EXEEXT=.nlm
  724. STATICLIBPREFIX=
  725. SHORTSUFFIX=nwl
  726. endif
  727. ifeq ($(OS_TARGET),macos)
  728. BATCHEXT=
  729. EXEEXT=
  730. DEBUGSYMEXT=.xcoff
  731. SHORTSUFFIX=mac
  732. endif
  733. ifeq ($(OS_TARGET),darwin)
  734. BATCHEXT=.sh
  735. EXEEXT=
  736. HASSHAREDLIB=1
  737. SHORTSUFFIX=dwn
  738. endif
  739. ifeq ($(OS_TARGET),gba)
  740. EXEEXT=.gba
  741. SHAREDLIBEXT=.so
  742. SHORTSUFFIX=gba
  743. endif
  744. ifeq ($(OS_TARGET),symbian)
  745. SHAREDLIBEXT=.dll
  746. SHORTSUFFIX=symbian
  747. endif
  748. else
  749. ifeq ($(OS_TARGET),go32v1)
  750. PPUEXT=.pp1
  751. OEXT=.o1
  752. ASMEXT=.s1
  753. SMARTEXT=.sl1
  754. STATICLIBEXT=.a1
  755. SHAREDLIBEXT=.so1
  756. STATICLIBPREFIX=
  757. SHORTSUFFIX=v1
  758. endif
  759. ifeq ($(OS_TARGET),go32v2)
  760. STATICLIBPREFIX=
  761. SHORTSUFFIX=dos
  762. endif
  763. ifeq ($(OS_TARGET),watcom)
  764. STATICLIBPREFIX=
  765. SHORTSUFFIX=wat
  766. endif
  767. ifeq ($(OS_TARGET),linux)
  768. BATCHEXT=.sh
  769. EXEEXT=
  770. HASSHAREDLIB=1
  771. SHORTSUFFIX=lnx
  772. endif
  773. ifeq ($(OS_TARGET),freebsd)
  774. BATCHEXT=.sh
  775. EXEEXT=
  776. HASSHAREDLIB=1
  777. SHORTSUFFIX=fbs
  778. endif
  779. ifeq ($(OS_TARGET),netbsd)
  780. BATCHEXT=.sh
  781. EXEEXT=
  782. HASSHAREDLIB=1
  783. SHORTSUFFIX=nbs
  784. endif
  785. ifeq ($(OS_TARGET),openbsd)
  786. BATCHEXT=.sh
  787. EXEEXT=
  788. HASSHAREDLIB=1
  789. SHORTSUFFIX=obs
  790. endif
  791. ifeq ($(OS_TARGET),win32)
  792. PPUEXT=.ppw
  793. OEXT=.ow
  794. ASMEXT=.sw
  795. SMARTEXT=.slw
  796. STATICLIBEXT=.aw
  797. SHAREDLIBEXT=.dll
  798. SHORTSUFFIX=w32
  799. endif
  800. ifeq ($(OS_TARGET),os2)
  801. BATCHEXT=.cmd
  802. PPUEXT=.ppo
  803. ASMEXT=.so2
  804. OEXT=.oo2
  805. AOUTEXT=.out
  806. SMARTEXT=.sl2
  807. STATICLIBPREFIX=
  808. STATICLIBEXT=.ao2
  809. SHAREDLIBEXT=.dll
  810. SHORTSUFFIX=os2
  811. ECHO=echo
  812. endif
  813. ifeq ($(OS_TARGET),amiga)
  814. EXEEXT=
  815. PPUEXT=.ppu
  816. ASMEXT=.s
  817. OEXT=.o
  818. SMARTEXT=.sl
  819. STATICLIBEXT=.a
  820. SHAREDLIBEXT=.library
  821. SHORTSUFFIX=amg
  822. endif
  823. ifeq ($(OS_TARGET),atari)
  824. PPUEXT=.ppu
  825. ASMEXT=.s
  826. OEXT=.o
  827. SMARTEXT=.sl
  828. STATICLIBEXT=.a
  829. EXEEXT=.ttp
  830. SHORTSUFFIX=ata
  831. endif
  832. ifeq ($(OS_TARGET),beos)
  833. BATCHEXT=.sh
  834. PPUEXT=.ppu
  835. ASMEXT=.s
  836. OEXT=.o
  837. SMARTEXT=.sl
  838. STATICLIBEXT=.a
  839. EXEEXT=
  840. SHORTSUFFIX=be
  841. endif
  842. ifeq ($(OS_TARGET),solaris)
  843. BATCHEXT=.sh
  844. PPUEXT=.ppu
  845. ASMEXT=.s
  846. OEXT=.o
  847. SMARTEXT=.sl
  848. STATICLIBEXT=.a
  849. EXEEXT=
  850. SHORTSUFFIX=sun
  851. endif
  852. ifeq ($(OS_TARGET),qnx)
  853. BATCHEXT=.sh
  854. PPUEXT=.ppu
  855. ASMEXT=.s
  856. OEXT=.o
  857. SMARTEXT=.sl
  858. STATICLIBEXT=.a
  859. EXEEXT=
  860. SHORTSUFFIX=qnx
  861. endif
  862. ifeq ($(OS_TARGET),netware)
  863. STATICLIBPREFIX=
  864. PPUEXT=.ppu
  865. OEXT=.o
  866. ASMEXT=.s
  867. SMARTEXT=.sl
  868. STATICLIBEXT=.a
  869. SHAREDLIBEXT=.nlm
  870. EXEEXT=.nlm
  871. SHORTSUFFIX=nw
  872. endif
  873. ifeq ($(OS_TARGET),netwlibc)
  874. STATICLIBPREFIX=
  875. PPUEXT=.ppu
  876. OEXT=.o
  877. ASMEXT=.s
  878. SMARTEXT=.sl
  879. STATICLIBEXT=.a
  880. SHAREDLIBEXT=.nlm
  881. EXEEXT=.nlm
  882. SHORTSUFFIX=nwl
  883. endif
  884. ifeq ($(OS_TARGET),macos)
  885. BATCHEXT=
  886. PPUEXT=.ppu
  887. ASMEXT=.s
  888. OEXT=.o
  889. SMARTEXT=.sl
  890. STATICLIBEXT=.a
  891. EXEEXT=
  892. DEBUGSYMEXT=.xcoff
  893. SHORTSUFFIX=mac
  894. endif
  895. endif
  896. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  897. FPCMADE=fpcmade.$(SHORTSUFFIX)
  898. ZIPSUFFIX=$(SHORTSUFFIX)
  899. ZIPCROSSPREFIX=
  900. ZIPSOURCESUFFIX=src
  901. ZIPEXAMPLESUFFIX=exm
  902. else
  903. FPCMADE=fpcmade.$(TARGETSUFFIX)
  904. ZIPSOURCESUFFIX=.source
  905. ZIPEXAMPLESUFFIX=.examples
  906. ifdef CROSSCOMPILE
  907. ZIPSUFFIX=.$(SOURCESUFFIX)
  908. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  909. else
  910. ZIPSUFFIX=.$(TARGETSUFFIX)
  911. ZIPCROSSPREFIX=
  912. endif
  913. endif
  914. ifndef ECHO
  915. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  916. ifeq ($(ECHO),)
  917. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  918. ifeq ($(ECHO),)
  919. ECHO= __missing_command_ECHO
  920. else
  921. ECHO:=$(firstword $(ECHO))
  922. endif
  923. else
  924. ECHO:=$(firstword $(ECHO))
  925. endif
  926. endif
  927. export ECHO
  928. ifndef DATE
  929. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  930. ifeq ($(DATE),)
  931. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  932. ifeq ($(DATE),)
  933. DATE= __missing_command_DATE
  934. else
  935. DATE:=$(firstword $(DATE))
  936. endif
  937. else
  938. DATE:=$(firstword $(DATE))
  939. endif
  940. endif
  941. export DATE
  942. ifndef GINSTALL
  943. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  944. ifeq ($(GINSTALL),)
  945. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  946. ifeq ($(GINSTALL),)
  947. GINSTALL= __missing_command_GINSTALL
  948. else
  949. GINSTALL:=$(firstword $(GINSTALL))
  950. endif
  951. else
  952. GINSTALL:=$(firstword $(GINSTALL))
  953. endif
  954. endif
  955. export GINSTALL
  956. ifndef CPPROG
  957. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  958. ifeq ($(CPPROG),)
  959. CPPROG= __missing_command_CPPROG
  960. else
  961. CPPROG:=$(firstword $(CPPROG))
  962. endif
  963. endif
  964. export CPPROG
  965. ifndef RMPROG
  966. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  967. ifeq ($(RMPROG),)
  968. RMPROG= __missing_command_RMPROG
  969. else
  970. RMPROG:=$(firstword $(RMPROG))
  971. endif
  972. endif
  973. export RMPROG
  974. ifndef MVPROG
  975. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  976. ifeq ($(MVPROG),)
  977. MVPROG= __missing_command_MVPROG
  978. else
  979. MVPROG:=$(firstword $(MVPROG))
  980. endif
  981. endif
  982. export MVPROG
  983. ifndef MKDIRPROG
  984. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  985. ifeq ($(MKDIRPROG),)
  986. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  987. ifeq ($(MKDIRPROG),)
  988. MKDIRPROG= __missing_command_MKDIRPROG
  989. else
  990. MKDIRPROG:=$(firstword $(MKDIRPROG))
  991. endif
  992. else
  993. MKDIRPROG:=$(firstword $(MKDIRPROG))
  994. endif
  995. endif
  996. export MKDIRPROG
  997. ifndef ECHOREDIR
  998. ifndef inUnix
  999. ECHOREDIR=echo
  1000. else
  1001. ECHOREDIR=$(ECHO)
  1002. endif
  1003. endif
  1004. ifndef COPY
  1005. COPY:=$(CPPROG) -fp
  1006. endif
  1007. ifndef COPYTREE
  1008. COPYTREE:=$(CPPROG) -Rfp
  1009. endif
  1010. ifndef MKDIRTREE
  1011. MKDIRTREE:=$(MKDIRPROG) -p
  1012. endif
  1013. ifndef MOVE
  1014. MOVE:=$(MVPROG) -f
  1015. endif
  1016. ifndef DEL
  1017. DEL:=$(RMPROG) -f
  1018. endif
  1019. ifndef DELTREE
  1020. DELTREE:=$(RMPROG) -rf
  1021. endif
  1022. ifndef INSTALL
  1023. ifdef inUnix
  1024. INSTALL:=$(GINSTALL) -c -m 644
  1025. else
  1026. INSTALL:=$(COPY)
  1027. endif
  1028. endif
  1029. ifndef INSTALLEXE
  1030. ifdef inUnix
  1031. INSTALLEXE:=$(GINSTALL) -c -m 755
  1032. else
  1033. INSTALLEXE:=$(COPY)
  1034. endif
  1035. endif
  1036. ifndef MKDIR
  1037. MKDIR:=$(GINSTALL) -m 755 -d
  1038. endif
  1039. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  1040. ifndef PPUMOVE
  1041. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  1042. ifeq ($(PPUMOVE),)
  1043. PPUMOVE= __missing_command_PPUMOVE
  1044. else
  1045. PPUMOVE:=$(firstword $(PPUMOVE))
  1046. endif
  1047. endif
  1048. export PPUMOVE
  1049. ifndef FPCMAKE
  1050. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  1051. ifeq ($(FPCMAKE),)
  1052. FPCMAKE= __missing_command_FPCMAKE
  1053. else
  1054. FPCMAKE:=$(firstword $(FPCMAKE))
  1055. endif
  1056. endif
  1057. export FPCMAKE
  1058. ifndef ZIPPROG
  1059. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  1060. ifeq ($(ZIPPROG),)
  1061. ZIPPROG= __missing_command_ZIPPROG
  1062. else
  1063. ZIPPROG:=$(firstword $(ZIPPROG))
  1064. endif
  1065. endif
  1066. export ZIPPROG
  1067. ifndef TARPROG
  1068. TARPROG:=$(strip $(wildcard $(addsuffix /gtar$(SRCEXEEXT),$(SEARCHPATH))))
  1069. ifeq ($(TARPROG),)
  1070. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  1071. ifeq ($(TARPROG),)
  1072. TARPROG= __missing_command_TARPROG
  1073. else
  1074. TARPROG:=$(firstword $(TARPROG))
  1075. endif
  1076. else
  1077. TARPROG:=$(firstword $(TARPROG))
  1078. endif
  1079. endif
  1080. export TARPROG
  1081. ASNAME=$(BINUTILSPREFIX)as
  1082. LDNAME=$(BINUTILSPREFIX)ld
  1083. ARNAME=$(BINUTILSPREFIX)ar
  1084. RCNAME=$(BINUTILSPREFIX)rc
  1085. ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
  1086. ifeq ($(OS_TARGET),win32)
  1087. ifeq ($(CROSSBINDIR),)
  1088. ASNAME=asw
  1089. LDNAME=ldw
  1090. ARNAME=arw
  1091. endif
  1092. endif
  1093. endif
  1094. ifndef ASPROG
  1095. ifdef CROSSBINDIR
  1096. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  1097. else
  1098. ASPROG=$(ASNAME)
  1099. endif
  1100. endif
  1101. ifndef LDPROG
  1102. ifdef CROSSBINDIR
  1103. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  1104. else
  1105. LDPROG=$(LDNAME)
  1106. endif
  1107. endif
  1108. ifndef RCPROG
  1109. ifdef CROSSBINDIR
  1110. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  1111. else
  1112. RCPROG=$(RCNAME)
  1113. endif
  1114. endif
  1115. ifndef ARPROG
  1116. ifdef CROSSBINDIR
  1117. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  1118. else
  1119. ARPROG=$(ARNAME)
  1120. endif
  1121. endif
  1122. AS=$(ASPROG)
  1123. LD=$(LDPROG)
  1124. RC=$(RCPROG)
  1125. AR=$(ARPROG)
  1126. PPAS=ppas$(SRCBATCHEXT)
  1127. ifdef inUnix
  1128. LDCONFIG=ldconfig
  1129. else
  1130. LDCONFIG=
  1131. endif
  1132. ifdef DATE
  1133. DATESTR:=$(shell $(DATE) +%Y%m%d)
  1134. else
  1135. DATESTR=
  1136. endif
  1137. ifndef UPXPROG
  1138. ifeq ($(OS_TARGET),go32v2)
  1139. UPXPROG:=1
  1140. endif
  1141. ifeq ($(OS_TARGET),win32)
  1142. UPXPROG:=1
  1143. endif
  1144. ifdef UPXPROG
  1145. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  1146. ifeq ($(UPXPROG),)
  1147. UPXPROG=
  1148. else
  1149. UPXPROG:=$(firstword $(UPXPROG))
  1150. endif
  1151. else
  1152. UPXPROG=
  1153. endif
  1154. endif
  1155. export UPXPROG
  1156. ZIPOPT=-9
  1157. ZIPEXT=.zip
  1158. ifeq ($(USETAR),bz2)
  1159. TAROPT=vj
  1160. TAREXT=.tar.bz2
  1161. else
  1162. TAROPT=vz
  1163. TAREXT=.tar.gz
  1164. endif
  1165. override REQUIRE_PACKAGES=rtl fcl
  1166. ifeq ($(FULL_TARGET),i386-linux)
  1167. REQUIRE_PACKAGES_RTL=1
  1168. REQUIRE_PACKAGES_HASH=1
  1169. REQUIRE_PACKAGES_PASZLIB=1
  1170. REQUIRE_PACKAGES_NETDB=1
  1171. REQUIRE_PACKAGES_LIBASYNC=1
  1172. REQUIRE_PACKAGES_PTHREADS=1
  1173. REQUIRE_PACKAGES_FCL=1
  1174. REQUIRE_PACKAGES_PASJPEG=1
  1175. REQUIRE_PACKAGES_IBASE=1
  1176. REQUIRE_PACKAGES_POSTGRES=1
  1177. REQUIRE_PACKAGES_MYSQL=1
  1178. REQUIRE_PACKAGES_ODBC=1
  1179. REQUIRE_PACKAGES_ORACLE=1
  1180. REQUIRE_PACKAGES_SQLITE=1
  1181. endif
  1182. ifeq ($(FULL_TARGET),i386-go32v2)
  1183. REQUIRE_PACKAGES_RTL=1
  1184. REQUIRE_PACKAGES_HASH=1
  1185. REQUIRE_PACKAGES_PASZLIB=1
  1186. REQUIRE_PACKAGES_FCL=1
  1187. REQUIRE_PACKAGES_NETDB=1
  1188. REQUIRE_PACKAGES_PASJPEG=1
  1189. endif
  1190. ifeq ($(FULL_TARGET),i386-win32)
  1191. REQUIRE_PACKAGES_RTL=1
  1192. REQUIRE_PACKAGES_HASH=1
  1193. REQUIRE_PACKAGES_PASZLIB=1
  1194. REQUIRE_PACKAGES_NETDB=1
  1195. REQUIRE_PACKAGES_FCL=1
  1196. REQUIRE_PACKAGES_PASJPEG=1
  1197. REQUIRE_PACKAGES_IBASE=1
  1198. REQUIRE_PACKAGES_POSTGRES=1
  1199. REQUIRE_PACKAGES_MYSQL=1
  1200. REQUIRE_PACKAGES_ODBC=1
  1201. REQUIRE_PACKAGES_ORACLE=1
  1202. REQUIRE_PACKAGES_SQLITE=1
  1203. endif
  1204. ifeq ($(FULL_TARGET),i386-os2)
  1205. REQUIRE_PACKAGES_RTL=1
  1206. REQUIRE_PACKAGES_HASH=1
  1207. REQUIRE_PACKAGES_PASZLIB=1
  1208. REQUIRE_PACKAGES_NETDB=1
  1209. REQUIRE_PACKAGES_FCL=1
  1210. REQUIRE_PACKAGES_PASJPEG=1
  1211. endif
  1212. ifeq ($(FULL_TARGET),i386-freebsd)
  1213. REQUIRE_PACKAGES_RTL=1
  1214. REQUIRE_PACKAGES_HASH=1
  1215. REQUIRE_PACKAGES_PASZLIB=1
  1216. REQUIRE_PACKAGES_NETDB=1
  1217. REQUIRE_PACKAGES_LIBASYNC=1
  1218. REQUIRE_PACKAGES_PTHREADS=1
  1219. REQUIRE_PACKAGES_FCL=1
  1220. REQUIRE_PACKAGES_PASJPEG=1
  1221. REQUIRE_PACKAGES_IBASE=1
  1222. REQUIRE_PACKAGES_POSTGRES=1
  1223. REQUIRE_PACKAGES_MYSQL=1
  1224. REQUIRE_PACKAGES_ODBC=1
  1225. REQUIRE_PACKAGES_ORACLE=1
  1226. REQUIRE_PACKAGES_SQLITE=1
  1227. endif
  1228. ifeq ($(FULL_TARGET),i386-beos)
  1229. REQUIRE_PACKAGES_RTL=1
  1230. REQUIRE_PACKAGES_HASH=1
  1231. REQUIRE_PACKAGES_PASZLIB=1
  1232. REQUIRE_PACKAGES_FCL=1
  1233. REQUIRE_PACKAGES_NETDB=1
  1234. REQUIRE_PACKAGES_PASJPEG=1
  1235. endif
  1236. ifeq ($(FULL_TARGET),i386-netbsd)
  1237. REQUIRE_PACKAGES_RTL=1
  1238. REQUIRE_PACKAGES_HASH=1
  1239. REQUIRE_PACKAGES_PASZLIB=1
  1240. REQUIRE_PACKAGES_NETDB=1
  1241. REQUIRE_PACKAGES_LIBASYNC=1
  1242. REQUIRE_PACKAGES_FCL=1
  1243. REQUIRE_PACKAGES_PASJPEG=1
  1244. REQUIRE_PACKAGES_IBASE=1
  1245. REQUIRE_PACKAGES_POSTGRES=1
  1246. REQUIRE_PACKAGES_MYSQL=1
  1247. REQUIRE_PACKAGES_ODBC=1
  1248. REQUIRE_PACKAGES_ORACLE=1
  1249. REQUIRE_PACKAGES_SQLITE=1
  1250. endif
  1251. ifeq ($(FULL_TARGET),i386-solaris)
  1252. REQUIRE_PACKAGES_RTL=1
  1253. REQUIRE_PACKAGES_HASH=1
  1254. REQUIRE_PACKAGES_PASZLIB=1
  1255. REQUIRE_PACKAGES_NETDB=1
  1256. REQUIRE_PACKAGES_LIBASYNC=1
  1257. REQUIRE_PACKAGES_PTHREADS=1
  1258. REQUIRE_PACKAGES_FCL=1
  1259. REQUIRE_PACKAGES_PASJPEG=1
  1260. endif
  1261. ifeq ($(FULL_TARGET),i386-qnx)
  1262. REQUIRE_PACKAGES_RTL=1
  1263. REQUIRE_PACKAGES_HASH=1
  1264. REQUIRE_PACKAGES_PASZLIB=1
  1265. REQUIRE_PACKAGES_FCL=1
  1266. REQUIRE_PACKAGES_NETDB=1
  1267. REQUIRE_PACKAGES_PASJPEG=1
  1268. endif
  1269. ifeq ($(FULL_TARGET),i386-netware)
  1270. REQUIRE_PACKAGES_RTL=1
  1271. REQUIRE_PACKAGES_HASH=1
  1272. REQUIRE_PACKAGES_PASZLIB=1
  1273. REQUIRE_PACKAGES_FCL=1
  1274. REQUIRE_PACKAGES_NETDB=1
  1275. REQUIRE_PACKAGES_PASJPEG=1
  1276. endif
  1277. ifeq ($(FULL_TARGET),i386-openbsd)
  1278. REQUIRE_PACKAGES_RTL=1
  1279. REQUIRE_PACKAGES_HASH=1
  1280. REQUIRE_PACKAGES_PASZLIB=1
  1281. REQUIRE_PACKAGES_NETDB=1
  1282. REQUIRE_PACKAGES_LIBASYNC=1
  1283. REQUIRE_PACKAGES_FCL=1
  1284. REQUIRE_PACKAGES_PASJPEG=1
  1285. REQUIRE_PACKAGES_IBASE=1
  1286. REQUIRE_PACKAGES_POSTGRES=1
  1287. REQUIRE_PACKAGES_MYSQL=1
  1288. REQUIRE_PACKAGES_ODBC=1
  1289. REQUIRE_PACKAGES_ORACLE=1
  1290. REQUIRE_PACKAGES_SQLITE=1
  1291. endif
  1292. ifeq ($(FULL_TARGET),i386-wdosx)
  1293. REQUIRE_PACKAGES_RTL=1
  1294. REQUIRE_PACKAGES_HASH=1
  1295. REQUIRE_PACKAGES_PASZLIB=1
  1296. REQUIRE_PACKAGES_FCL=1
  1297. REQUIRE_PACKAGES_NETDB=1
  1298. REQUIRE_PACKAGES_PASJPEG=1
  1299. endif
  1300. ifeq ($(FULL_TARGET),i386-darwin)
  1301. REQUIRE_PACKAGES_RTL=1
  1302. REQUIRE_PACKAGES_HASH=1
  1303. REQUIRE_PACKAGES_PASZLIB=1
  1304. REQUIRE_PACKAGES_NETDB=1
  1305. REQUIRE_PACKAGES_LIBASYNC=1
  1306. REQUIRE_PACKAGES_PTHREADS=1
  1307. REQUIRE_PACKAGES_FCL=1
  1308. REQUIRE_PACKAGES_PASJPEG=1
  1309. REQUIRE_PACKAGES_IBASE=1
  1310. REQUIRE_PACKAGES_POSTGRES=1
  1311. REQUIRE_PACKAGES_MYSQL=1
  1312. REQUIRE_PACKAGES_ODBC=1
  1313. REQUIRE_PACKAGES_ORACLE=1
  1314. REQUIRE_PACKAGES_SQLITE=1
  1315. endif
  1316. ifeq ($(FULL_TARGET),i386-emx)
  1317. REQUIRE_PACKAGES_RTL=1
  1318. REQUIRE_PACKAGES_HASH=1
  1319. REQUIRE_PACKAGES_PASZLIB=1
  1320. REQUIRE_PACKAGES_NETDB=1
  1321. REQUIRE_PACKAGES_FCL=1
  1322. REQUIRE_PACKAGES_PASJPEG=1
  1323. endif
  1324. ifeq ($(FULL_TARGET),i386-watcom)
  1325. REQUIRE_PACKAGES_RTL=1
  1326. REQUIRE_PACKAGES_HASH=1
  1327. REQUIRE_PACKAGES_PASZLIB=1
  1328. REQUIRE_PACKAGES_FCL=1
  1329. REQUIRE_PACKAGES_NETDB=1
  1330. REQUIRE_PACKAGES_PASJPEG=1
  1331. endif
  1332. ifeq ($(FULL_TARGET),i386-netwlibc)
  1333. REQUIRE_PACKAGES_RTL=1
  1334. REQUIRE_PACKAGES_HASH=1
  1335. REQUIRE_PACKAGES_PASZLIB=1
  1336. REQUIRE_PACKAGES_FCL=1
  1337. REQUIRE_PACKAGES_NETDB=1
  1338. REQUIRE_PACKAGES_PASJPEG=1
  1339. endif
  1340. ifeq ($(FULL_TARGET),i386-wince)
  1341. REQUIRE_PACKAGES_RTL=1
  1342. REQUIRE_PACKAGES_HASH=1
  1343. REQUIRE_PACKAGES_PASZLIB=1
  1344. REQUIRE_PACKAGES_NETDB=1
  1345. REQUIRE_PACKAGES_FCL=1
  1346. REQUIRE_PACKAGES_PASJPEG=1
  1347. REQUIRE_PACKAGES_IBASE=1
  1348. REQUIRE_PACKAGES_POSTGRES=1
  1349. REQUIRE_PACKAGES_SQLITE=1
  1350. endif
  1351. ifeq ($(FULL_TARGET),i386-embedded)
  1352. REQUIRE_PACKAGES_RTL=1
  1353. REQUIRE_PACKAGES_HASH=1
  1354. REQUIRE_PACKAGES_PASZLIB=1
  1355. REQUIRE_PACKAGES_FCL=1
  1356. REQUIRE_PACKAGES_NETDB=1
  1357. REQUIRE_PACKAGES_PASJPEG=1
  1358. endif
  1359. ifeq ($(FULL_TARGET),i386-symbian)
  1360. REQUIRE_PACKAGES_RTL=1
  1361. REQUIRE_PACKAGES_HASH=1
  1362. REQUIRE_PACKAGES_PASZLIB=1
  1363. REQUIRE_PACKAGES_FCL=1
  1364. REQUIRE_PACKAGES_NETDB=1
  1365. REQUIRE_PACKAGES_PASJPEG=1
  1366. endif
  1367. ifeq ($(FULL_TARGET),m68k-linux)
  1368. REQUIRE_PACKAGES_RTL=1
  1369. REQUIRE_PACKAGES_HASH=1
  1370. REQUIRE_PACKAGES_PASZLIB=1
  1371. REQUIRE_PACKAGES_NETDB=1
  1372. REQUIRE_PACKAGES_LIBASYNC=1
  1373. REQUIRE_PACKAGES_PTHREADS=1
  1374. REQUIRE_PACKAGES_FCL=1
  1375. REQUIRE_PACKAGES_PASJPEG=1
  1376. REQUIRE_PACKAGES_IBASE=1
  1377. REQUIRE_PACKAGES_POSTGRES=1
  1378. REQUIRE_PACKAGES_MYSQL=1
  1379. REQUIRE_PACKAGES_ODBC=1
  1380. REQUIRE_PACKAGES_ORACLE=1
  1381. REQUIRE_PACKAGES_SQLITE=1
  1382. endif
  1383. ifeq ($(FULL_TARGET),m68k-freebsd)
  1384. REQUIRE_PACKAGES_RTL=1
  1385. REQUIRE_PACKAGES_HASH=1
  1386. REQUIRE_PACKAGES_PASZLIB=1
  1387. REQUIRE_PACKAGES_NETDB=1
  1388. REQUIRE_PACKAGES_LIBASYNC=1
  1389. REQUIRE_PACKAGES_PTHREADS=1
  1390. REQUIRE_PACKAGES_FCL=1
  1391. REQUIRE_PACKAGES_PASJPEG=1
  1392. REQUIRE_PACKAGES_IBASE=1
  1393. REQUIRE_PACKAGES_POSTGRES=1
  1394. REQUIRE_PACKAGES_MYSQL=1
  1395. REQUIRE_PACKAGES_ODBC=1
  1396. REQUIRE_PACKAGES_ORACLE=1
  1397. REQUIRE_PACKAGES_SQLITE=1
  1398. endif
  1399. ifeq ($(FULL_TARGET),m68k-netbsd)
  1400. REQUIRE_PACKAGES_RTL=1
  1401. REQUIRE_PACKAGES_HASH=1
  1402. REQUIRE_PACKAGES_PASZLIB=1
  1403. REQUIRE_PACKAGES_NETDB=1
  1404. REQUIRE_PACKAGES_LIBASYNC=1
  1405. REQUIRE_PACKAGES_FCL=1
  1406. REQUIRE_PACKAGES_PASJPEG=1
  1407. REQUIRE_PACKAGES_IBASE=1
  1408. REQUIRE_PACKAGES_POSTGRES=1
  1409. REQUIRE_PACKAGES_MYSQL=1
  1410. REQUIRE_PACKAGES_ODBC=1
  1411. REQUIRE_PACKAGES_ORACLE=1
  1412. REQUIRE_PACKAGES_SQLITE=1
  1413. endif
  1414. ifeq ($(FULL_TARGET),m68k-amiga)
  1415. REQUIRE_PACKAGES_RTL=1
  1416. REQUIRE_PACKAGES_HASH=1
  1417. REQUIRE_PACKAGES_PASZLIB=1
  1418. REQUIRE_PACKAGES_FCL=1
  1419. REQUIRE_PACKAGES_NETDB=1
  1420. REQUIRE_PACKAGES_PASJPEG=1
  1421. endif
  1422. ifeq ($(FULL_TARGET),m68k-atari)
  1423. REQUIRE_PACKAGES_RTL=1
  1424. REQUIRE_PACKAGES_HASH=1
  1425. REQUIRE_PACKAGES_PASZLIB=1
  1426. REQUIRE_PACKAGES_FCL=1
  1427. REQUIRE_PACKAGES_NETDB=1
  1428. REQUIRE_PACKAGES_PASJPEG=1
  1429. endif
  1430. ifeq ($(FULL_TARGET),m68k-openbsd)
  1431. REQUIRE_PACKAGES_RTL=1
  1432. REQUIRE_PACKAGES_HASH=1
  1433. REQUIRE_PACKAGES_PASZLIB=1
  1434. REQUIRE_PACKAGES_NETDB=1
  1435. REQUIRE_PACKAGES_LIBASYNC=1
  1436. REQUIRE_PACKAGES_FCL=1
  1437. REQUIRE_PACKAGES_PASJPEG=1
  1438. REQUIRE_PACKAGES_IBASE=1
  1439. REQUIRE_PACKAGES_POSTGRES=1
  1440. REQUIRE_PACKAGES_MYSQL=1
  1441. REQUIRE_PACKAGES_ODBC=1
  1442. REQUIRE_PACKAGES_ORACLE=1
  1443. REQUIRE_PACKAGES_SQLITE=1
  1444. endif
  1445. ifeq ($(FULL_TARGET),m68k-palmos)
  1446. REQUIRE_PACKAGES_RTL=1
  1447. REQUIRE_PACKAGES_HASH=1
  1448. REQUIRE_PACKAGES_PASZLIB=1
  1449. REQUIRE_PACKAGES_FCL=1
  1450. REQUIRE_PACKAGES_NETDB=1
  1451. REQUIRE_PACKAGES_PASJPEG=1
  1452. endif
  1453. ifeq ($(FULL_TARGET),m68k-embedded)
  1454. REQUIRE_PACKAGES_RTL=1
  1455. REQUIRE_PACKAGES_HASH=1
  1456. REQUIRE_PACKAGES_PASZLIB=1
  1457. REQUIRE_PACKAGES_FCL=1
  1458. REQUIRE_PACKAGES_NETDB=1
  1459. REQUIRE_PACKAGES_PASJPEG=1
  1460. endif
  1461. ifeq ($(FULL_TARGET),powerpc-linux)
  1462. REQUIRE_PACKAGES_RTL=1
  1463. REQUIRE_PACKAGES_HASH=1
  1464. REQUIRE_PACKAGES_PASZLIB=1
  1465. REQUIRE_PACKAGES_NETDB=1
  1466. REQUIRE_PACKAGES_LIBASYNC=1
  1467. REQUIRE_PACKAGES_PTHREADS=1
  1468. REQUIRE_PACKAGES_FCL=1
  1469. REQUIRE_PACKAGES_PASJPEG=1
  1470. REQUIRE_PACKAGES_IBASE=1
  1471. REQUIRE_PACKAGES_POSTGRES=1
  1472. REQUIRE_PACKAGES_MYSQL=1
  1473. REQUIRE_PACKAGES_ODBC=1
  1474. REQUIRE_PACKAGES_ORACLE=1
  1475. REQUIRE_PACKAGES_SQLITE=1
  1476. endif
  1477. ifeq ($(FULL_TARGET),powerpc-netbsd)
  1478. REQUIRE_PACKAGES_RTL=1
  1479. REQUIRE_PACKAGES_HASH=1
  1480. REQUIRE_PACKAGES_PASZLIB=1
  1481. REQUIRE_PACKAGES_NETDB=1
  1482. REQUIRE_PACKAGES_LIBASYNC=1
  1483. REQUIRE_PACKAGES_FCL=1
  1484. REQUIRE_PACKAGES_PASJPEG=1
  1485. REQUIRE_PACKAGES_IBASE=1
  1486. REQUIRE_PACKAGES_POSTGRES=1
  1487. REQUIRE_PACKAGES_MYSQL=1
  1488. REQUIRE_PACKAGES_ODBC=1
  1489. REQUIRE_PACKAGES_ORACLE=1
  1490. REQUIRE_PACKAGES_SQLITE=1
  1491. endif
  1492. ifeq ($(FULL_TARGET),powerpc-amiga)
  1493. REQUIRE_PACKAGES_RTL=1
  1494. REQUIRE_PACKAGES_HASH=1
  1495. REQUIRE_PACKAGES_PASZLIB=1
  1496. REQUIRE_PACKAGES_FCL=1
  1497. REQUIRE_PACKAGES_NETDB=1
  1498. REQUIRE_PACKAGES_PASJPEG=1
  1499. endif
  1500. ifeq ($(FULL_TARGET),powerpc-macos)
  1501. REQUIRE_PACKAGES_RTL=1
  1502. REQUIRE_PACKAGES_HASH=1
  1503. REQUIRE_PACKAGES_PASZLIB=1
  1504. REQUIRE_PACKAGES_FCL=1
  1505. REQUIRE_PACKAGES_NETDB=1
  1506. REQUIRE_PACKAGES_PASJPEG=1
  1507. endif
  1508. ifeq ($(FULL_TARGET),powerpc-darwin)
  1509. REQUIRE_PACKAGES_RTL=1
  1510. REQUIRE_PACKAGES_HASH=1
  1511. REQUIRE_PACKAGES_PASZLIB=1
  1512. REQUIRE_PACKAGES_NETDB=1
  1513. REQUIRE_PACKAGES_LIBASYNC=1
  1514. REQUIRE_PACKAGES_PTHREADS=1
  1515. REQUIRE_PACKAGES_FCL=1
  1516. REQUIRE_PACKAGES_PASJPEG=1
  1517. REQUIRE_PACKAGES_IBASE=1
  1518. REQUIRE_PACKAGES_POSTGRES=1
  1519. REQUIRE_PACKAGES_MYSQL=1
  1520. REQUIRE_PACKAGES_ODBC=1
  1521. REQUIRE_PACKAGES_ORACLE=1
  1522. REQUIRE_PACKAGES_SQLITE=1
  1523. endif
  1524. ifeq ($(FULL_TARGET),powerpc-morphos)
  1525. REQUIRE_PACKAGES_RTL=1
  1526. REQUIRE_PACKAGES_HASH=1
  1527. REQUIRE_PACKAGES_PASZLIB=1
  1528. REQUIRE_PACKAGES_FCL=1
  1529. REQUIRE_PACKAGES_NETDB=1
  1530. REQUIRE_PACKAGES_PASJPEG=1
  1531. endif
  1532. ifeq ($(FULL_TARGET),powerpc-embedded)
  1533. REQUIRE_PACKAGES_RTL=1
  1534. REQUIRE_PACKAGES_HASH=1
  1535. REQUIRE_PACKAGES_PASZLIB=1
  1536. REQUIRE_PACKAGES_FCL=1
  1537. REQUIRE_PACKAGES_NETDB=1
  1538. REQUIRE_PACKAGES_PASJPEG=1
  1539. endif
  1540. ifeq ($(FULL_TARGET),sparc-linux)
  1541. REQUIRE_PACKAGES_RTL=1
  1542. REQUIRE_PACKAGES_HASH=1
  1543. REQUIRE_PACKAGES_PASZLIB=1
  1544. REQUIRE_PACKAGES_NETDB=1
  1545. REQUIRE_PACKAGES_LIBASYNC=1
  1546. REQUIRE_PACKAGES_PTHREADS=1
  1547. REQUIRE_PACKAGES_FCL=1
  1548. REQUIRE_PACKAGES_PASJPEG=1
  1549. REQUIRE_PACKAGES_IBASE=1
  1550. REQUIRE_PACKAGES_POSTGRES=1
  1551. REQUIRE_PACKAGES_MYSQL=1
  1552. REQUIRE_PACKAGES_ODBC=1
  1553. REQUIRE_PACKAGES_ORACLE=1
  1554. REQUIRE_PACKAGES_SQLITE=1
  1555. endif
  1556. ifeq ($(FULL_TARGET),sparc-netbsd)
  1557. REQUIRE_PACKAGES_RTL=1
  1558. REQUIRE_PACKAGES_HASH=1
  1559. REQUIRE_PACKAGES_PASZLIB=1
  1560. REQUIRE_PACKAGES_NETDB=1
  1561. REQUIRE_PACKAGES_LIBASYNC=1
  1562. REQUIRE_PACKAGES_FCL=1
  1563. REQUIRE_PACKAGES_PASJPEG=1
  1564. REQUIRE_PACKAGES_IBASE=1
  1565. REQUIRE_PACKAGES_POSTGRES=1
  1566. REQUIRE_PACKAGES_MYSQL=1
  1567. REQUIRE_PACKAGES_ODBC=1
  1568. REQUIRE_PACKAGES_ORACLE=1
  1569. REQUIRE_PACKAGES_SQLITE=1
  1570. endif
  1571. ifeq ($(FULL_TARGET),sparc-solaris)
  1572. REQUIRE_PACKAGES_RTL=1
  1573. REQUIRE_PACKAGES_HASH=1
  1574. REQUIRE_PACKAGES_PASZLIB=1
  1575. REQUIRE_PACKAGES_NETDB=1
  1576. REQUIRE_PACKAGES_LIBASYNC=1
  1577. REQUIRE_PACKAGES_PTHREADS=1
  1578. REQUIRE_PACKAGES_FCL=1
  1579. REQUIRE_PACKAGES_PASJPEG=1
  1580. endif
  1581. ifeq ($(FULL_TARGET),sparc-embedded)
  1582. REQUIRE_PACKAGES_RTL=1
  1583. REQUIRE_PACKAGES_HASH=1
  1584. REQUIRE_PACKAGES_PASZLIB=1
  1585. REQUIRE_PACKAGES_FCL=1
  1586. REQUIRE_PACKAGES_NETDB=1
  1587. REQUIRE_PACKAGES_PASJPEG=1
  1588. endif
  1589. ifeq ($(FULL_TARGET),x86_64-linux)
  1590. REQUIRE_PACKAGES_RTL=1
  1591. REQUIRE_PACKAGES_HASH=1
  1592. REQUIRE_PACKAGES_PASZLIB=1
  1593. REQUIRE_PACKAGES_NETDB=1
  1594. REQUIRE_PACKAGES_LIBASYNC=1
  1595. REQUIRE_PACKAGES_PTHREADS=1
  1596. REQUIRE_PACKAGES_FCL=1
  1597. REQUIRE_PACKAGES_PASJPEG=1
  1598. REQUIRE_PACKAGES_IBASE=1
  1599. REQUIRE_PACKAGES_POSTGRES=1
  1600. REQUIRE_PACKAGES_MYSQL=1
  1601. REQUIRE_PACKAGES_ODBC=1
  1602. REQUIRE_PACKAGES_ORACLE=1
  1603. REQUIRE_PACKAGES_SQLITE=1
  1604. endif
  1605. ifeq ($(FULL_TARGET),x86_64-freebsd)
  1606. REQUIRE_PACKAGES_RTL=1
  1607. REQUIRE_PACKAGES_HASH=1
  1608. REQUIRE_PACKAGES_PASZLIB=1
  1609. REQUIRE_PACKAGES_NETDB=1
  1610. REQUIRE_PACKAGES_LIBASYNC=1
  1611. REQUIRE_PACKAGES_PTHREADS=1
  1612. REQUIRE_PACKAGES_FCL=1
  1613. REQUIRE_PACKAGES_PASJPEG=1
  1614. REQUIRE_PACKAGES_IBASE=1
  1615. REQUIRE_PACKAGES_POSTGRES=1
  1616. REQUIRE_PACKAGES_MYSQL=1
  1617. REQUIRE_PACKAGES_ODBC=1
  1618. REQUIRE_PACKAGES_ORACLE=1
  1619. REQUIRE_PACKAGES_SQLITE=1
  1620. endif
  1621. ifeq ($(FULL_TARGET),x86_64-win64)
  1622. REQUIRE_PACKAGES_RTL=1
  1623. REQUIRE_PACKAGES_HASH=1
  1624. REQUIRE_PACKAGES_PASZLIB=1
  1625. REQUIRE_PACKAGES_NETDB=1
  1626. REQUIRE_PACKAGES_FCL=1
  1627. REQUIRE_PACKAGES_PASJPEG=1
  1628. endif
  1629. ifeq ($(FULL_TARGET),x86_64-embedded)
  1630. REQUIRE_PACKAGES_RTL=1
  1631. REQUIRE_PACKAGES_HASH=1
  1632. REQUIRE_PACKAGES_PASZLIB=1
  1633. REQUIRE_PACKAGES_FCL=1
  1634. REQUIRE_PACKAGES_NETDB=1
  1635. REQUIRE_PACKAGES_PASJPEG=1
  1636. endif
  1637. ifeq ($(FULL_TARGET),arm-linux)
  1638. REQUIRE_PACKAGES_RTL=1
  1639. REQUIRE_PACKAGES_HASH=1
  1640. REQUIRE_PACKAGES_PASZLIB=1
  1641. REQUIRE_PACKAGES_NETDB=1
  1642. REQUIRE_PACKAGES_LIBASYNC=1
  1643. REQUIRE_PACKAGES_PTHREADS=1
  1644. REQUIRE_PACKAGES_FCL=1
  1645. REQUIRE_PACKAGES_PASJPEG=1
  1646. REQUIRE_PACKAGES_IBASE=1
  1647. REQUIRE_PACKAGES_POSTGRES=1
  1648. REQUIRE_PACKAGES_MYSQL=1
  1649. REQUIRE_PACKAGES_ODBC=1
  1650. REQUIRE_PACKAGES_ORACLE=1
  1651. REQUIRE_PACKAGES_SQLITE=1
  1652. endif
  1653. ifeq ($(FULL_TARGET),arm-palmos)
  1654. REQUIRE_PACKAGES_RTL=1
  1655. REQUIRE_PACKAGES_HASH=1
  1656. REQUIRE_PACKAGES_PASZLIB=1
  1657. REQUIRE_PACKAGES_FCL=1
  1658. REQUIRE_PACKAGES_NETDB=1
  1659. REQUIRE_PACKAGES_PASJPEG=1
  1660. endif
  1661. ifeq ($(FULL_TARGET),arm-wince)
  1662. REQUIRE_PACKAGES_RTL=1
  1663. REQUIRE_PACKAGES_HASH=1
  1664. REQUIRE_PACKAGES_PASZLIB=1
  1665. REQUIRE_PACKAGES_NETDB=1
  1666. REQUIRE_PACKAGES_FCL=1
  1667. REQUIRE_PACKAGES_PASJPEG=1
  1668. REQUIRE_PACKAGES_IBASE=1
  1669. REQUIRE_PACKAGES_POSTGRES=1
  1670. REQUIRE_PACKAGES_SQLITE=1
  1671. endif
  1672. ifeq ($(FULL_TARGET),arm-gba)
  1673. REQUIRE_PACKAGES_RTL=1
  1674. REQUIRE_PACKAGES_HASH=1
  1675. REQUIRE_PACKAGES_PASZLIB=1
  1676. REQUIRE_PACKAGES_FCL=1
  1677. REQUIRE_PACKAGES_NETDB=1
  1678. REQUIRE_PACKAGES_PASJPEG=1
  1679. endif
  1680. ifeq ($(FULL_TARGET),arm-nds)
  1681. REQUIRE_PACKAGES_RTL=1
  1682. REQUIRE_PACKAGES_HASH=1
  1683. REQUIRE_PACKAGES_PASZLIB=1
  1684. REQUIRE_PACKAGES_FCL=1
  1685. REQUIRE_PACKAGES_NETDB=1
  1686. REQUIRE_PACKAGES_PASJPEG=1
  1687. endif
  1688. ifeq ($(FULL_TARGET),arm-embedded)
  1689. REQUIRE_PACKAGES_RTL=1
  1690. REQUIRE_PACKAGES_HASH=1
  1691. REQUIRE_PACKAGES_PASZLIB=1
  1692. REQUIRE_PACKAGES_FCL=1
  1693. REQUIRE_PACKAGES_NETDB=1
  1694. REQUIRE_PACKAGES_PASJPEG=1
  1695. endif
  1696. ifeq ($(FULL_TARGET),arm-symbian)
  1697. REQUIRE_PACKAGES_RTL=1
  1698. REQUIRE_PACKAGES_HASH=1
  1699. REQUIRE_PACKAGES_PASZLIB=1
  1700. REQUIRE_PACKAGES_FCL=1
  1701. REQUIRE_PACKAGES_NETDB=1
  1702. REQUIRE_PACKAGES_PASJPEG=1
  1703. endif
  1704. ifeq ($(FULL_TARGET),powerpc64-linux)
  1705. REQUIRE_PACKAGES_RTL=1
  1706. REQUIRE_PACKAGES_HASH=1
  1707. REQUIRE_PACKAGES_PASZLIB=1
  1708. REQUIRE_PACKAGES_NETDB=1
  1709. REQUIRE_PACKAGES_LIBASYNC=1
  1710. REQUIRE_PACKAGES_PTHREADS=1
  1711. REQUIRE_PACKAGES_FCL=1
  1712. REQUIRE_PACKAGES_PASJPEG=1
  1713. REQUIRE_PACKAGES_IBASE=1
  1714. REQUIRE_PACKAGES_POSTGRES=1
  1715. REQUIRE_PACKAGES_MYSQL=1
  1716. REQUIRE_PACKAGES_ODBC=1
  1717. REQUIRE_PACKAGES_ORACLE=1
  1718. REQUIRE_PACKAGES_SQLITE=1
  1719. endif
  1720. ifeq ($(FULL_TARGET),powerpc64-embedded)
  1721. REQUIRE_PACKAGES_RTL=1
  1722. REQUIRE_PACKAGES_HASH=1
  1723. REQUIRE_PACKAGES_PASZLIB=1
  1724. REQUIRE_PACKAGES_FCL=1
  1725. REQUIRE_PACKAGES_NETDB=1
  1726. REQUIRE_PACKAGES_PASJPEG=1
  1727. endif
  1728. ifdef REQUIRE_PACKAGES_RTL
  1729. PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  1730. ifneq ($(PACKAGEDIR_RTL),)
  1731. ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
  1732. UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
  1733. else
  1734. UNITDIR_RTL=$(PACKAGEDIR_RTL)
  1735. endif
  1736. ifdef CHECKDEPEND
  1737. $(PACKAGEDIR_RTL)/$(FPCMADE):
  1738. $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
  1739. override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
  1740. endif
  1741. else
  1742. PACKAGEDIR_RTL=
  1743. UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
  1744. ifneq ($(UNITDIR_RTL),)
  1745. UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
  1746. else
  1747. UNITDIR_RTL=
  1748. endif
  1749. endif
  1750. ifdef UNITDIR_RTL
  1751. override COMPILER_UNITDIR+=$(UNITDIR_RTL)
  1752. endif
  1753. endif
  1754. ifdef REQUIRE_PACKAGES_HASH
  1755. PACKAGEDIR_HASH:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /hash/Makefile.fpc,$(PACKAGESDIR))))))
  1756. ifneq ($(PACKAGEDIR_HASH),)
  1757. ifneq ($(wildcard $(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)),)
  1758. UNITDIR_HASH=$(PACKAGEDIR_HASH)/units/$(TARGETSUFFIX)
  1759. else
  1760. UNITDIR_HASH=$(PACKAGEDIR_HASH)
  1761. endif
  1762. ifdef CHECKDEPEND
  1763. $(PACKAGEDIR_HASH)/$(FPCMADE):
  1764. $(MAKE) -C $(PACKAGEDIR_HASH) $(FPCMADE)
  1765. override ALLDEPENDENCIES+=$(PACKAGEDIR_HASH)/$(FPCMADE)
  1766. endif
  1767. else
  1768. PACKAGEDIR_HASH=
  1769. UNITDIR_HASH:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /hash/Package.fpc,$(UNITSDIR)))))
  1770. ifneq ($(UNITDIR_HASH),)
  1771. UNITDIR_HASH:=$(firstword $(UNITDIR_HASH))
  1772. else
  1773. UNITDIR_HASH=
  1774. endif
  1775. endif
  1776. ifdef UNITDIR_HASH
  1777. override COMPILER_UNITDIR+=$(UNITDIR_HASH)
  1778. endif
  1779. endif
  1780. ifdef REQUIRE_PACKAGES_PASZLIB
  1781. PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))))
  1782. ifneq ($(PACKAGEDIR_PASZLIB),)
  1783. ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)),)
  1784. UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)
  1785. else
  1786. UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)
  1787. endif
  1788. ifdef CHECKDEPEND
  1789. $(PACKAGEDIR_PASZLIB)/$(FPCMADE):
  1790. $(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE)
  1791. override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE)
  1792. endif
  1793. else
  1794. PACKAGEDIR_PASZLIB=
  1795. UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR)))))
  1796. ifneq ($(UNITDIR_PASZLIB),)
  1797. UNITDIR_PASZLIB:=$(firstword $(UNITDIR_PASZLIB))
  1798. else
  1799. UNITDIR_PASZLIB=
  1800. endif
  1801. endif
  1802. ifdef UNITDIR_PASZLIB
  1803. override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB)
  1804. endif
  1805. endif
  1806. ifdef REQUIRE_PACKAGES_NETDB
  1807. PACKAGEDIR_NETDB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /netdb/Makefile.fpc,$(PACKAGESDIR))))))
  1808. ifneq ($(PACKAGEDIR_NETDB),)
  1809. ifneq ($(wildcard $(PACKAGEDIR_NETDB)/units/$(TARGETSUFFIX)),)
  1810. UNITDIR_NETDB=$(PACKAGEDIR_NETDB)/units/$(TARGETSUFFIX)
  1811. else
  1812. UNITDIR_NETDB=$(PACKAGEDIR_NETDB)
  1813. endif
  1814. ifdef CHECKDEPEND
  1815. $(PACKAGEDIR_NETDB)/$(FPCMADE):
  1816. $(MAKE) -C $(PACKAGEDIR_NETDB) $(FPCMADE)
  1817. override ALLDEPENDENCIES+=$(PACKAGEDIR_NETDB)/$(FPCMADE)
  1818. endif
  1819. else
  1820. PACKAGEDIR_NETDB=
  1821. UNITDIR_NETDB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /netdb/Package.fpc,$(UNITSDIR)))))
  1822. ifneq ($(UNITDIR_NETDB),)
  1823. UNITDIR_NETDB:=$(firstword $(UNITDIR_NETDB))
  1824. else
  1825. UNITDIR_NETDB=
  1826. endif
  1827. endif
  1828. ifdef UNITDIR_NETDB
  1829. override COMPILER_UNITDIR+=$(UNITDIR_NETDB)
  1830. endif
  1831. endif
  1832. ifdef REQUIRE_PACKAGES_LIBASYNC
  1833. PACKAGEDIR_LIBASYNC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libasync/Makefile.fpc,$(PACKAGESDIR))))))
  1834. ifneq ($(PACKAGEDIR_LIBASYNC),)
  1835. ifneq ($(wildcard $(PACKAGEDIR_LIBASYNC)/units/$(TARGETSUFFIX)),)
  1836. UNITDIR_LIBASYNC=$(PACKAGEDIR_LIBASYNC)/units/$(TARGETSUFFIX)
  1837. else
  1838. UNITDIR_LIBASYNC=$(PACKAGEDIR_LIBASYNC)
  1839. endif
  1840. ifdef CHECKDEPEND
  1841. $(PACKAGEDIR_LIBASYNC)/$(FPCMADE):
  1842. $(MAKE) -C $(PACKAGEDIR_LIBASYNC) $(FPCMADE)
  1843. override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBASYNC)/$(FPCMADE)
  1844. endif
  1845. else
  1846. PACKAGEDIR_LIBASYNC=
  1847. UNITDIR_LIBASYNC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libasync/Package.fpc,$(UNITSDIR)))))
  1848. ifneq ($(UNITDIR_LIBASYNC),)
  1849. UNITDIR_LIBASYNC:=$(firstword $(UNITDIR_LIBASYNC))
  1850. else
  1851. UNITDIR_LIBASYNC=
  1852. endif
  1853. endif
  1854. ifdef UNITDIR_LIBASYNC
  1855. override COMPILER_UNITDIR+=$(UNITDIR_LIBASYNC)
  1856. endif
  1857. endif
  1858. ifdef REQUIRE_PACKAGES_PTHREADS
  1859. PACKAGEDIR_PTHREADS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /pthreads/Makefile.fpc,$(PACKAGESDIR))))))
  1860. ifneq ($(PACKAGEDIR_PTHREADS),)
  1861. ifneq ($(wildcard $(PACKAGEDIR_PTHREADS)/units/$(TARGETSUFFIX)),)
  1862. UNITDIR_PTHREADS=$(PACKAGEDIR_PTHREADS)/units/$(TARGETSUFFIX)
  1863. else
  1864. UNITDIR_PTHREADS=$(PACKAGEDIR_PTHREADS)
  1865. endif
  1866. ifdef CHECKDEPEND
  1867. $(PACKAGEDIR_PTHREADS)/$(FPCMADE):
  1868. $(MAKE) -C $(PACKAGEDIR_PTHREADS) $(FPCMADE)
  1869. override ALLDEPENDENCIES+=$(PACKAGEDIR_PTHREADS)/$(FPCMADE)
  1870. endif
  1871. else
  1872. PACKAGEDIR_PTHREADS=
  1873. UNITDIR_PTHREADS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /pthreads/Package.fpc,$(UNITSDIR)))))
  1874. ifneq ($(UNITDIR_PTHREADS),)
  1875. UNITDIR_PTHREADS:=$(firstword $(UNITDIR_PTHREADS))
  1876. else
  1877. UNITDIR_PTHREADS=
  1878. endif
  1879. endif
  1880. ifdef UNITDIR_PTHREADS
  1881. override COMPILER_UNITDIR+=$(UNITDIR_PTHREADS)
  1882. endif
  1883. endif
  1884. ifdef REQUIRE_PACKAGES_FCL
  1885. PACKAGEDIR_FCL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR))))))
  1886. ifneq ($(PACKAGEDIR_FCL),)
  1887. ifneq ($(wildcard $(PACKAGEDIR_FCL)/units/$(TARGETSUFFIX)),)
  1888. UNITDIR_FCL=$(PACKAGEDIR_FCL)/units/$(TARGETSUFFIX)
  1889. else
  1890. UNITDIR_FCL=$(PACKAGEDIR_FCL)
  1891. endif
  1892. ifdef CHECKDEPEND
  1893. $(PACKAGEDIR_FCL)/$(FPCMADE):
  1894. $(MAKE) -C $(PACKAGEDIR_FCL) $(FPCMADE)
  1895. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL)/$(FPCMADE)
  1896. endif
  1897. else
  1898. PACKAGEDIR_FCL=
  1899. UNITDIR_FCL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl/Package.fpc,$(UNITSDIR)))))
  1900. ifneq ($(UNITDIR_FCL),)
  1901. UNITDIR_FCL:=$(firstword $(UNITDIR_FCL))
  1902. else
  1903. UNITDIR_FCL=
  1904. endif
  1905. endif
  1906. ifdef UNITDIR_FCL
  1907. override COMPILER_UNITDIR+=$(UNITDIR_FCL)
  1908. endif
  1909. endif
  1910. ifdef REQUIRE_PACKAGES_PASJPEG
  1911. PACKAGEDIR_PASJPEG:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Makefile.fpc,$(PACKAGESDIR))))))
  1912. ifneq ($(PACKAGEDIR_PASJPEG),)
  1913. ifneq ($(wildcard $(PACKAGEDIR_PASJPEG)/units/$(TARGETSUFFIX)),)
  1914. UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)/units/$(TARGETSUFFIX)
  1915. else
  1916. UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)
  1917. endif
  1918. ifdef CHECKDEPEND
  1919. $(PACKAGEDIR_PASJPEG)/$(FPCMADE):
  1920. $(MAKE) -C $(PACKAGEDIR_PASJPEG) $(FPCMADE)
  1921. override ALLDEPENDENCIES+=$(PACKAGEDIR_PASJPEG)/$(FPCMADE)
  1922. endif
  1923. else
  1924. PACKAGEDIR_PASJPEG=
  1925. UNITDIR_PASJPEG:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Package.fpc,$(UNITSDIR)))))
  1926. ifneq ($(UNITDIR_PASJPEG),)
  1927. UNITDIR_PASJPEG:=$(firstword $(UNITDIR_PASJPEG))
  1928. else
  1929. UNITDIR_PASJPEG=
  1930. endif
  1931. endif
  1932. ifdef UNITDIR_PASJPEG
  1933. override COMPILER_UNITDIR+=$(UNITDIR_PASJPEG)
  1934. endif
  1935. endif
  1936. ifdef REQUIRE_PACKAGES_IBASE
  1937. PACKAGEDIR_IBASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR))))))
  1938. ifneq ($(PACKAGEDIR_IBASE),)
  1939. ifneq ($(wildcard $(PACKAGEDIR_IBASE)/units/$(TARGETSUFFIX)),)
  1940. UNITDIR_IBASE=$(PACKAGEDIR_IBASE)/units/$(TARGETSUFFIX)
  1941. else
  1942. UNITDIR_IBASE=$(PACKAGEDIR_IBASE)
  1943. endif
  1944. ifdef CHECKDEPEND
  1945. $(PACKAGEDIR_IBASE)/$(FPCMADE):
  1946. $(MAKE) -C $(PACKAGEDIR_IBASE) $(FPCMADE)
  1947. override ALLDEPENDENCIES+=$(PACKAGEDIR_IBASE)/$(FPCMADE)
  1948. endif
  1949. else
  1950. PACKAGEDIR_IBASE=
  1951. UNITDIR_IBASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /ibase/Package.fpc,$(UNITSDIR)))))
  1952. ifneq ($(UNITDIR_IBASE),)
  1953. UNITDIR_IBASE:=$(firstword $(UNITDIR_IBASE))
  1954. else
  1955. UNITDIR_IBASE=
  1956. endif
  1957. endif
  1958. ifdef UNITDIR_IBASE
  1959. override COMPILER_UNITDIR+=$(UNITDIR_IBASE)
  1960. endif
  1961. endif
  1962. ifdef REQUIRE_PACKAGES_POSTGRES
  1963. PACKAGEDIR_POSTGRES:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /postgres/Makefile.fpc,$(PACKAGESDIR))))))
  1964. ifneq ($(PACKAGEDIR_POSTGRES),)
  1965. ifneq ($(wildcard $(PACKAGEDIR_POSTGRES)/units/$(TARGETSUFFIX)),)
  1966. UNITDIR_POSTGRES=$(PACKAGEDIR_POSTGRES)/units/$(TARGETSUFFIX)
  1967. else
  1968. UNITDIR_POSTGRES=$(PACKAGEDIR_POSTGRES)
  1969. endif
  1970. ifdef CHECKDEPEND
  1971. $(PACKAGEDIR_POSTGRES)/$(FPCMADE):
  1972. $(MAKE) -C $(PACKAGEDIR_POSTGRES) $(FPCMADE)
  1973. override ALLDEPENDENCIES+=$(PACKAGEDIR_POSTGRES)/$(FPCMADE)
  1974. endif
  1975. else
  1976. PACKAGEDIR_POSTGRES=
  1977. UNITDIR_POSTGRES:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /postgres/Package.fpc,$(UNITSDIR)))))
  1978. ifneq ($(UNITDIR_POSTGRES),)
  1979. UNITDIR_POSTGRES:=$(firstword $(UNITDIR_POSTGRES))
  1980. else
  1981. UNITDIR_POSTGRES=
  1982. endif
  1983. endif
  1984. ifdef UNITDIR_POSTGRES
  1985. override COMPILER_UNITDIR+=$(UNITDIR_POSTGRES)
  1986. endif
  1987. endif
  1988. ifdef REQUIRE_PACKAGES_MYSQL
  1989. PACKAGEDIR_MYSQL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR))))))
  1990. ifneq ($(PACKAGEDIR_MYSQL),)
  1991. ifneq ($(wildcard $(PACKAGEDIR_MYSQL)/units/$(TARGETSUFFIX)),)
  1992. UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)/units/$(TARGETSUFFIX)
  1993. else
  1994. UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)
  1995. endif
  1996. ifdef CHECKDEPEND
  1997. $(PACKAGEDIR_MYSQL)/$(FPCMADE):
  1998. $(MAKE) -C $(PACKAGEDIR_MYSQL) $(FPCMADE)
  1999. override ALLDEPENDENCIES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE)
  2000. endif
  2001. else
  2002. PACKAGEDIR_MYSQL=
  2003. UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR)))))
  2004. ifneq ($(UNITDIR_MYSQL),)
  2005. UNITDIR_MYSQL:=$(firstword $(UNITDIR_MYSQL))
  2006. else
  2007. UNITDIR_MYSQL=
  2008. endif
  2009. endif
  2010. ifdef UNITDIR_MYSQL
  2011. override COMPILER_UNITDIR+=$(UNITDIR_MYSQL)
  2012. endif
  2013. endif
  2014. ifdef REQUIRE_PACKAGES_ODBC
  2015. PACKAGEDIR_ODBC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /odbc/Makefile.fpc,$(PACKAGESDIR))))))
  2016. ifneq ($(PACKAGEDIR_ODBC),)
  2017. ifneq ($(wildcard $(PACKAGEDIR_ODBC)/units/$(TARGETSUFFIX)),)
  2018. UNITDIR_ODBC=$(PACKAGEDIR_ODBC)/units/$(TARGETSUFFIX)
  2019. else
  2020. UNITDIR_ODBC=$(PACKAGEDIR_ODBC)
  2021. endif
  2022. ifdef CHECKDEPEND
  2023. $(PACKAGEDIR_ODBC)/$(FPCMADE):
  2024. $(MAKE) -C $(PACKAGEDIR_ODBC) $(FPCMADE)
  2025. override ALLDEPENDENCIES+=$(PACKAGEDIR_ODBC)/$(FPCMADE)
  2026. endif
  2027. else
  2028. PACKAGEDIR_ODBC=
  2029. UNITDIR_ODBC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /odbc/Package.fpc,$(UNITSDIR)))))
  2030. ifneq ($(UNITDIR_ODBC),)
  2031. UNITDIR_ODBC:=$(firstword $(UNITDIR_ODBC))
  2032. else
  2033. UNITDIR_ODBC=
  2034. endif
  2035. endif
  2036. ifdef UNITDIR_ODBC
  2037. override COMPILER_UNITDIR+=$(UNITDIR_ODBC)
  2038. endif
  2039. endif
  2040. ifdef REQUIRE_PACKAGES_ORACLE
  2041. PACKAGEDIR_ORACLE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /oracle/Makefile.fpc,$(PACKAGESDIR))))))
  2042. ifneq ($(PACKAGEDIR_ORACLE),)
  2043. ifneq ($(wildcard $(PACKAGEDIR_ORACLE)/units/$(TARGETSUFFIX)),)
  2044. UNITDIR_ORACLE=$(PACKAGEDIR_ORACLE)/units/$(TARGETSUFFIX)
  2045. else
  2046. UNITDIR_ORACLE=$(PACKAGEDIR_ORACLE)
  2047. endif
  2048. ifdef CHECKDEPEND
  2049. $(PACKAGEDIR_ORACLE)/$(FPCMADE):
  2050. $(MAKE) -C $(PACKAGEDIR_ORACLE) $(FPCMADE)
  2051. override ALLDEPENDENCIES+=$(PACKAGEDIR_ORACLE)/$(FPCMADE)
  2052. endif
  2053. else
  2054. PACKAGEDIR_ORACLE=
  2055. UNITDIR_ORACLE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /oracle/Package.fpc,$(UNITSDIR)))))
  2056. ifneq ($(UNITDIR_ORACLE),)
  2057. UNITDIR_ORACLE:=$(firstword $(UNITDIR_ORACLE))
  2058. else
  2059. UNITDIR_ORACLE=
  2060. endif
  2061. endif
  2062. ifdef UNITDIR_ORACLE
  2063. override COMPILER_UNITDIR+=$(UNITDIR_ORACLE)
  2064. endif
  2065. endif
  2066. ifdef REQUIRE_PACKAGES_SQLITE
  2067. PACKAGEDIR_SQLITE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /sqlite/Makefile.fpc,$(PACKAGESDIR))))))
  2068. ifneq ($(PACKAGEDIR_SQLITE),)
  2069. ifneq ($(wildcard $(PACKAGEDIR_SQLITE)/units/$(TARGETSUFFIX)),)
  2070. UNITDIR_SQLITE=$(PACKAGEDIR_SQLITE)/units/$(TARGETSUFFIX)
  2071. else
  2072. UNITDIR_SQLITE=$(PACKAGEDIR_SQLITE)
  2073. endif
  2074. ifdef CHECKDEPEND
  2075. $(PACKAGEDIR_SQLITE)/$(FPCMADE):
  2076. $(MAKE) -C $(PACKAGEDIR_SQLITE) $(FPCMADE)
  2077. override ALLDEPENDENCIES+=$(PACKAGEDIR_SQLITE)/$(FPCMADE)
  2078. endif
  2079. else
  2080. PACKAGEDIR_SQLITE=
  2081. UNITDIR_SQLITE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /sqlite/Package.fpc,$(UNITSDIR)))))
  2082. ifneq ($(UNITDIR_SQLITE),)
  2083. UNITDIR_SQLITE:=$(firstword $(UNITDIR_SQLITE))
  2084. else
  2085. UNITDIR_SQLITE=
  2086. endif
  2087. endif
  2088. ifdef UNITDIR_SQLITE
  2089. override COMPILER_UNITDIR+=$(UNITDIR_SQLITE)
  2090. endif
  2091. endif
  2092. ifndef NOCPUDEF
  2093. override FPCOPTDEF=$(CPU_TARGET)
  2094. endif
  2095. ifneq ($(OS_TARGET),$(OS_SOURCE))
  2096. override FPCOPT+=-T$(OS_TARGET)
  2097. endif
  2098. ifneq ($(CPU_TARGET),$(CPU_SOURCE))
  2099. override FPCOPT+=-P$(CPU_TARGET)
  2100. endif
  2101. ifeq ($(OS_SOURCE),openbsd)
  2102. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  2103. endif
  2104. ifndef CROSSBOOTSTRAP
  2105. ifneq ($(BINUTILSPREFIX),)
  2106. override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
  2107. endif
  2108. ifneq ($(BINUTILSPREFIX),)
  2109. override FPCOPT+=-Xr$(RLINKPATH)
  2110. endif
  2111. endif
  2112. ifdef UNITDIR
  2113. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  2114. endif
  2115. ifdef LIBDIR
  2116. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  2117. endif
  2118. ifdef OBJDIR
  2119. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  2120. endif
  2121. ifdef INCDIR
  2122. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  2123. endif
  2124. ifdef LINKSMART
  2125. override FPCOPT+=-XX
  2126. endif
  2127. ifdef CREATESMART
  2128. override FPCOPT+=-CX
  2129. endif
  2130. ifdef DEBUG
  2131. override FPCOPT+=-gl
  2132. override FPCOPTDEF+=DEBUG
  2133. endif
  2134. ifdef RELEASE
  2135. ifneq ($(findstring 2.0.,$(FPC_VERSION)),)
  2136. ifeq ($(CPU_TARGET),i386)
  2137. FPCCPUOPT:=-OG2p3
  2138. endif
  2139. ifeq ($(CPU_TARGET),powerpc)
  2140. FPCCPUOPT:=-O1r
  2141. endif
  2142. else
  2143. FPCCPUOPT:=-O2
  2144. endif
  2145. override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
  2146. override FPCOPTDEF+=RELEASE
  2147. endif
  2148. ifdef STRIP
  2149. override FPCOPT+=-Xs
  2150. endif
  2151. ifdef OPTIMIZE
  2152. override FPCOPT+=-O2
  2153. endif
  2154. ifdef VERBOSE
  2155. override FPCOPT+=-vwni
  2156. endif
  2157. ifdef COMPILER_OPTIONS
  2158. override FPCOPT+=$(COMPILER_OPTIONS)
  2159. endif
  2160. ifdef COMPILER_UNITDIR
  2161. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  2162. endif
  2163. ifdef COMPILER_LIBRARYDIR
  2164. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  2165. endif
  2166. ifdef COMPILER_OBJECTDIR
  2167. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  2168. endif
  2169. ifdef COMPILER_INCLUDEDIR
  2170. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  2171. endif
  2172. ifdef CROSSBINDIR
  2173. override FPCOPT+=-FD$(CROSSBINDIR)
  2174. endif
  2175. ifdef COMPILER_TARGETDIR
  2176. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  2177. ifeq ($(COMPILER_TARGETDIR),.)
  2178. override TARGETDIRPREFIX=
  2179. else
  2180. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  2181. endif
  2182. endif
  2183. ifdef COMPILER_UNITTARGETDIR
  2184. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  2185. ifeq ($(COMPILER_UNITTARGETDIR),.)
  2186. override UNITTARGETDIRPREFIX=
  2187. else
  2188. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  2189. endif
  2190. else
  2191. ifdef COMPILER_TARGETDIR
  2192. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  2193. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  2194. endif
  2195. endif
  2196. ifdef CREATESHARED
  2197. override FPCOPT+=-Cg
  2198. ifeq ($(CPU_TARGET),i386)
  2199. override FPCOPT+=-Aas
  2200. endif
  2201. endif
  2202. ifeq ($(findstring 2.0.,$(FPC_VERSION)),)
  2203. ifeq ($(OS_TARGET),linux)
  2204. ifeq ($(CPU_TARGET),x86_64)
  2205. override FPCOPT+=-Cg
  2206. endif
  2207. endif
  2208. endif
  2209. ifdef LINKSHARED
  2210. endif
  2211. ifdef GCCLIBDIR
  2212. override FPCOPT+=-Fl$(GCCLIBDIR)
  2213. endif
  2214. ifdef OTHERLIBDIR
  2215. override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
  2216. endif
  2217. ifdef OPT
  2218. override FPCOPT+=$(OPT)
  2219. endif
  2220. ifdef FPCOPTDEF
  2221. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  2222. endif
  2223. ifdef CFGFILE
  2224. override FPCOPT+=@$(CFGFILE)
  2225. endif
  2226. ifdef USEENV
  2227. override FPCEXTCMD:=$(FPCOPT)
  2228. override FPCOPT:=!FPCEXTCMD
  2229. export FPCEXTCMD
  2230. endif
  2231. override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
  2232. override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
  2233. ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))
  2234. override ACROSSCOMPILE=1
  2235. endif
  2236. ifdef ACROSSCOMPILE
  2237. override FPCOPT+=$(CROSSOPT)
  2238. endif
  2239. override COMPILER:=$(FPC) $(FPCOPT)
  2240. ifeq (,$(findstring -s ,$(COMPILER)))
  2241. EXECPPAS=
  2242. else
  2243. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  2244. EXECPPAS:=@$(PPAS)
  2245. endif
  2246. endif
  2247. .PHONY: fpc_exes
  2248. ifndef CROSSINSTALL
  2249. ifneq ($(TARGET_PROGRAMS),)
  2250. override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
  2251. override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
  2252. override ALLTARGET+=fpc_exes
  2253. override INSTALLEXEFILES+=$(EXEFILES)
  2254. override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
  2255. ifeq ($(OS_TARGET),os2)
  2256. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  2257. endif
  2258. ifeq ($(OS_TARGET),emx)
  2259. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  2260. endif
  2261. endif
  2262. endif
  2263. fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
  2264. ifdef TARGET_RSTS
  2265. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  2266. override CLEANRSTFILES+=$(RSTFILES)
  2267. endif
  2268. .PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared
  2269. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  2270. @$(ECHOREDIR) Compiled > $(FPCMADE)
  2271. fpc_all: $(FPCMADE)
  2272. fpc_smart:
  2273. $(MAKE) all LINKSMART=1 CREATESMART=1
  2274. fpc_debug:
  2275. $(MAKE) all DEBUG=1
  2276. fpc_release:
  2277. $(MAKE) all RELEASE=1
  2278. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
  2279. $(COMPILER_UNITTARGETDIR):
  2280. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  2281. $(COMPILER_TARGETDIR):
  2282. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  2283. %$(PPUEXT): %.pp
  2284. $(COMPILER) $<
  2285. $(EXECPPAS)
  2286. %$(PPUEXT): %.pas
  2287. $(COMPILER) $<
  2288. $(EXECPPAS)
  2289. %$(EXEEXT): %.pp
  2290. $(COMPILER) $<
  2291. $(EXECPPAS)
  2292. %$(EXEEXT): %.pas
  2293. $(COMPILER) $<
  2294. $(EXECPPAS)
  2295. %$(EXEEXT): %.lpr
  2296. $(COMPILER) $<
  2297. $(EXECPPAS)
  2298. %$(EXEEXT): %.dpr
  2299. $(COMPILER) $<
  2300. $(EXECPPAS)
  2301. %.res: %.rc
  2302. windres -i $< -o $@
  2303. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2304. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2305. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2306. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2307. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  2308. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  2309. .PHONY: fpc_shared
  2310. override INSTALLTARGET+=fpc_shared_install
  2311. ifndef SHARED_LIBVERSION
  2312. SHARED_LIBVERSION=$(FPC_VERSION)
  2313. endif
  2314. ifndef SHARED_LIBNAME
  2315. SHARED_LIBNAME=$(PACKAGE_NAME)
  2316. endif
  2317. ifndef SHARED_FULLNAME
  2318. SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSION)$(SHAREDLIBEXT)
  2319. endif
  2320. ifndef SHARED_LIBUNITS
  2321. SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)
  2322. override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_LIBUNITS))
  2323. endif
  2324. fpc_shared:
  2325. ifdef HASSHAREDLIB
  2326. $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1
  2327. ifneq ($(SHARED_BUILD),n)
  2328. $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)
  2329. endif
  2330. else
  2331. @$(ECHO) Shared Libraries not supported
  2332. endif
  2333. fpc_shared_install:
  2334. ifneq ($(SHARED_BUILD),n)
  2335. ifneq ($(SHARED_LIBUNITS),)
  2336. ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)
  2337. $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INSTALL_SHAREDDIR)
  2338. endif
  2339. endif
  2340. endif
  2341. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  2342. ifdef INSTALL_UNITS
  2343. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  2344. endif
  2345. ifdef INSTALL_BUILDUNIT
  2346. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  2347. endif
  2348. ifdef INSTALLPPUFILES
  2349. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  2350. ifneq ($(UNITTARGETDIRPREFIX),)
  2351. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
  2352. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
  2353. endif
  2354. override INSTALL_CREATEPACKAGEFPC=1
  2355. endif
  2356. ifdef INSTALLEXEFILES
  2357. ifneq ($(TARGETDIRPREFIX),)
  2358. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  2359. endif
  2360. endif
  2361. fpc_install: all $(INSTALLTARGET)
  2362. ifdef INSTALLEXEFILES
  2363. $(MKDIR) $(INSTALL_BINDIR)
  2364. ifdef UPXPROG
  2365. -$(UPXPROG) $(INSTALLEXEFILES)
  2366. endif
  2367. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  2368. endif
  2369. ifdef INSTALL_CREATEPACKAGEFPC
  2370. ifdef FPCMAKE
  2371. ifdef PACKAGE_VERSION
  2372. ifneq ($(wildcard Makefile.fpc),)
  2373. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  2374. $(MKDIR) $(INSTALL_UNITDIR)
  2375. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  2376. endif
  2377. endif
  2378. endif
  2379. endif
  2380. ifdef INSTALLPPUFILES
  2381. $(MKDIR) $(INSTALL_UNITDIR)
  2382. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  2383. ifneq ($(INSTALLPPULINKFILES),)
  2384. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  2385. endif
  2386. ifneq ($(wildcard $(LIB_FULLNAME)),)
  2387. $(MKDIR) $(INSTALL_LIBDIR)
  2388. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  2389. ifdef inUnix
  2390. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  2391. endif
  2392. endif
  2393. endif
  2394. ifdef INSTALL_FILES
  2395. $(MKDIR) $(INSTALL_DATADIR)
  2396. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  2397. endif
  2398. fpc_sourceinstall: distclean
  2399. $(MKDIR) $(INSTALL_SOURCEDIR)
  2400. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  2401. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  2402. ifdef HASEXAMPLES
  2403. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  2404. endif
  2405. ifdef EXAMPLESOURCEFILES
  2406. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  2407. endif
  2408. ifdef TARGET_EXAMPLEDIRS
  2409. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  2410. endif
  2411. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  2412. ifdef EXEFILES
  2413. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  2414. endif
  2415. ifdef CLEAN_UNITS
  2416. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  2417. endif
  2418. ifdef CLEANPPUFILES
  2419. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  2420. ifdef DEBUGSYMEXT
  2421. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  2422. endif
  2423. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  2424. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  2425. endif
  2426. fpc_clean: $(CLEANTARGET)
  2427. ifdef CLEANEXEFILES
  2428. -$(DEL) $(CLEANEXEFILES)
  2429. endif
  2430. ifdef CLEANPPUFILES
  2431. -$(DEL) $(CLEANPPUFILES)
  2432. endif
  2433. ifneq ($(CLEANPPULINKFILES),)
  2434. -$(DEL) $(CLEANPPULINKFILES)
  2435. endif
  2436. ifdef CLEANRSTFILES
  2437. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2438. endif
  2439. ifdef CLEAN_FILES
  2440. -$(DEL) $(CLEAN_FILES)
  2441. endif
  2442. ifdef LIB_NAME
  2443. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  2444. endif
  2445. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  2446. -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
  2447. fpc_cleanall: $(CLEANTARGET)
  2448. ifdef CLEANEXEFILES
  2449. -$(DEL) $(CLEANEXEFILES)
  2450. endif
  2451. ifdef COMPILER_UNITTARGETDIR
  2452. ifdef CLEANPPUFILES
  2453. -$(DEL) $(CLEANPPUFILES)
  2454. endif
  2455. ifneq ($(CLEANPPULINKFILES),)
  2456. -$(DEL) $(CLEANPPULINKFILES)
  2457. endif
  2458. ifdef CLEANRSTFILES
  2459. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2460. endif
  2461. endif
  2462. -$(DELTREE) units
  2463. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  2464. ifneq ($(PPUEXT),.ppu)
  2465. -$(DEL) *.o *.ppu *.a
  2466. endif
  2467. -$(DELTREE) *$(SMARTEXT)
  2468. -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  2469. -$(DEL) *_ppas$(BATCHEXT)
  2470. ifdef AOUTEXT
  2471. -$(DEL) *$(AOUTEXT)
  2472. endif
  2473. ifdef DEBUGSYMEXT
  2474. -$(DEL) *$(DEBUGSYMEXT)
  2475. endif
  2476. fpc_distclean: cleanall
  2477. .PHONY: fpc_baseinfo
  2478. override INFORULES+=fpc_baseinfo
  2479. fpc_baseinfo:
  2480. @$(ECHO)
  2481. @$(ECHO) == Package info ==
  2482. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  2483. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  2484. @$(ECHO)
  2485. @$(ECHO) == Configuration info ==
  2486. @$(ECHO)
  2487. @$(ECHO) FPC.......... $(FPC)
  2488. @$(ECHO) FPC Version.. $(FPC_VERSION)
  2489. @$(ECHO) Source CPU... $(CPU_SOURCE)
  2490. @$(ECHO) Target CPU... $(CPU_TARGET)
  2491. @$(ECHO) Source OS.... $(OS_SOURCE)
  2492. @$(ECHO) Target OS.... $(OS_TARGET)
  2493. @$(ECHO) Full Source.. $(FULL_SOURCE)
  2494. @$(ECHO) Full Target.. $(FULL_TARGET)
  2495. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  2496. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  2497. @$(ECHO)
  2498. @$(ECHO) == Directory info ==
  2499. @$(ECHO)
  2500. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  2501. @$(ECHO)
  2502. @$(ECHO) Basedir......... $(BASEDIR)
  2503. @$(ECHO) FPCDir.......... $(FPCDIR)
  2504. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  2505. @$(ECHO) UnitsDir........ $(UNITSDIR)
  2506. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  2507. @$(ECHO)
  2508. @$(ECHO) GCC library..... $(GCCLIBDIR)
  2509. @$(ECHO) Other library... $(OTHERLIBDIR)
  2510. @$(ECHO)
  2511. @$(ECHO) == Tools info ==
  2512. @$(ECHO)
  2513. @$(ECHO) As........ $(AS)
  2514. @$(ECHO) Ld........ $(LD)
  2515. @$(ECHO) Ar........ $(AR)
  2516. @$(ECHO) Rc........ $(RC)
  2517. @$(ECHO)
  2518. @$(ECHO) Mv........ $(MVPROG)
  2519. @$(ECHO) Cp........ $(CPPROG)
  2520. @$(ECHO) Rm........ $(RMPROG)
  2521. @$(ECHO) GInstall.. $(GINSTALL)
  2522. @$(ECHO) Echo...... $(ECHO)
  2523. @$(ECHO) Shell..... $(SHELL)
  2524. @$(ECHO) Date...... $(DATE)
  2525. @$(ECHO) FPCMake... $(FPCMAKE)
  2526. @$(ECHO) PPUMove... $(PPUMOVE)
  2527. @$(ECHO) Upx....... $(UPXPROG)
  2528. @$(ECHO) Zip....... $(ZIPPROG)
  2529. @$(ECHO)
  2530. @$(ECHO) == Object info ==
  2531. @$(ECHO)
  2532. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  2533. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  2534. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  2535. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  2536. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  2537. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  2538. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  2539. @$(ECHO)
  2540. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  2541. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  2542. @$(ECHO)
  2543. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  2544. @$(ECHO) Install Files....... $(INSTALL_FILES)
  2545. @$(ECHO)
  2546. @$(ECHO) == Install info ==
  2547. @$(ECHO)
  2548. @$(ECHO) DateStr.............. $(DATESTR)
  2549. @$(ECHO) ZipName.............. $(ZIPNAME)
  2550. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  2551. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  2552. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  2553. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  2554. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  2555. @$(ECHO)
  2556. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  2557. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  2558. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  2559. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  2560. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  2561. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  2562. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  2563. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  2564. @$(ECHO)
  2565. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  2566. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  2567. @$(ECHO)
  2568. .PHONY: fpc_info
  2569. fpc_info: $(INFORULES)
  2570. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  2571. fpc_makefile_dirs
  2572. fpc_makefile:
  2573. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  2574. fpc_makefile_sub1:
  2575. ifdef TARGET_DIRS
  2576. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  2577. endif
  2578. ifdef TARGET_EXAMPLEDIRS
  2579. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  2580. endif
  2581. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  2582. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  2583. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  2584. all: fpc_all
  2585. debug: fpc_debug
  2586. smart: fpc_smart
  2587. release: fpc_release
  2588. units: fpc_units
  2589. examples:
  2590. shared: fpc_shared
  2591. install: fpc_install
  2592. sourceinstall: fpc_sourceinstall
  2593. exampleinstall: fpc_exampleinstall
  2594. distinstall:
  2595. zipinstall:
  2596. zipsourceinstall:
  2597. zipexampleinstall:
  2598. zipdistinstall:
  2599. clean: fpc_clean
  2600. distclean: fpc_distclean
  2601. cleanall: fpc_cleanall
  2602. info: fpc_info
  2603. makefiles: fpc_makefiles
  2604. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  2605. ifneq ($(wildcard fpcmake.loc),)
  2606. include fpcmake.loc
  2607. endif
  2608. .NOTPARALLEL: