Makefile 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278
  1. #
  2. # Don't edit, this file is generated by FPCMake Version 1.9.8 [2005/01/31]
  3. #
  4. default: all
  5. MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-sunos i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-sunos x86_64-linux x86_64-freebsd arm-linux
  6. BSDs = freebsd netbsd openbsd darwin
  7. UNIXs = linux $(BSDs) sunos 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 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur
  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
  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 showver testproc testhres testnres testsres testrhre testrnre testrsre testur
  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
  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
  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
  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
  253. endif
  254. ifeq ($(FULL_TARGET),i386-sunos)
  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
  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
  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
  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
  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
  268. endif
  269. ifeq ($(FULL_TARGET),i386-emx)
  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
  271. endif
  272. ifeq ($(FULL_TARGET),i386-watcom)
  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
  274. endif
  275. ifeq ($(FULL_TARGET),i386-netwlibc)
  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
  277. endif
  278. ifeq ($(FULL_TARGET),m68k-linux)
  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 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur
  280. endif
  281. ifeq ($(FULL_TARGET),m68k-freebsd)
  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
  283. endif
  284. ifeq ($(FULL_TARGET),m68k-netbsd)
  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
  286. endif
  287. ifeq ($(FULL_TARGET),m68k-amiga)
  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
  289. endif
  290. ifeq ($(FULL_TARGET),m68k-atari)
  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
  292. endif
  293. ifeq ($(FULL_TARGET),m68k-openbsd)
  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
  295. endif
  296. ifeq ($(FULL_TARGET),m68k-palmos)
  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
  298. endif
  299. ifeq ($(FULL_TARGET),powerpc-linux)
  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 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur
  301. endif
  302. ifeq ($(FULL_TARGET),powerpc-netbsd)
  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
  304. endif
  305. ifeq ($(FULL_TARGET),powerpc-macos)
  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
  307. endif
  308. ifeq ($(FULL_TARGET),powerpc-darwin)
  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
  310. endif
  311. ifeq ($(FULL_TARGET),powerpc-morphos)
  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
  313. endif
  314. ifeq ($(FULL_TARGET),sparc-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 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur
  316. endif
  317. ifeq ($(FULL_TARGET),sparc-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
  319. endif
  320. ifeq ($(FULL_TARGET),sparc-sunos)
  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
  322. endif
  323. ifeq ($(FULL_TARGET),x86_64-linux)
  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 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur
  325. endif
  326. ifeq ($(FULL_TARGET),x86_64-freebsd)
  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
  328. endif
  329. ifeq ($(FULL_TARGET),arm-linux)
  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 sockcli isockcli dsockcli socksvr isocksvr dsocksvr testhres testnres testsres testrhre testrnre testrsre testur
  331. endif
  332. override INSTALL_FPCPACKAGE=y
  333. ifeq ($(FULL_TARGET),i386-linux)
  334. override COMPILER_OPTIONS+=-S2
  335. endif
  336. ifeq ($(FULL_TARGET),i386-go32v2)
  337. override COMPILER_OPTIONS+=-S2
  338. endif
  339. ifeq ($(FULL_TARGET),i386-win32)
  340. override COMPILER_OPTIONS+=-S2
  341. endif
  342. ifeq ($(FULL_TARGET),i386-os2)
  343. override COMPILER_OPTIONS+=-S2
  344. endif
  345. ifeq ($(FULL_TARGET),i386-freebsd)
  346. override COMPILER_OPTIONS+=-S2
  347. endif
  348. ifeq ($(FULL_TARGET),i386-beos)
  349. override COMPILER_OPTIONS+=-S2
  350. endif
  351. ifeq ($(FULL_TARGET),i386-netbsd)
  352. override COMPILER_OPTIONS+=-S2
  353. endif
  354. ifeq ($(FULL_TARGET),i386-sunos)
  355. override COMPILER_OPTIONS+=-S2
  356. endif
  357. ifeq ($(FULL_TARGET),i386-qnx)
  358. override COMPILER_OPTIONS+=-S2
  359. endif
  360. ifeq ($(FULL_TARGET),i386-netware)
  361. override COMPILER_OPTIONS+=-S2
  362. endif
  363. ifeq ($(FULL_TARGET),i386-openbsd)
  364. override COMPILER_OPTIONS+=-S2
  365. endif
  366. ifeq ($(FULL_TARGET),i386-wdosx)
  367. override COMPILER_OPTIONS+=-S2
  368. endif
  369. ifeq ($(FULL_TARGET),i386-emx)
  370. override COMPILER_OPTIONS+=-S2
  371. endif
  372. ifeq ($(FULL_TARGET),i386-watcom)
  373. override COMPILER_OPTIONS+=-S2
  374. endif
  375. ifeq ($(FULL_TARGET),i386-netwlibc)
  376. override COMPILER_OPTIONS+=-S2
  377. endif
  378. ifeq ($(FULL_TARGET),m68k-linux)
  379. override COMPILER_OPTIONS+=-S2
  380. endif
  381. ifeq ($(FULL_TARGET),m68k-freebsd)
  382. override COMPILER_OPTIONS+=-S2
  383. endif
  384. ifeq ($(FULL_TARGET),m68k-netbsd)
  385. override COMPILER_OPTIONS+=-S2
  386. endif
  387. ifeq ($(FULL_TARGET),m68k-amiga)
  388. override COMPILER_OPTIONS+=-S2
  389. endif
  390. ifeq ($(FULL_TARGET),m68k-atari)
  391. override COMPILER_OPTIONS+=-S2
  392. endif
  393. ifeq ($(FULL_TARGET),m68k-openbsd)
  394. override COMPILER_OPTIONS+=-S2
  395. endif
  396. ifeq ($(FULL_TARGET),m68k-palmos)
  397. override COMPILER_OPTIONS+=-S2
  398. endif
  399. ifeq ($(FULL_TARGET),powerpc-linux)
  400. override COMPILER_OPTIONS+=-S2
  401. endif
  402. ifeq ($(FULL_TARGET),powerpc-netbsd)
  403. override COMPILER_OPTIONS+=-S2
  404. endif
  405. ifeq ($(FULL_TARGET),powerpc-macos)
  406. override COMPILER_OPTIONS+=-S2
  407. endif
  408. ifeq ($(FULL_TARGET),powerpc-darwin)
  409. override COMPILER_OPTIONS+=-S2
  410. endif
  411. ifeq ($(FULL_TARGET),powerpc-morphos)
  412. override COMPILER_OPTIONS+=-S2
  413. endif
  414. ifeq ($(FULL_TARGET),sparc-linux)
  415. override COMPILER_OPTIONS+=-S2
  416. endif
  417. ifeq ($(FULL_TARGET),sparc-netbsd)
  418. override COMPILER_OPTIONS+=-S2
  419. endif
  420. ifeq ($(FULL_TARGET),sparc-sunos)
  421. override COMPILER_OPTIONS+=-S2
  422. endif
  423. ifeq ($(FULL_TARGET),x86_64-linux)
  424. override COMPILER_OPTIONS+=-S2
  425. endif
  426. ifeq ($(FULL_TARGET),x86_64-freebsd)
  427. override COMPILER_OPTIONS+=-S2
  428. endif
  429. ifeq ($(FULL_TARGET),arm-linux)
  430. override COMPILER_OPTIONS+=-S2
  431. endif
  432. ifdef REQUIRE_UNITSDIR
  433. override UNITSDIR+=$(REQUIRE_UNITSDIR)
  434. endif
  435. ifdef REQUIRE_PACKAGESDIR
  436. override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
  437. endif
  438. ifdef ZIPINSTALL
  439. ifneq ($(findstring $(OS_TARGET),$(UNIXs)),)
  440. UNIXHier=1
  441. endif
  442. else
  443. ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),)
  444. UNIXHier=1
  445. endif
  446. endif
  447. ifndef INSTALL_PREFIX
  448. ifdef PREFIX
  449. INSTALL_PREFIX=$(PREFIX)
  450. endif
  451. endif
  452. ifndef INSTALL_PREFIX
  453. ifdef UNIXHier
  454. INSTALL_PREFIX=/usr/local
  455. else
  456. ifdef INSTALL_FPCPACKAGE
  457. INSTALL_BASEDIR:=/pp
  458. else
  459. INSTALL_BASEDIR:=/$(PACKAGE_NAME)
  460. endif
  461. endif
  462. endif
  463. export INSTALL_PREFIX
  464. ifdef INSTALL_FPCSUBDIR
  465. export INSTALL_FPCSUBDIR
  466. endif
  467. ifndef DIST_DESTDIR
  468. DIST_DESTDIR:=$(BASEDIR)
  469. endif
  470. export DIST_DESTDIR
  471. ifndef COMPILER_UNITTARGETDIR
  472. ifdef PACKAGEDIR_MAIN
  473. COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX)
  474. else
  475. COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX)
  476. endif
  477. endif
  478. ifndef COMPILER_TARGETDIR
  479. COMPILER_TARGETDIR=.
  480. endif
  481. ifndef INSTALL_BASEDIR
  482. ifdef UNIXHier
  483. ifdef INSTALL_FPCPACKAGE
  484. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
  485. else
  486. INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
  487. endif
  488. else
  489. INSTALL_BASEDIR:=$(INSTALL_PREFIX)
  490. endif
  491. endif
  492. ifndef INSTALL_BINDIR
  493. ifdef UNIXHier
  494. INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
  495. else
  496. INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
  497. ifdef INSTALL_FPCPACKAGE
  498. ifdef CROSSCOMPILE
  499. ifdef CROSSINSTALL
  500. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX)
  501. else
  502. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  503. endif
  504. else
  505. INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX)
  506. endif
  507. endif
  508. endif
  509. endif
  510. ifndef INSTALL_UNITDIR
  511. INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX)
  512. ifdef INSTALL_FPCPACKAGE
  513. ifdef PACKAGE_NAME
  514. INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
  515. endif
  516. endif
  517. endif
  518. ifndef INSTALL_LIBDIR
  519. ifdef UNIXHier
  520. INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
  521. else
  522. INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
  523. endif
  524. endif
  525. ifndef INSTALL_SOURCEDIR
  526. ifdef UNIXHier
  527. ifdef BSDhier
  528. SRCPREFIXDIR=share/src
  529. else
  530. ifdef linuxHier
  531. SRCPREFIXDIR=share/src
  532. else
  533. SRCPREFIXDIR=src
  534. endif
  535. endif
  536. ifdef INSTALL_FPCPACKAGE
  537. ifdef INSTALL_FPCSUBDIR
  538. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  539. else
  540. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  541. endif
  542. else
  543. INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  544. endif
  545. else
  546. ifdef INSTALL_FPCPACKAGE
  547. ifdef INSTALL_FPCSUBDIR
  548. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
  549. else
  550. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
  551. endif
  552. else
  553. INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
  554. endif
  555. endif
  556. endif
  557. ifndef INSTALL_DOCDIR
  558. ifdef UNIXHier
  559. ifdef BSDhier
  560. DOCPREFIXDIR=share/doc
  561. else
  562. ifdef linuxHier
  563. DOCPREFIXDIR=share/doc
  564. else
  565. DOCPREFIXDIR=doc
  566. endif
  567. endif
  568. ifdef INSTALL_FPCPACKAGE
  569. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  570. else
  571. INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  572. endif
  573. else
  574. ifdef INSTALL_FPCPACKAGE
  575. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
  576. else
  577. INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
  578. endif
  579. endif
  580. endif
  581. ifndef INSTALL_EXAMPLEDIR
  582. ifdef UNIXHier
  583. ifdef INSTALL_FPCPACKAGE
  584. ifdef BSDhier
  585. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
  586. else
  587. ifdef linuxHier
  588. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples
  589. else
  590. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
  591. endif
  592. endif
  593. else
  594. ifdef BSDhier
  595. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  596. else
  597. ifdef linuxHier
  598. INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  599. else
  600. INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
  601. endif
  602. endif
  603. endif
  604. else
  605. ifdef INSTALL_FPCPACKAGE
  606. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
  607. else
  608. INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
  609. endif
  610. endif
  611. endif
  612. ifndef INSTALL_DATADIR
  613. INSTALL_DATADIR=$(INSTALL_BASEDIR)
  614. endif
  615. ifdef CROSSCOMPILE
  616. ifndef CROSSBINDIR
  617. CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX))
  618. ifeq ($(CROSSBINDIR),)
  619. CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE))
  620. endif
  621. endif
  622. else
  623. CROSSBINDIR=
  624. endif
  625. ifeq ($(OS_SOURCE),linux)
  626. ifndef GCCLIBDIR
  627. ifeq ($(CPU_TARGET),i386)
  628. ifneq ($(findstring x86_64,$(shell uname -a)),)
  629. ifeq ($(BINUTILSPREFIX),)
  630. GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
  631. endif
  632. endif
  633. endif
  634. endif
  635. ifndef GCCLIBDIR
  636. CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH))))
  637. ifneq ($(CROSSGCC),)
  638. GCCLIBDIR:=$(shell dirname `$(CROSSGCC) -print-libgcc-file-name`)
  639. endif
  640. endif
  641. ifndef OTHERLIBDIR
  642. OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
  643. endif
  644. endif
  645. ifdef inUnix
  646. ifeq ($(OS_SOURCE),netbsd)
  647. OTHERLIBDIR+=/usr/pkg/lib
  648. endif
  649. export GCCLIBDIR OTHERLIB
  650. endif
  651. BATCHEXT=.bat
  652. LOADEREXT=.as
  653. EXEEXT=.exe
  654. PPLEXT=.ppl
  655. PPUEXT=.ppu
  656. OEXT=.o
  657. ASMEXT=.s
  658. SMARTEXT=.sl
  659. STATICLIBEXT=.a
  660. SHAREDLIBEXT=.so
  661. STATICLIBPREFIX=libp
  662. RSTEXT=.rst
  663. ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
  664. ifeq ($(OS_TARGET),go32v1)
  665. STATICLIBPREFIX=
  666. SHORTSUFFIX=v1
  667. endif
  668. ifeq ($(OS_TARGET),go32v2)
  669. STATICLIBPREFIX=
  670. SHORTSUFFIX=dos
  671. endif
  672. ifeq ($(OS_TARGET),watcom)
  673. STATICLIBPREFIX=
  674. OEXT=.obj
  675. ASMEXT=.asm
  676. SHAREDLIBEXT=.dll
  677. SHORTSUFFIX=wat
  678. endif
  679. ifeq ($(OS_TARGET),linux)
  680. BATCHEXT=.sh
  681. EXEEXT=
  682. HASSHAREDLIB=1
  683. SHORTSUFFIX=lnx
  684. endif
  685. ifeq ($(OS_TARGET),freebsd)
  686. BATCHEXT=.sh
  687. EXEEXT=
  688. HASSHAREDLIB=1
  689. SHORTSUFFIX=fbs
  690. endif
  691. ifeq ($(OS_TARGET),netbsd)
  692. BATCHEXT=.sh
  693. EXEEXT=
  694. HASSHAREDLIB=1
  695. SHORTSUFFIX=nbs
  696. endif
  697. ifeq ($(OS_TARGET),openbsd)
  698. BATCHEXT=.sh
  699. EXEEXT=
  700. HASSHAREDLIB=1
  701. SHORTSUFFIX=obs
  702. endif
  703. ifeq ($(OS_TARGET),win32)
  704. SHAREDLIBEXT=.dll
  705. SHORTSUFFIX=w32
  706. endif
  707. ifeq ($(OS_TARGET),os2)
  708. BATCHEXT=.cmd
  709. AOUTEXT=.out
  710. STATICLIBPREFIX=
  711. SHAREDLIBEXT=.dll
  712. SHORTSUFFIX=os2
  713. ECHO=echo
  714. endif
  715. ifeq ($(OS_TARGET),emx)
  716. BATCHEXT=.cmd
  717. AOUTEXT=.out
  718. STATICLIBPREFIX=
  719. SHAREDLIBEXT=.dll
  720. SHORTSUFFIX=emx
  721. ECHO=echo
  722. endif
  723. ifeq ($(OS_TARGET),amiga)
  724. EXEEXT=
  725. SHAREDLIBEXT=.library
  726. SHORTSUFFIX=amg
  727. endif
  728. ifeq ($(OS_TARGET),morphos)
  729. EXEEXT=
  730. SHAREDLIBEXT=.library
  731. SHORTSUFFIX=mos
  732. endif
  733. ifeq ($(OS_TARGET),atari)
  734. EXEEXT=.ttp
  735. SHORTSUFFIX=ata
  736. endif
  737. ifeq ($(OS_TARGET),beos)
  738. BATCHEXT=.sh
  739. EXEEXT=
  740. SHORTSUFFIX=be
  741. endif
  742. ifeq ($(OS_TARGET),sunos)
  743. BATCHEXT=.sh
  744. EXEEXT=
  745. SHORTSUFFIX=sun
  746. endif
  747. ifeq ($(OS_TARGET),qnx)
  748. BATCHEXT=.sh
  749. EXEEXT=
  750. SHORTSUFFIX=qnx
  751. endif
  752. ifeq ($(OS_TARGET),netware)
  753. EXEEXT=.nlm
  754. STATICLIBPREFIX=
  755. SHORTSUFFIX=nw
  756. endif
  757. ifeq ($(OS_TARGET),netwlibc)
  758. EXEEXT=.nlm
  759. STATICLIBPREFIX=
  760. SHORTSUFFIX=nwl
  761. endif
  762. ifeq ($(OS_TARGET),macos)
  763. BATCHEXT=
  764. EXEEXT=
  765. DEBUGSYMEXT=.xcoff
  766. SHORTSUFFIX=mac
  767. endif
  768. ifeq ($(OS_TARGET),darwin)
  769. BATCHEXT=.sh
  770. EXEEXT=
  771. HASSHAREDLIB=1
  772. SHORTSUFFIX=dwn
  773. endif
  774. else
  775. ifeq ($(OS_TARGET),go32v1)
  776. PPUEXT=.pp1
  777. OEXT=.o1
  778. ASMEXT=.s1
  779. SMARTEXT=.sl1
  780. STATICLIBEXT=.a1
  781. SHAREDLIBEXT=.so1
  782. STATICLIBPREFIX=
  783. SHORTSUFFIX=v1
  784. endif
  785. ifeq ($(OS_TARGET),go32v2)
  786. STATICLIBPREFIX=
  787. SHORTSUFFIX=dos
  788. endif
  789. ifeq ($(OS_TARGET),watcom)
  790. STATICLIBPREFIX=
  791. SHORTSUFFIX=wat
  792. endif
  793. ifeq ($(OS_TARGET),linux)
  794. BATCHEXT=.sh
  795. EXEEXT=
  796. HASSHAREDLIB=1
  797. SHORTSUFFIX=lnx
  798. endif
  799. ifeq ($(OS_TARGET),freebsd)
  800. BATCHEXT=.sh
  801. EXEEXT=
  802. HASSHAREDLIB=1
  803. SHORTSUFFIX=fbs
  804. endif
  805. ifeq ($(OS_TARGET),netbsd)
  806. BATCHEXT=.sh
  807. EXEEXT=
  808. HASSHAREDLIB=1
  809. SHORTSUFFIX=nbs
  810. endif
  811. ifeq ($(OS_TARGET),openbsd)
  812. BATCHEXT=.sh
  813. EXEEXT=
  814. HASSHAREDLIB=1
  815. SHORTSUFFIX=obs
  816. endif
  817. ifeq ($(OS_TARGET),win32)
  818. PPUEXT=.ppw
  819. OEXT=.ow
  820. ASMEXT=.sw
  821. SMARTEXT=.slw
  822. STATICLIBEXT=.aw
  823. SHAREDLIBEXT=.dll
  824. SHORTSUFFIX=w32
  825. endif
  826. ifeq ($(OS_TARGET),os2)
  827. BATCHEXT=.cmd
  828. PPUEXT=.ppo
  829. ASMEXT=.so2
  830. OEXT=.oo2
  831. AOUTEXT=.out
  832. SMARTEXT=.sl2
  833. STATICLIBPREFIX=
  834. STATICLIBEXT=.ao2
  835. SHAREDLIBEXT=.dll
  836. SHORTSUFFIX=os2
  837. ECHO=echo
  838. endif
  839. ifeq ($(OS_TARGET),amiga)
  840. EXEEXT=
  841. PPUEXT=.ppu
  842. ASMEXT=.asm
  843. OEXT=.o
  844. SMARTEXT=.sl
  845. STATICLIBEXT=.a
  846. SHAREDLIBEXT=.library
  847. SHORTSUFFIX=amg
  848. endif
  849. ifeq ($(OS_TARGET),atari)
  850. PPUEXT=.ppu
  851. ASMEXT=.s
  852. OEXT=.o
  853. SMARTEXT=.sl
  854. STATICLIBEXT=.a
  855. EXEEXT=.ttp
  856. SHORTSUFFIX=ata
  857. endif
  858. ifeq ($(OS_TARGET),beos)
  859. BATCHEXT=.sh
  860. PPUEXT=.ppu
  861. ASMEXT=.s
  862. OEXT=.o
  863. SMARTEXT=.sl
  864. STATICLIBEXT=.a
  865. EXEEXT=
  866. SHORTSUFFIX=be
  867. endif
  868. ifeq ($(OS_TARGET),sunos)
  869. BATCHEXT=.sh
  870. PPUEXT=.ppu
  871. ASMEXT=.s
  872. OEXT=.o
  873. SMARTEXT=.sl
  874. STATICLIBEXT=.a
  875. EXEEXT=
  876. SHORTSUFFIX=sun
  877. endif
  878. ifeq ($(OS_TARGET),qnx)
  879. BATCHEXT=.sh
  880. PPUEXT=.ppu
  881. ASMEXT=.s
  882. OEXT=.o
  883. SMARTEXT=.sl
  884. STATICLIBEXT=.a
  885. EXEEXT=
  886. SHORTSUFFIX=qnx
  887. endif
  888. ifeq ($(OS_TARGET),netware)
  889. STATICLIBPREFIX=
  890. PPUEXT=.ppu
  891. OEXT=.o
  892. ASMEXT=.s
  893. SMARTEXT=.sl
  894. STATICLIBEXT=.a
  895. SHAREDLIBEXT=.nlm
  896. EXEEXT=.nlm
  897. SHORTSUFFIX=nw
  898. endif
  899. ifeq ($(OS_TARGET),netwlibc)
  900. STATICLIBPREFIX=
  901. PPUEXT=.ppu
  902. OEXT=.o
  903. ASMEXT=.s
  904. SMARTEXT=.sl
  905. STATICLIBEXT=.a
  906. SHAREDLIBEXT=.nlm
  907. EXEEXT=.nlm
  908. SHORTSUFFIX=nwl
  909. endif
  910. ifeq ($(OS_TARGET),macos)
  911. BATCHEXT=
  912. PPUEXT=.ppu
  913. ASMEXT=.s
  914. OEXT=.o
  915. SMARTEXT=.sl
  916. STATICLIBEXT=.a
  917. EXEEXT=
  918. DEBUGSYMEXT=.xcoff
  919. SHORTSUFFIX=mac
  920. endif
  921. endif
  922. ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
  923. FPCMADE=fpcmade.$(SHORTSUFFIX)
  924. ZIPSUFFIX=$(SHORTSUFFIX)
  925. ZIPCROSSPREFIX=
  926. ZIPSOURCESUFFIX=src
  927. ZIPEXAMPLESUFFIX=exm
  928. else
  929. FPCMADE=fpcmade.$(TARGETSUFFIX)
  930. ZIPSOURCESUFFIX=.source
  931. ZIPEXAMPLESUFFIX=.examples
  932. ifdef CROSSCOMPILE
  933. ZIPSUFFIX=.$(SOURCESUFFIX)
  934. ZIPCROSSPREFIX=$(TARGETSUFFIX)-
  935. else
  936. ZIPSUFFIX=.$(TARGETSUFFIX)
  937. ZIPCROSSPREFIX=
  938. endif
  939. endif
  940. ifndef ECHO
  941. ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
  942. ifeq ($(ECHO),)
  943. ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
  944. ifeq ($(ECHO),)
  945. ECHO= __missing_command_ECHO
  946. else
  947. ECHO:=$(firstword $(ECHO))
  948. endif
  949. else
  950. ECHO:=$(firstword $(ECHO))
  951. endif
  952. endif
  953. export ECHO
  954. ifndef DATE
  955. DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
  956. ifeq ($(DATE),)
  957. DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
  958. ifeq ($(DATE),)
  959. DATE= __missing_command_DATE
  960. else
  961. DATE:=$(firstword $(DATE))
  962. endif
  963. else
  964. DATE:=$(firstword $(DATE))
  965. endif
  966. endif
  967. export DATE
  968. ifndef GINSTALL
  969. GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
  970. ifeq ($(GINSTALL),)
  971. GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
  972. ifeq ($(GINSTALL),)
  973. GINSTALL= __missing_command_GINSTALL
  974. else
  975. GINSTALL:=$(firstword $(GINSTALL))
  976. endif
  977. else
  978. GINSTALL:=$(firstword $(GINSTALL))
  979. endif
  980. endif
  981. export GINSTALL
  982. ifndef CPPROG
  983. CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
  984. ifeq ($(CPPROG),)
  985. CPPROG= __missing_command_CPPROG
  986. else
  987. CPPROG:=$(firstword $(CPPROG))
  988. endif
  989. endif
  990. export CPPROG
  991. ifndef RMPROG
  992. RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
  993. ifeq ($(RMPROG),)
  994. RMPROG= __missing_command_RMPROG
  995. else
  996. RMPROG:=$(firstword $(RMPROG))
  997. endif
  998. endif
  999. export RMPROG
  1000. ifndef MVPROG
  1001. MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
  1002. ifeq ($(MVPROG),)
  1003. MVPROG= __missing_command_MVPROG
  1004. else
  1005. MVPROG:=$(firstword $(MVPROG))
  1006. endif
  1007. endif
  1008. export MVPROG
  1009. ifndef MKDIRPROG
  1010. MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1011. ifeq ($(MKDIRPROG),)
  1012. MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH))))
  1013. ifeq ($(MKDIRPROG),)
  1014. MKDIRPROG= __missing_command_MKDIRPROG
  1015. else
  1016. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1017. endif
  1018. else
  1019. MKDIRPROG:=$(firstword $(MKDIRPROG))
  1020. endif
  1021. endif
  1022. export MKDIRPROG
  1023. ifndef ECHOREDIR
  1024. ifndef inUnix
  1025. ECHOREDIR=echo
  1026. else
  1027. ECHOREDIR=$(ECHO)
  1028. endif
  1029. endif
  1030. ifndef COPY
  1031. COPY:=$(CPPROG) -fp
  1032. endif
  1033. ifndef COPYTREE
  1034. COPYTREE:=$(CPPROG) -Rfp
  1035. endif
  1036. ifndef MKDIRTREE
  1037. MKDIRTREE:=$(MKDIRPROG) -p
  1038. endif
  1039. ifndef MOVE
  1040. MOVE:=$(MVPROG) -f
  1041. endif
  1042. ifndef DEL
  1043. DEL:=$(RMPROG) -f
  1044. endif
  1045. ifndef DELTREE
  1046. DELTREE:=$(RMPROG) -rf
  1047. endif
  1048. ifndef INSTALL
  1049. ifdef inUnix
  1050. INSTALL:=$(GINSTALL) -c -m 644
  1051. else
  1052. INSTALL:=$(COPY)
  1053. endif
  1054. endif
  1055. ifndef INSTALLEXE
  1056. ifdef inUnix
  1057. INSTALLEXE:=$(GINSTALL) -c -m 755
  1058. else
  1059. INSTALLEXE:=$(COPY)
  1060. endif
  1061. endif
  1062. ifndef MKDIR
  1063. MKDIR:=$(GINSTALL) -m 755 -d
  1064. endif
  1065. export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
  1066. ifndef PPUMOVE
  1067. PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
  1068. ifeq ($(PPUMOVE),)
  1069. PPUMOVE= __missing_command_PPUMOVE
  1070. else
  1071. PPUMOVE:=$(firstword $(PPUMOVE))
  1072. endif
  1073. endif
  1074. export PPUMOVE
  1075. ifndef FPCMAKE
  1076. FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
  1077. ifeq ($(FPCMAKE),)
  1078. FPCMAKE= __missing_command_FPCMAKE
  1079. else
  1080. FPCMAKE:=$(firstword $(FPCMAKE))
  1081. endif
  1082. endif
  1083. export FPCMAKE
  1084. ifndef ZIPPROG
  1085. ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
  1086. ifeq ($(ZIPPROG),)
  1087. ZIPPROG= __missing_command_ZIPPROG
  1088. else
  1089. ZIPPROG:=$(firstword $(ZIPPROG))
  1090. endif
  1091. endif
  1092. export ZIPPROG
  1093. ifndef TARPROG
  1094. TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
  1095. ifeq ($(TARPROG),)
  1096. TARPROG= __missing_command_TARPROG
  1097. else
  1098. TARPROG:=$(firstword $(TARPROG))
  1099. endif
  1100. endif
  1101. export TARPROG
  1102. ASNAME=$(BINUTILSPREFIX)as
  1103. LDNAME=$(BINUTILSPREFIX)ld
  1104. ARNAME=$(BINUTILSPREFIX)ar
  1105. RCNAME=$(BINUTILSPREFIX)rc
  1106. ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
  1107. ifeq ($(OS_TARGET),win32)
  1108. ifeq ($(CROSSBINDIR),)
  1109. ASNAME=asw
  1110. LDNAME=ldw
  1111. ARNAME=arw
  1112. endif
  1113. endif
  1114. endif
  1115. ifndef ASPROG
  1116. ifdef CROSSBINDIR
  1117. ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
  1118. else
  1119. ASPROG=$(ASNAME)
  1120. endif
  1121. endif
  1122. ifndef LDPROG
  1123. ifdef CROSSBINDIR
  1124. LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
  1125. else
  1126. LDPROG=$(LDNAME)
  1127. endif
  1128. endif
  1129. ifndef RCPROG
  1130. ifdef CROSSBINDIR
  1131. RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
  1132. else
  1133. RCPROG=$(RCNAME)
  1134. endif
  1135. endif
  1136. ifndef ARPROG
  1137. ifdef CROSSBINDIR
  1138. ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
  1139. else
  1140. ARPROG=$(ARNAME)
  1141. endif
  1142. endif
  1143. AS=$(ASPROG)
  1144. LD=$(LDPROG)
  1145. RC=$(RCPROG)
  1146. AR=$(ARPROG)
  1147. PPAS=ppas$(SRCBATCHEXT)
  1148. ifdef inUnix
  1149. LDCONFIG=ldconfig
  1150. else
  1151. LDCONFIG=
  1152. endif
  1153. ifdef DATE
  1154. DATESTR:=$(shell $(DATE) +%Y%m%d)
  1155. else
  1156. DATESTR=
  1157. endif
  1158. ifndef UPXPROG
  1159. ifeq ($(OS_TARGET),go32v2)
  1160. UPXPROG:=1
  1161. endif
  1162. ifeq ($(OS_TARGET),win32)
  1163. UPXPROG:=1
  1164. endif
  1165. ifdef UPXPROG
  1166. UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
  1167. ifeq ($(UPXPROG),)
  1168. UPXPROG=
  1169. else
  1170. UPXPROG:=$(firstword $(UPXPROG))
  1171. endif
  1172. else
  1173. UPXPROG=
  1174. endif
  1175. endif
  1176. export UPXPROG
  1177. ZIPOPT=-9
  1178. ZIPEXT=.zip
  1179. ifeq ($(USETAR),bz2)
  1180. TAROPT=vI
  1181. TAREXT=.tar.bz2
  1182. else
  1183. TAROPT=vz
  1184. TAREXT=.tar.gz
  1185. endif
  1186. override REQUIRE_PACKAGES=rtl fcl
  1187. ifeq ($(FULL_TARGET),i386-linux)
  1188. REQUIRE_PACKAGES_RTL=1
  1189. REQUIRE_PACKAGES_PASZLIB=1
  1190. REQUIRE_PACKAGES_NETDB=1
  1191. REQUIRE_PACKAGES_LIBASYNC=1
  1192. REQUIRE_PACKAGES_PTHREADS=1
  1193. REQUIRE_PACKAGES_FCL=1
  1194. REQUIRE_PACKAGES_PASJPEG=1
  1195. REQUIRE_PACKAGES_IBASE=1
  1196. REQUIRE_PACKAGES_POSTGRES=1
  1197. REQUIRE_PACKAGES_MYSQL=1
  1198. REQUIRE_PACKAGES_SQLITE=1
  1199. endif
  1200. ifeq ($(FULL_TARGET),i386-go32v2)
  1201. REQUIRE_PACKAGES_RTL=1
  1202. REQUIRE_PACKAGES_PASZLIB=1
  1203. REQUIRE_PACKAGES_FCL=1
  1204. REQUIRE_PACKAGES_PASJPEG=1
  1205. REQUIRE_PACKAGES_NETDB=1
  1206. REQUIRE_PACKAGES_LIBASYNC=1
  1207. endif
  1208. ifeq ($(FULL_TARGET),i386-win32)
  1209. REQUIRE_PACKAGES_RTL=1
  1210. REQUIRE_PACKAGES_PASZLIB=1
  1211. REQUIRE_PACKAGES_NETDB=1
  1212. REQUIRE_PACKAGES_FCL=1
  1213. REQUIRE_PACKAGES_PASJPEG=1
  1214. REQUIRE_PACKAGES_IBASE=1
  1215. REQUIRE_PACKAGES_POSTGRES=1
  1216. REQUIRE_PACKAGES_MYSQL=1
  1217. REQUIRE_PACKAGES_SQLITE=1
  1218. REQUIRE_PACKAGES_LIBASYNC=1
  1219. endif
  1220. ifeq ($(FULL_TARGET),i386-os2)
  1221. REQUIRE_PACKAGES_RTL=1
  1222. REQUIRE_PACKAGES_PASZLIB=1
  1223. REQUIRE_PACKAGES_FCL=1
  1224. REQUIRE_PACKAGES_PASJPEG=1
  1225. REQUIRE_PACKAGES_NETDB=1
  1226. REQUIRE_PACKAGES_LIBASYNC=1
  1227. endif
  1228. ifeq ($(FULL_TARGET),i386-freebsd)
  1229. REQUIRE_PACKAGES_RTL=1
  1230. REQUIRE_PACKAGES_PASZLIB=1
  1231. REQUIRE_PACKAGES_NETDB=1
  1232. REQUIRE_PACKAGES_LIBASYNC=1
  1233. REQUIRE_PACKAGES_PTHREADS=1
  1234. REQUIRE_PACKAGES_FCL=1
  1235. REQUIRE_PACKAGES_PASJPEG=1
  1236. REQUIRE_PACKAGES_IBASE=1
  1237. REQUIRE_PACKAGES_POSTGRES=1
  1238. REQUIRE_PACKAGES_MYSQL=1
  1239. REQUIRE_PACKAGES_SQLITE=1
  1240. endif
  1241. ifeq ($(FULL_TARGET),i386-beos)
  1242. REQUIRE_PACKAGES_RTL=1
  1243. REQUIRE_PACKAGES_PASZLIB=1
  1244. REQUIRE_PACKAGES_FCL=1
  1245. REQUIRE_PACKAGES_PASJPEG=1
  1246. REQUIRE_PACKAGES_NETDB=1
  1247. REQUIRE_PACKAGES_LIBASYNC=1
  1248. endif
  1249. ifeq ($(FULL_TARGET),i386-netbsd)
  1250. REQUIRE_PACKAGES_RTL=1
  1251. REQUIRE_PACKAGES_PASZLIB=1
  1252. REQUIRE_PACKAGES_NETDB=1
  1253. REQUIRE_PACKAGES_LIBASYNC=1
  1254. REQUIRE_PACKAGES_FCL=1
  1255. REQUIRE_PACKAGES_PASJPEG=1
  1256. REQUIRE_PACKAGES_IBASE=1
  1257. REQUIRE_PACKAGES_POSTGRES=1
  1258. REQUIRE_PACKAGES_MYSQL=1
  1259. REQUIRE_PACKAGES_SQLITE=1
  1260. endif
  1261. ifeq ($(FULL_TARGET),i386-sunos)
  1262. REQUIRE_PACKAGES_RTL=1
  1263. REQUIRE_PACKAGES_PASZLIB=1
  1264. REQUIRE_PACKAGES_FCL=1
  1265. REQUIRE_PACKAGES_PASJPEG=1
  1266. REQUIRE_PACKAGES_NETDB=1
  1267. REQUIRE_PACKAGES_LIBASYNC=1
  1268. endif
  1269. ifeq ($(FULL_TARGET),i386-qnx)
  1270. REQUIRE_PACKAGES_RTL=1
  1271. REQUIRE_PACKAGES_PASZLIB=1
  1272. REQUIRE_PACKAGES_FCL=1
  1273. REQUIRE_PACKAGES_PASJPEG=1
  1274. REQUIRE_PACKAGES_NETDB=1
  1275. REQUIRE_PACKAGES_LIBASYNC=1
  1276. endif
  1277. ifeq ($(FULL_TARGET),i386-netware)
  1278. REQUIRE_PACKAGES_RTL=1
  1279. REQUIRE_PACKAGES_PASZLIB=1
  1280. REQUIRE_PACKAGES_FCL=1
  1281. REQUIRE_PACKAGES_PASJPEG=1
  1282. REQUIRE_PACKAGES_NETDB=1
  1283. REQUIRE_PACKAGES_LIBASYNC=1
  1284. endif
  1285. ifeq ($(FULL_TARGET),i386-openbsd)
  1286. REQUIRE_PACKAGES_RTL=1
  1287. REQUIRE_PACKAGES_PASZLIB=1
  1288. REQUIRE_PACKAGES_NETDB=1
  1289. REQUIRE_PACKAGES_LIBASYNC=1
  1290. REQUIRE_PACKAGES_FCL=1
  1291. REQUIRE_PACKAGES_PASJPEG=1
  1292. REQUIRE_PACKAGES_IBASE=1
  1293. REQUIRE_PACKAGES_POSTGRES=1
  1294. REQUIRE_PACKAGES_MYSQL=1
  1295. REQUIRE_PACKAGES_SQLITE=1
  1296. endif
  1297. ifeq ($(FULL_TARGET),i386-wdosx)
  1298. REQUIRE_PACKAGES_RTL=1
  1299. REQUIRE_PACKAGES_PASZLIB=1
  1300. REQUIRE_PACKAGES_FCL=1
  1301. REQUIRE_PACKAGES_PASJPEG=1
  1302. REQUIRE_PACKAGES_NETDB=1
  1303. REQUIRE_PACKAGES_LIBASYNC=1
  1304. endif
  1305. ifeq ($(FULL_TARGET),i386-emx)
  1306. REQUIRE_PACKAGES_RTL=1
  1307. REQUIRE_PACKAGES_PASZLIB=1
  1308. REQUIRE_PACKAGES_FCL=1
  1309. REQUIRE_PACKAGES_PASJPEG=1
  1310. REQUIRE_PACKAGES_NETDB=1
  1311. REQUIRE_PACKAGES_LIBASYNC=1
  1312. endif
  1313. ifeq ($(FULL_TARGET),i386-watcom)
  1314. REQUIRE_PACKAGES_RTL=1
  1315. REQUIRE_PACKAGES_PASZLIB=1
  1316. REQUIRE_PACKAGES_FCL=1
  1317. REQUIRE_PACKAGES_PASJPEG=1
  1318. REQUIRE_PACKAGES_NETDB=1
  1319. REQUIRE_PACKAGES_LIBASYNC=1
  1320. endif
  1321. ifeq ($(FULL_TARGET),i386-netwlibc)
  1322. REQUIRE_PACKAGES_RTL=1
  1323. REQUIRE_PACKAGES_PASZLIB=1
  1324. REQUIRE_PACKAGES_FCL=1
  1325. REQUIRE_PACKAGES_PASJPEG=1
  1326. REQUIRE_PACKAGES_NETDB=1
  1327. REQUIRE_PACKAGES_LIBASYNC=1
  1328. endif
  1329. ifeq ($(FULL_TARGET),m68k-linux)
  1330. REQUIRE_PACKAGES_RTL=1
  1331. REQUIRE_PACKAGES_PASZLIB=1
  1332. REQUIRE_PACKAGES_NETDB=1
  1333. REQUIRE_PACKAGES_LIBASYNC=1
  1334. REQUIRE_PACKAGES_PTHREADS=1
  1335. REQUIRE_PACKAGES_FCL=1
  1336. REQUIRE_PACKAGES_PASJPEG=1
  1337. REQUIRE_PACKAGES_IBASE=1
  1338. REQUIRE_PACKAGES_POSTGRES=1
  1339. REQUIRE_PACKAGES_MYSQL=1
  1340. REQUIRE_PACKAGES_SQLITE=1
  1341. endif
  1342. ifeq ($(FULL_TARGET),m68k-freebsd)
  1343. REQUIRE_PACKAGES_RTL=1
  1344. REQUIRE_PACKAGES_PASZLIB=1
  1345. REQUIRE_PACKAGES_NETDB=1
  1346. REQUIRE_PACKAGES_LIBASYNC=1
  1347. REQUIRE_PACKAGES_PTHREADS=1
  1348. REQUIRE_PACKAGES_FCL=1
  1349. REQUIRE_PACKAGES_PASJPEG=1
  1350. REQUIRE_PACKAGES_IBASE=1
  1351. REQUIRE_PACKAGES_POSTGRES=1
  1352. REQUIRE_PACKAGES_MYSQL=1
  1353. REQUIRE_PACKAGES_SQLITE=1
  1354. endif
  1355. ifeq ($(FULL_TARGET),m68k-netbsd)
  1356. REQUIRE_PACKAGES_RTL=1
  1357. REQUIRE_PACKAGES_PASZLIB=1
  1358. REQUIRE_PACKAGES_NETDB=1
  1359. REQUIRE_PACKAGES_LIBASYNC=1
  1360. REQUIRE_PACKAGES_FCL=1
  1361. REQUIRE_PACKAGES_PASJPEG=1
  1362. REQUIRE_PACKAGES_IBASE=1
  1363. REQUIRE_PACKAGES_POSTGRES=1
  1364. REQUIRE_PACKAGES_MYSQL=1
  1365. REQUIRE_PACKAGES_SQLITE=1
  1366. endif
  1367. ifeq ($(FULL_TARGET),m68k-amiga)
  1368. REQUIRE_PACKAGES_RTL=1
  1369. REQUIRE_PACKAGES_PASZLIB=1
  1370. REQUIRE_PACKAGES_FCL=1
  1371. REQUIRE_PACKAGES_PASJPEG=1
  1372. REQUIRE_PACKAGES_NETDB=1
  1373. REQUIRE_PACKAGES_LIBASYNC=1
  1374. endif
  1375. ifeq ($(FULL_TARGET),m68k-atari)
  1376. REQUIRE_PACKAGES_RTL=1
  1377. REQUIRE_PACKAGES_PASZLIB=1
  1378. REQUIRE_PACKAGES_FCL=1
  1379. REQUIRE_PACKAGES_PASJPEG=1
  1380. REQUIRE_PACKAGES_NETDB=1
  1381. REQUIRE_PACKAGES_LIBASYNC=1
  1382. endif
  1383. ifeq ($(FULL_TARGET),m68k-openbsd)
  1384. REQUIRE_PACKAGES_RTL=1
  1385. REQUIRE_PACKAGES_PASZLIB=1
  1386. REQUIRE_PACKAGES_NETDB=1
  1387. REQUIRE_PACKAGES_LIBASYNC=1
  1388. REQUIRE_PACKAGES_FCL=1
  1389. REQUIRE_PACKAGES_PASJPEG=1
  1390. REQUIRE_PACKAGES_IBASE=1
  1391. REQUIRE_PACKAGES_POSTGRES=1
  1392. REQUIRE_PACKAGES_MYSQL=1
  1393. REQUIRE_PACKAGES_SQLITE=1
  1394. endif
  1395. ifeq ($(FULL_TARGET),m68k-palmos)
  1396. REQUIRE_PACKAGES_RTL=1
  1397. REQUIRE_PACKAGES_PASZLIB=1
  1398. REQUIRE_PACKAGES_FCL=1
  1399. REQUIRE_PACKAGES_PASJPEG=1
  1400. REQUIRE_PACKAGES_NETDB=1
  1401. REQUIRE_PACKAGES_LIBASYNC=1
  1402. endif
  1403. ifeq ($(FULL_TARGET),powerpc-linux)
  1404. REQUIRE_PACKAGES_RTL=1
  1405. REQUIRE_PACKAGES_PASZLIB=1
  1406. REQUIRE_PACKAGES_NETDB=1
  1407. REQUIRE_PACKAGES_LIBASYNC=1
  1408. REQUIRE_PACKAGES_PTHREADS=1
  1409. REQUIRE_PACKAGES_FCL=1
  1410. REQUIRE_PACKAGES_PASJPEG=1
  1411. REQUIRE_PACKAGES_IBASE=1
  1412. REQUIRE_PACKAGES_POSTGRES=1
  1413. REQUIRE_PACKAGES_MYSQL=1
  1414. REQUIRE_PACKAGES_SQLITE=1
  1415. endif
  1416. ifeq ($(FULL_TARGET),powerpc-netbsd)
  1417. REQUIRE_PACKAGES_RTL=1
  1418. REQUIRE_PACKAGES_PASZLIB=1
  1419. REQUIRE_PACKAGES_NETDB=1
  1420. REQUIRE_PACKAGES_LIBASYNC=1
  1421. REQUIRE_PACKAGES_FCL=1
  1422. REQUIRE_PACKAGES_PASJPEG=1
  1423. REQUIRE_PACKAGES_IBASE=1
  1424. REQUIRE_PACKAGES_POSTGRES=1
  1425. REQUIRE_PACKAGES_MYSQL=1
  1426. REQUIRE_PACKAGES_SQLITE=1
  1427. endif
  1428. ifeq ($(FULL_TARGET),powerpc-macos)
  1429. REQUIRE_PACKAGES_RTL=1
  1430. REQUIRE_PACKAGES_PASZLIB=1
  1431. REQUIRE_PACKAGES_FCL=1
  1432. REQUIRE_PACKAGES_PASJPEG=1
  1433. REQUIRE_PACKAGES_NETDB=1
  1434. REQUIRE_PACKAGES_LIBASYNC=1
  1435. endif
  1436. ifeq ($(FULL_TARGET),powerpc-darwin)
  1437. REQUIRE_PACKAGES_RTL=1
  1438. REQUIRE_PACKAGES_PASZLIB=1
  1439. REQUIRE_PACKAGES_NETDB=1
  1440. REQUIRE_PACKAGES_LIBASYNC=1
  1441. REQUIRE_PACKAGES_PTHREADS=1
  1442. REQUIRE_PACKAGES_FCL=1
  1443. REQUIRE_PACKAGES_PASJPEG=1
  1444. REQUIRE_PACKAGES_IBASE=1
  1445. REQUIRE_PACKAGES_POSTGRES=1
  1446. REQUIRE_PACKAGES_MYSQL=1
  1447. REQUIRE_PACKAGES_SQLITE=1
  1448. endif
  1449. ifeq ($(FULL_TARGET),powerpc-morphos)
  1450. REQUIRE_PACKAGES_RTL=1
  1451. REQUIRE_PACKAGES_PASZLIB=1
  1452. REQUIRE_PACKAGES_FCL=1
  1453. REQUIRE_PACKAGES_PASJPEG=1
  1454. REQUIRE_PACKAGES_NETDB=1
  1455. REQUIRE_PACKAGES_LIBASYNC=1
  1456. endif
  1457. ifeq ($(FULL_TARGET),sparc-linux)
  1458. REQUIRE_PACKAGES_RTL=1
  1459. REQUIRE_PACKAGES_PASZLIB=1
  1460. REQUIRE_PACKAGES_NETDB=1
  1461. REQUIRE_PACKAGES_LIBASYNC=1
  1462. REQUIRE_PACKAGES_PTHREADS=1
  1463. REQUIRE_PACKAGES_FCL=1
  1464. REQUIRE_PACKAGES_PASJPEG=1
  1465. REQUIRE_PACKAGES_IBASE=1
  1466. REQUIRE_PACKAGES_POSTGRES=1
  1467. REQUIRE_PACKAGES_MYSQL=1
  1468. REQUIRE_PACKAGES_SQLITE=1
  1469. endif
  1470. ifeq ($(FULL_TARGET),sparc-netbsd)
  1471. REQUIRE_PACKAGES_RTL=1
  1472. REQUIRE_PACKAGES_PASZLIB=1
  1473. REQUIRE_PACKAGES_NETDB=1
  1474. REQUIRE_PACKAGES_LIBASYNC=1
  1475. REQUIRE_PACKAGES_FCL=1
  1476. REQUIRE_PACKAGES_PASJPEG=1
  1477. REQUIRE_PACKAGES_IBASE=1
  1478. REQUIRE_PACKAGES_POSTGRES=1
  1479. REQUIRE_PACKAGES_MYSQL=1
  1480. REQUIRE_PACKAGES_SQLITE=1
  1481. endif
  1482. ifeq ($(FULL_TARGET),sparc-sunos)
  1483. REQUIRE_PACKAGES_RTL=1
  1484. REQUIRE_PACKAGES_PASZLIB=1
  1485. REQUIRE_PACKAGES_FCL=1
  1486. REQUIRE_PACKAGES_PASJPEG=1
  1487. REQUIRE_PACKAGES_NETDB=1
  1488. REQUIRE_PACKAGES_LIBASYNC=1
  1489. endif
  1490. ifeq ($(FULL_TARGET),x86_64-linux)
  1491. REQUIRE_PACKAGES_RTL=1
  1492. REQUIRE_PACKAGES_PASZLIB=1
  1493. REQUIRE_PACKAGES_NETDB=1
  1494. REQUIRE_PACKAGES_LIBASYNC=1
  1495. REQUIRE_PACKAGES_PTHREADS=1
  1496. REQUIRE_PACKAGES_FCL=1
  1497. REQUIRE_PACKAGES_PASJPEG=1
  1498. REQUIRE_PACKAGES_IBASE=1
  1499. REQUIRE_PACKAGES_POSTGRES=1
  1500. REQUIRE_PACKAGES_MYSQL=1
  1501. REQUIRE_PACKAGES_SQLITE=1
  1502. endif
  1503. ifeq ($(FULL_TARGET),x86_64-freebsd)
  1504. REQUIRE_PACKAGES_RTL=1
  1505. REQUIRE_PACKAGES_PASZLIB=1
  1506. REQUIRE_PACKAGES_NETDB=1
  1507. REQUIRE_PACKAGES_LIBASYNC=1
  1508. REQUIRE_PACKAGES_PTHREADS=1
  1509. REQUIRE_PACKAGES_FCL=1
  1510. REQUIRE_PACKAGES_PASJPEG=1
  1511. REQUIRE_PACKAGES_IBASE=1
  1512. REQUIRE_PACKAGES_POSTGRES=1
  1513. REQUIRE_PACKAGES_MYSQL=1
  1514. REQUIRE_PACKAGES_SQLITE=1
  1515. endif
  1516. ifeq ($(FULL_TARGET),arm-linux)
  1517. REQUIRE_PACKAGES_RTL=1
  1518. REQUIRE_PACKAGES_PASZLIB=1
  1519. REQUIRE_PACKAGES_NETDB=1
  1520. REQUIRE_PACKAGES_LIBASYNC=1
  1521. REQUIRE_PACKAGES_PTHREADS=1
  1522. REQUIRE_PACKAGES_FCL=1
  1523. REQUIRE_PACKAGES_PASJPEG=1
  1524. REQUIRE_PACKAGES_IBASE=1
  1525. REQUIRE_PACKAGES_POSTGRES=1
  1526. REQUIRE_PACKAGES_MYSQL=1
  1527. REQUIRE_PACKAGES_SQLITE=1
  1528. endif
  1529. ifdef REQUIRE_PACKAGES_RTL
  1530. PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
  1531. ifneq ($(PACKAGEDIR_RTL),)
  1532. ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),)
  1533. UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)
  1534. else
  1535. UNITDIR_RTL=$(PACKAGEDIR_RTL)
  1536. endif
  1537. ifdef CHECKDEPEND
  1538. $(PACKAGEDIR_RTL)/$(FPCMADE):
  1539. $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
  1540. override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
  1541. endif
  1542. else
  1543. PACKAGEDIR_RTL=
  1544. UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
  1545. ifneq ($(UNITDIR_RTL),)
  1546. UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
  1547. else
  1548. UNITDIR_RTL=
  1549. endif
  1550. endif
  1551. ifdef UNITDIR_RTL
  1552. override COMPILER_UNITDIR+=$(UNITDIR_RTL)
  1553. endif
  1554. endif
  1555. ifdef REQUIRE_PACKAGES_PASZLIB
  1556. PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR))))))
  1557. ifneq ($(PACKAGEDIR_PASZLIB),)
  1558. ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)),)
  1559. UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)
  1560. else
  1561. UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)
  1562. endif
  1563. ifdef CHECKDEPEND
  1564. $(PACKAGEDIR_PASZLIB)/$(FPCMADE):
  1565. $(MAKE) -C $(PACKAGEDIR_PASZLIB) $(FPCMADE)
  1566. override ALLDEPENDENCIES+=$(PACKAGEDIR_PASZLIB)/$(FPCMADE)
  1567. endif
  1568. else
  1569. PACKAGEDIR_PASZLIB=
  1570. UNITDIR_PASZLIB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Package.fpc,$(UNITSDIR)))))
  1571. ifneq ($(UNITDIR_PASZLIB),)
  1572. UNITDIR_PASZLIB:=$(firstword $(UNITDIR_PASZLIB))
  1573. else
  1574. UNITDIR_PASZLIB=
  1575. endif
  1576. endif
  1577. ifdef UNITDIR_PASZLIB
  1578. override COMPILER_UNITDIR+=$(UNITDIR_PASZLIB)
  1579. endif
  1580. endif
  1581. ifdef REQUIRE_PACKAGES_NETDB
  1582. PACKAGEDIR_NETDB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /netdb/Makefile.fpc,$(PACKAGESDIR))))))
  1583. ifneq ($(PACKAGEDIR_NETDB),)
  1584. ifneq ($(wildcard $(PACKAGEDIR_NETDB)/units/$(TARGETSUFFIX)),)
  1585. UNITDIR_NETDB=$(PACKAGEDIR_NETDB)/units/$(TARGETSUFFIX)
  1586. else
  1587. UNITDIR_NETDB=$(PACKAGEDIR_NETDB)
  1588. endif
  1589. ifdef CHECKDEPEND
  1590. $(PACKAGEDIR_NETDB)/$(FPCMADE):
  1591. $(MAKE) -C $(PACKAGEDIR_NETDB) $(FPCMADE)
  1592. override ALLDEPENDENCIES+=$(PACKAGEDIR_NETDB)/$(FPCMADE)
  1593. endif
  1594. else
  1595. PACKAGEDIR_NETDB=
  1596. UNITDIR_NETDB:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /netdb/Package.fpc,$(UNITSDIR)))))
  1597. ifneq ($(UNITDIR_NETDB),)
  1598. UNITDIR_NETDB:=$(firstword $(UNITDIR_NETDB))
  1599. else
  1600. UNITDIR_NETDB=
  1601. endif
  1602. endif
  1603. ifdef UNITDIR_NETDB
  1604. override COMPILER_UNITDIR+=$(UNITDIR_NETDB)
  1605. endif
  1606. endif
  1607. ifdef REQUIRE_PACKAGES_LIBASYNC
  1608. PACKAGEDIR_LIBASYNC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libasync/Makefile.fpc,$(PACKAGESDIR))))))
  1609. ifneq ($(PACKAGEDIR_LIBASYNC),)
  1610. ifneq ($(wildcard $(PACKAGEDIR_LIBASYNC)/units/$(TARGETSUFFIX)),)
  1611. UNITDIR_LIBASYNC=$(PACKAGEDIR_LIBASYNC)/units/$(TARGETSUFFIX)
  1612. else
  1613. UNITDIR_LIBASYNC=$(PACKAGEDIR_LIBASYNC)
  1614. endif
  1615. ifdef CHECKDEPEND
  1616. $(PACKAGEDIR_LIBASYNC)/$(FPCMADE):
  1617. $(MAKE) -C $(PACKAGEDIR_LIBASYNC) $(FPCMADE)
  1618. override ALLDEPENDENCIES+=$(PACKAGEDIR_LIBASYNC)/$(FPCMADE)
  1619. endif
  1620. else
  1621. PACKAGEDIR_LIBASYNC=
  1622. UNITDIR_LIBASYNC:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /libasync/Package.fpc,$(UNITSDIR)))))
  1623. ifneq ($(UNITDIR_LIBASYNC),)
  1624. UNITDIR_LIBASYNC:=$(firstword $(UNITDIR_LIBASYNC))
  1625. else
  1626. UNITDIR_LIBASYNC=
  1627. endif
  1628. endif
  1629. ifdef UNITDIR_LIBASYNC
  1630. override COMPILER_UNITDIR+=$(UNITDIR_LIBASYNC)
  1631. endif
  1632. endif
  1633. ifdef REQUIRE_PACKAGES_PTHREADS
  1634. PACKAGEDIR_PTHREADS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /pthreads/Makefile.fpc,$(PACKAGESDIR))))))
  1635. ifneq ($(PACKAGEDIR_PTHREADS),)
  1636. ifneq ($(wildcard $(PACKAGEDIR_PTHREADS)/units/$(TARGETSUFFIX)),)
  1637. UNITDIR_PTHREADS=$(PACKAGEDIR_PTHREADS)/units/$(TARGETSUFFIX)
  1638. else
  1639. UNITDIR_PTHREADS=$(PACKAGEDIR_PTHREADS)
  1640. endif
  1641. ifdef CHECKDEPEND
  1642. $(PACKAGEDIR_PTHREADS)/$(FPCMADE):
  1643. $(MAKE) -C $(PACKAGEDIR_PTHREADS) $(FPCMADE)
  1644. override ALLDEPENDENCIES+=$(PACKAGEDIR_PTHREADS)/$(FPCMADE)
  1645. endif
  1646. else
  1647. PACKAGEDIR_PTHREADS=
  1648. UNITDIR_PTHREADS:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /pthreads/Package.fpc,$(UNITSDIR)))))
  1649. ifneq ($(UNITDIR_PTHREADS),)
  1650. UNITDIR_PTHREADS:=$(firstword $(UNITDIR_PTHREADS))
  1651. else
  1652. UNITDIR_PTHREADS=
  1653. endif
  1654. endif
  1655. ifdef UNITDIR_PTHREADS
  1656. override COMPILER_UNITDIR+=$(UNITDIR_PTHREADS)
  1657. endif
  1658. endif
  1659. ifdef REQUIRE_PACKAGES_FCL
  1660. PACKAGEDIR_FCL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR))))))
  1661. ifneq ($(PACKAGEDIR_FCL),)
  1662. ifneq ($(wildcard $(PACKAGEDIR_FCL)/units/$(TARGETSUFFIX)),)
  1663. UNITDIR_FCL=$(PACKAGEDIR_FCL)/units/$(TARGETSUFFIX)
  1664. else
  1665. UNITDIR_FCL=$(PACKAGEDIR_FCL)
  1666. endif
  1667. ifdef CHECKDEPEND
  1668. $(PACKAGEDIR_FCL)/$(FPCMADE):
  1669. $(MAKE) -C $(PACKAGEDIR_FCL) $(FPCMADE)
  1670. override ALLDEPENDENCIES+=$(PACKAGEDIR_FCL)/$(FPCMADE)
  1671. endif
  1672. else
  1673. PACKAGEDIR_FCL=
  1674. UNITDIR_FCL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /fcl/Package.fpc,$(UNITSDIR)))))
  1675. ifneq ($(UNITDIR_FCL),)
  1676. UNITDIR_FCL:=$(firstword $(UNITDIR_FCL))
  1677. else
  1678. UNITDIR_FCL=
  1679. endif
  1680. endif
  1681. ifdef UNITDIR_FCL
  1682. override COMPILER_UNITDIR+=$(UNITDIR_FCL)
  1683. endif
  1684. endif
  1685. ifdef REQUIRE_PACKAGES_PASJPEG
  1686. PACKAGEDIR_PASJPEG:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Makefile.fpc,$(PACKAGESDIR))))))
  1687. ifneq ($(PACKAGEDIR_PASJPEG),)
  1688. ifneq ($(wildcard $(PACKAGEDIR_PASJPEG)/units/$(TARGETSUFFIX)),)
  1689. UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)/units/$(TARGETSUFFIX)
  1690. else
  1691. UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)
  1692. endif
  1693. ifdef CHECKDEPEND
  1694. $(PACKAGEDIR_PASJPEG)/$(FPCMADE):
  1695. $(MAKE) -C $(PACKAGEDIR_PASJPEG) $(FPCMADE)
  1696. override ALLDEPENDENCIES+=$(PACKAGEDIR_PASJPEG)/$(FPCMADE)
  1697. endif
  1698. else
  1699. PACKAGEDIR_PASJPEG=
  1700. UNITDIR_PASJPEG:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Package.fpc,$(UNITSDIR)))))
  1701. ifneq ($(UNITDIR_PASJPEG),)
  1702. UNITDIR_PASJPEG:=$(firstword $(UNITDIR_PASJPEG))
  1703. else
  1704. UNITDIR_PASJPEG=
  1705. endif
  1706. endif
  1707. ifdef UNITDIR_PASJPEG
  1708. override COMPILER_UNITDIR+=$(UNITDIR_PASJPEG)
  1709. endif
  1710. endif
  1711. ifdef REQUIRE_PACKAGES_IBASE
  1712. PACKAGEDIR_IBASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR))))))
  1713. ifneq ($(PACKAGEDIR_IBASE),)
  1714. ifneq ($(wildcard $(PACKAGEDIR_IBASE)/units/$(TARGETSUFFIX)),)
  1715. UNITDIR_IBASE=$(PACKAGEDIR_IBASE)/units/$(TARGETSUFFIX)
  1716. else
  1717. UNITDIR_IBASE=$(PACKAGEDIR_IBASE)
  1718. endif
  1719. ifdef CHECKDEPEND
  1720. $(PACKAGEDIR_IBASE)/$(FPCMADE):
  1721. $(MAKE) -C $(PACKAGEDIR_IBASE) $(FPCMADE)
  1722. override ALLDEPENDENCIES+=$(PACKAGEDIR_IBASE)/$(FPCMADE)
  1723. endif
  1724. else
  1725. PACKAGEDIR_IBASE=
  1726. UNITDIR_IBASE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /ibase/Package.fpc,$(UNITSDIR)))))
  1727. ifneq ($(UNITDIR_IBASE),)
  1728. UNITDIR_IBASE:=$(firstword $(UNITDIR_IBASE))
  1729. else
  1730. UNITDIR_IBASE=
  1731. endif
  1732. endif
  1733. ifdef UNITDIR_IBASE
  1734. override COMPILER_UNITDIR+=$(UNITDIR_IBASE)
  1735. endif
  1736. endif
  1737. ifdef REQUIRE_PACKAGES_POSTGRES
  1738. PACKAGEDIR_POSTGRES:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /postgres/Makefile.fpc,$(PACKAGESDIR))))))
  1739. ifneq ($(PACKAGEDIR_POSTGRES),)
  1740. ifneq ($(wildcard $(PACKAGEDIR_POSTGRES)/units/$(TARGETSUFFIX)),)
  1741. UNITDIR_POSTGRES=$(PACKAGEDIR_POSTGRES)/units/$(TARGETSUFFIX)
  1742. else
  1743. UNITDIR_POSTGRES=$(PACKAGEDIR_POSTGRES)
  1744. endif
  1745. ifdef CHECKDEPEND
  1746. $(PACKAGEDIR_POSTGRES)/$(FPCMADE):
  1747. $(MAKE) -C $(PACKAGEDIR_POSTGRES) $(FPCMADE)
  1748. override ALLDEPENDENCIES+=$(PACKAGEDIR_POSTGRES)/$(FPCMADE)
  1749. endif
  1750. else
  1751. PACKAGEDIR_POSTGRES=
  1752. UNITDIR_POSTGRES:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /postgres/Package.fpc,$(UNITSDIR)))))
  1753. ifneq ($(UNITDIR_POSTGRES),)
  1754. UNITDIR_POSTGRES:=$(firstword $(UNITDIR_POSTGRES))
  1755. else
  1756. UNITDIR_POSTGRES=
  1757. endif
  1758. endif
  1759. ifdef UNITDIR_POSTGRES
  1760. override COMPILER_UNITDIR+=$(UNITDIR_POSTGRES)
  1761. endif
  1762. endif
  1763. ifdef REQUIRE_PACKAGES_MYSQL
  1764. PACKAGEDIR_MYSQL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR))))))
  1765. ifneq ($(PACKAGEDIR_MYSQL),)
  1766. ifneq ($(wildcard $(PACKAGEDIR_MYSQL)/units/$(TARGETSUFFIX)),)
  1767. UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)/units/$(TARGETSUFFIX)
  1768. else
  1769. UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)
  1770. endif
  1771. ifdef CHECKDEPEND
  1772. $(PACKAGEDIR_MYSQL)/$(FPCMADE):
  1773. $(MAKE) -C $(PACKAGEDIR_MYSQL) $(FPCMADE)
  1774. override ALLDEPENDENCIES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE)
  1775. endif
  1776. else
  1777. PACKAGEDIR_MYSQL=
  1778. UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR)))))
  1779. ifneq ($(UNITDIR_MYSQL),)
  1780. UNITDIR_MYSQL:=$(firstword $(UNITDIR_MYSQL))
  1781. else
  1782. UNITDIR_MYSQL=
  1783. endif
  1784. endif
  1785. ifdef UNITDIR_MYSQL
  1786. override COMPILER_UNITDIR+=$(UNITDIR_MYSQL)
  1787. endif
  1788. endif
  1789. ifdef REQUIRE_PACKAGES_SQLITE
  1790. PACKAGEDIR_SQLITE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /sqlite/Makefile.fpc,$(PACKAGESDIR))))))
  1791. ifneq ($(PACKAGEDIR_SQLITE),)
  1792. ifneq ($(wildcard $(PACKAGEDIR_SQLITE)/units/$(TARGETSUFFIX)),)
  1793. UNITDIR_SQLITE=$(PACKAGEDIR_SQLITE)/units/$(TARGETSUFFIX)
  1794. else
  1795. UNITDIR_SQLITE=$(PACKAGEDIR_SQLITE)
  1796. endif
  1797. ifdef CHECKDEPEND
  1798. $(PACKAGEDIR_SQLITE)/$(FPCMADE):
  1799. $(MAKE) -C $(PACKAGEDIR_SQLITE) $(FPCMADE)
  1800. override ALLDEPENDENCIES+=$(PACKAGEDIR_SQLITE)/$(FPCMADE)
  1801. endif
  1802. else
  1803. PACKAGEDIR_SQLITE=
  1804. UNITDIR_SQLITE:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /sqlite/Package.fpc,$(UNITSDIR)))))
  1805. ifneq ($(UNITDIR_SQLITE),)
  1806. UNITDIR_SQLITE:=$(firstword $(UNITDIR_SQLITE))
  1807. else
  1808. UNITDIR_SQLITE=
  1809. endif
  1810. endif
  1811. ifdef UNITDIR_SQLITE
  1812. override COMPILER_UNITDIR+=$(UNITDIR_SQLITE)
  1813. endif
  1814. endif
  1815. ifndef NOCPUDEF
  1816. override FPCOPTDEF=$(CPU_TARGET)
  1817. endif
  1818. ifneq ($(OS_TARGET),$(OS_SOURCE))
  1819. override FPCOPT+=-T$(OS_TARGET)
  1820. endif
  1821. ifeq ($(OS_SOURCE),openbsd)
  1822. override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
  1823. endif
  1824. ifndef CROSSBOOTSTRAP
  1825. ifneq ($(BINUTILSPREFIX),)
  1826. override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc
  1827. endif
  1828. ifneq ($(BINUTILSPREFIX),)
  1829. override FPCOPT+=-Xr$(RLINKPATH)
  1830. endif
  1831. endif
  1832. ifdef UNITDIR
  1833. override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
  1834. endif
  1835. ifdef LIBDIR
  1836. override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
  1837. endif
  1838. ifdef OBJDIR
  1839. override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
  1840. endif
  1841. ifdef INCDIR
  1842. override FPCOPT+=$(addprefix -Fi,$(INCDIR))
  1843. endif
  1844. ifdef LINKSMART
  1845. override FPCOPT+=-XX
  1846. endif
  1847. ifdef CREATESMART
  1848. override FPCOPT+=-CX
  1849. endif
  1850. ifdef DEBUG
  1851. override FPCOPT+=-gl
  1852. override FPCOPTDEF+=DEBUG
  1853. endif
  1854. ifdef RELEASE
  1855. ifeq ($(CPU_TARGET),i386)
  1856. FPCCPUOPT:=-OG2p3
  1857. else
  1858. ifeq ($(CPU_TARGET),powerpc)
  1859. FPCCPUOPT:=-O1
  1860. else
  1861. FPCCPUOPT:=
  1862. endif
  1863. endif
  1864. override FPCOPT+=-Xs $(FPCCPUOPT) -n
  1865. override FPCOPTDEF+=RELEASE
  1866. endif
  1867. ifdef STRIP
  1868. override FPCOPT+=-Xs
  1869. endif
  1870. ifdef OPTIMIZE
  1871. ifeq ($(CPU_TARGET),i386)
  1872. override FPCOPT+=-OG2p3
  1873. endif
  1874. endif
  1875. ifdef VERBOSE
  1876. override FPCOPT+=-vwni
  1877. endif
  1878. ifdef COMPILER_OPTIONS
  1879. override FPCOPT+=$(COMPILER_OPTIONS)
  1880. endif
  1881. ifdef COMPILER_UNITDIR
  1882. override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
  1883. endif
  1884. ifdef COMPILER_LIBRARYDIR
  1885. override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
  1886. endif
  1887. ifdef COMPILER_OBJECTDIR
  1888. override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
  1889. endif
  1890. ifdef COMPILER_INCLUDEDIR
  1891. override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
  1892. endif
  1893. ifdef CROSSBINDIR
  1894. override FPCOPT+=-FD$(CROSSBINDIR)
  1895. endif
  1896. ifdef COMPILER_TARGETDIR
  1897. override FPCOPT+=-FE$(COMPILER_TARGETDIR)
  1898. ifeq ($(COMPILER_TARGETDIR),.)
  1899. override TARGETDIRPREFIX=
  1900. else
  1901. override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
  1902. endif
  1903. endif
  1904. ifdef COMPILER_UNITTARGETDIR
  1905. override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
  1906. ifeq ($(COMPILER_UNITTARGETDIR),.)
  1907. override UNITTARGETDIRPREFIX=
  1908. else
  1909. override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
  1910. endif
  1911. else
  1912. ifdef COMPILER_TARGETDIR
  1913. override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
  1914. override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
  1915. endif
  1916. endif
  1917. ifeq ($(OS_TARGET),linux)
  1918. ifeq ($(FPC_VERSION),1.0.6)
  1919. override FPCOPTDEF+=HASUNIX
  1920. endif
  1921. endif
  1922. ifdef GCCLIBDIR
  1923. override FPCOPT+=-Fl$(GCCLIBDIR)
  1924. endif
  1925. ifdef OTHERLIBDIR
  1926. override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
  1927. endif
  1928. ifdef OPT
  1929. override FPCOPT+=$(OPT)
  1930. endif
  1931. ifdef FPCOPTDEF
  1932. override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
  1933. endif
  1934. ifdef CFGFILE
  1935. override FPCOPT+=@$(CFGFILE)
  1936. endif
  1937. ifdef USEENV
  1938. override FPCEXTCMD:=$(FPCOPT)
  1939. override FPCOPT:=!FPCEXTCMD
  1940. export FPCEXTCMD
  1941. endif
  1942. override COMPILER:=$(FPC) $(FPCOPT)
  1943. ifeq (,$(findstring -s ,$(COMPILER)))
  1944. EXECPPAS=
  1945. else
  1946. ifeq ($(FULL_SOURCE),$(FULL_TARGET))
  1947. EXECPPAS:=@$(PPAS)
  1948. endif
  1949. endif
  1950. .PHONY: fpc_exes
  1951. ifndef CROSSINSTALL
  1952. ifneq ($(TARGET_PROGRAMS),)
  1953. override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
  1954. override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
  1955. override ALLTARGET+=fpc_exes
  1956. override INSTALLEXEFILES+=$(EXEFILES)
  1957. override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
  1958. ifeq ($(OS_TARGET),os2)
  1959. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  1960. endif
  1961. ifeq ($(OS_TARGET),emx)
  1962. override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
  1963. endif
  1964. endif
  1965. endif
  1966. fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)
  1967. ifdef TARGET_RSTS
  1968. override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
  1969. override CLEANRSTFILES+=$(RSTFILES)
  1970. endif
  1971. .PHONY: fpc_all fpc_smart fpc_debug fpc_release
  1972. $(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
  1973. @$(ECHOREDIR) Compiled > $(FPCMADE)
  1974. fpc_all: $(FPCMADE)
  1975. fpc_smart:
  1976. $(MAKE) all LINKSMART=1 CREATESMART=1
  1977. fpc_debug:
  1978. $(MAKE) all DEBUG=1
  1979. fpc_release:
  1980. $(MAKE) all RELEASE=1
  1981. .SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res
  1982. $(COMPILER_UNITTARGETDIR):
  1983. $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)
  1984. $(COMPILER_TARGETDIR):
  1985. $(MKDIRTREE) $(COMPILER_TARGETDIR)
  1986. %$(PPUEXT): %.pp
  1987. $(COMPILER) $<
  1988. $(EXECPPAS)
  1989. %$(PPUEXT): %.pas
  1990. $(COMPILER) $<
  1991. $(EXECPPAS)
  1992. %$(EXEEXT): %.pp
  1993. $(COMPILER) $<
  1994. $(EXECPPAS)
  1995. %$(EXEEXT): %.pas
  1996. $(COMPILER) $<
  1997. $(EXECPPAS)
  1998. %$(EXEEXT): %.lpr
  1999. $(COMPILER) $<
  2000. $(EXECPPAS)
  2001. %$(EXEEXT): %.dpr
  2002. $(COMPILER) $<
  2003. $(EXECPPAS)
  2004. %.res: %.rc
  2005. windres -i $< -o $@
  2006. vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2007. vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2008. vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2009. vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
  2010. vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)
  2011. vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
  2012. .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
  2013. ifdef INSTALL_UNITS
  2014. override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
  2015. endif
  2016. ifdef INSTALL_BUILDUNIT
  2017. override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
  2018. endif
  2019. ifdef INSTALLPPUFILES
  2020. override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
  2021. ifneq ($(UNITTARGETDIRPREFIX),)
  2022. override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPUFILES)))
  2023. override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(notdir $(INSTALLPPULINKFILES))))
  2024. endif
  2025. override INSTALL_CREATEPACKAGEFPC=1
  2026. endif
  2027. ifdef INSTALLEXEFILES
  2028. ifneq ($(TARGETDIRPREFIX),)
  2029. override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(notdir $(INSTALLEXEFILES)))
  2030. endif
  2031. endif
  2032. fpc_install: all $(INSTALLTARGET)
  2033. ifdef INSTALLEXEFILES
  2034. $(MKDIR) $(INSTALL_BINDIR)
  2035. ifdef UPXPROG
  2036. -$(UPXPROG) $(INSTALLEXEFILES)
  2037. endif
  2038. $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
  2039. endif
  2040. ifdef INSTALL_CREATEPACKAGEFPC
  2041. ifdef FPCMAKE
  2042. ifdef PACKAGE_VERSION
  2043. ifneq ($(wildcard Makefile.fpc),)
  2044. $(FPCMAKE) -p -T$(CPU_TARGET)-$(OS_TARGET) Makefile.fpc
  2045. $(MKDIR) $(INSTALL_UNITDIR)
  2046. $(INSTALL) Package.fpc $(INSTALL_UNITDIR)
  2047. endif
  2048. endif
  2049. endif
  2050. endif
  2051. ifdef INSTALLPPUFILES
  2052. $(MKDIR) $(INSTALL_UNITDIR)
  2053. $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
  2054. ifneq ($(INSTALLPPULINKFILES),)
  2055. $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
  2056. endif
  2057. ifneq ($(wildcard $(LIB_FULLNAME)),)
  2058. $(MKDIR) $(INSTALL_LIBDIR)
  2059. $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
  2060. ifdef inUnix
  2061. ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
  2062. endif
  2063. endif
  2064. endif
  2065. ifdef INSTALL_FILES
  2066. $(MKDIR) $(INSTALL_DATADIR)
  2067. $(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
  2068. endif
  2069. fpc_sourceinstall: distclean
  2070. $(MKDIR) $(INSTALL_SOURCEDIR)
  2071. $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
  2072. fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
  2073. ifdef HASEXAMPLES
  2074. $(MKDIR) $(INSTALL_EXAMPLEDIR)
  2075. endif
  2076. ifdef EXAMPLESOURCEFILES
  2077. $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
  2078. endif
  2079. ifdef TARGET_EXAMPLEDIRS
  2080. $(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
  2081. endif
  2082. .PHONY: fpc_clean fpc_cleanall fpc_distclean
  2083. ifdef EXEFILES
  2084. override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
  2085. endif
  2086. ifdef CLEAN_UNITS
  2087. override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
  2088. endif
  2089. ifdef CLEANPPUFILES
  2090. override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
  2091. ifdef DEBUGSYMEXT
  2092. override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES))
  2093. endif
  2094. override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
  2095. override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
  2096. endif
  2097. fpc_clean: $(CLEANTARGET)
  2098. ifdef CLEANEXEFILES
  2099. -$(DEL) $(CLEANEXEFILES)
  2100. endif
  2101. ifdef CLEANPPUFILES
  2102. -$(DEL) $(CLEANPPUFILES)
  2103. endif
  2104. ifneq ($(CLEANPPULINKFILES),)
  2105. -$(DEL) $(CLEANPPULINKFILES)
  2106. endif
  2107. ifdef CLEANRSTFILES
  2108. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2109. endif
  2110. ifdef CLEAN_FILES
  2111. -$(DEL) $(CLEAN_FILES)
  2112. endif
  2113. ifdef LIB_NAME
  2114. -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
  2115. endif
  2116. -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  2117. -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT)
  2118. fpc_cleanall: $(CLEANTARGET)
  2119. ifdef CLEANEXEFILES
  2120. -$(DEL) $(CLEANEXEFILES)
  2121. endif
  2122. ifdef COMPILER_UNITTARGETDIR
  2123. ifdef CLEANPPUFILES
  2124. -$(DEL) $(CLEANPPUFILES)
  2125. endif
  2126. ifneq ($(CLEANPPULINKFILES),)
  2127. -$(DEL) $(CLEANPPULINKFILES)
  2128. endif
  2129. ifdef CLEANRSTFILES
  2130. -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
  2131. endif
  2132. endif
  2133. -$(DELTREE) units
  2134. -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
  2135. ifneq ($(PPUEXT),.ppu)
  2136. -$(DEL) *.o *.ppu *.a
  2137. endif
  2138. -$(DELTREE) *$(SMARTEXT)
  2139. -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
  2140. -$(DEL) *_ppas$(BATCHEXT)
  2141. ifdef AOUTEXT
  2142. -$(DEL) *$(AOUTEXT)
  2143. endif
  2144. ifdef DEBUGSYMEXT
  2145. -$(DEL) *$(DEBUGSYMEXT)
  2146. endif
  2147. fpc_distclean: cleanall
  2148. .PHONY: fpc_baseinfo
  2149. override INFORULES+=fpc_baseinfo
  2150. fpc_baseinfo:
  2151. @$(ECHO)
  2152. @$(ECHO) == Package info ==
  2153. @$(ECHO) Package Name..... $(PACKAGE_NAME)
  2154. @$(ECHO) Package Version.. $(PACKAGE_VERSION)
  2155. @$(ECHO)
  2156. @$(ECHO) == Configuration info ==
  2157. @$(ECHO)
  2158. @$(ECHO) FPC.......... $(FPC)
  2159. @$(ECHO) FPC Version.. $(FPC_VERSION)
  2160. @$(ECHO) Source CPU... $(CPU_SOURCE)
  2161. @$(ECHO) Target CPU... $(CPU_TARGET)
  2162. @$(ECHO) Source OS.... $(OS_SOURCE)
  2163. @$(ECHO) Target OS.... $(OS_TARGET)
  2164. @$(ECHO) Full Source.. $(FULL_SOURCE)
  2165. @$(ECHO) Full Target.. $(FULL_TARGET)
  2166. @$(ECHO) SourceSuffix. $(SOURCESUFFIX)
  2167. @$(ECHO) TargetSuffix. $(TARGETSUFFIX)
  2168. @$(ECHO)
  2169. @$(ECHO) == Directory info ==
  2170. @$(ECHO)
  2171. @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)
  2172. @$(ECHO)
  2173. @$(ECHO) Basedir......... $(BASEDIR)
  2174. @$(ECHO) FPCDir.......... $(FPCDIR)
  2175. @$(ECHO) CrossBinDir..... $(CROSSBINDIR)
  2176. @$(ECHO) UnitsDir........ $(UNITSDIR)
  2177. @$(ECHO) PackagesDir..... $(PACKAGESDIR)
  2178. @$(ECHO)
  2179. @$(ECHO) GCC library..... $(GCCLIBDIR)
  2180. @$(ECHO) Other library... $(OTHERLIBDIR)
  2181. @$(ECHO)
  2182. @$(ECHO) == Tools info ==
  2183. @$(ECHO)
  2184. @$(ECHO) As........ $(AS)
  2185. @$(ECHO) Ld........ $(LD)
  2186. @$(ECHO) Ar........ $(AR)
  2187. @$(ECHO) Rc........ $(RC)
  2188. @$(ECHO)
  2189. @$(ECHO) Mv........ $(MVPROG)
  2190. @$(ECHO) Cp........ $(CPPROG)
  2191. @$(ECHO) Rm........ $(RMPROG)
  2192. @$(ECHO) GInstall.. $(GINSTALL)
  2193. @$(ECHO) Echo...... $(ECHO)
  2194. @$(ECHO) Shell..... $(SHELL)
  2195. @$(ECHO) Date...... $(DATE)
  2196. @$(ECHO) FPCMake... $(FPCMAKE)
  2197. @$(ECHO) PPUMove... $(PPUMOVE)
  2198. @$(ECHO) Upx....... $(UPXPROG)
  2199. @$(ECHO) Zip....... $(ZIPPROG)
  2200. @$(ECHO)
  2201. @$(ECHO) == Object info ==
  2202. @$(ECHO)
  2203. @$(ECHO) Target Loaders........ $(TARGET_LOADERS)
  2204. @$(ECHO) Target Units.......... $(TARGET_UNITS)
  2205. @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)
  2206. @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)
  2207. @$(ECHO) Target Dirs........... $(TARGET_DIRS)
  2208. @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)
  2209. @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
  2210. @$(ECHO)
  2211. @$(ECHO) Clean Units......... $(CLEAN_UNITS)
  2212. @$(ECHO) Clean Files......... $(CLEAN_FILES)
  2213. @$(ECHO)
  2214. @$(ECHO) Install Units....... $(INSTALL_UNITS)
  2215. @$(ECHO) Install Files....... $(INSTALL_FILES)
  2216. @$(ECHO)
  2217. @$(ECHO) == Install info ==
  2218. @$(ECHO)
  2219. @$(ECHO) DateStr.............. $(DATESTR)
  2220. @$(ECHO) ZipName.............. $(ZIPNAME)
  2221. @$(ECHO) ZipPrefix............ $(ZIPPREFIX)
  2222. @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)
  2223. @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)
  2224. @$(ECHO) FullZipName.......... $(FULLZIPNAME)
  2225. @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)
  2226. @$(ECHO)
  2227. @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)
  2228. @$(ECHO) Install binary dir... $(INSTALL_BINDIR)
  2229. @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)
  2230. @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)
  2231. @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)
  2232. @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)
  2233. @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)
  2234. @$(ECHO) Install data dir..... $(INSTALL_DATADIR)
  2235. @$(ECHO)
  2236. @$(ECHO) Dist destination dir. $(DIST_DESTDIR)
  2237. @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)
  2238. @$(ECHO)
  2239. .PHONY: fpc_info
  2240. fpc_info: $(INFORULES)
  2241. .PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
  2242. fpc_makefile_dirs
  2243. fpc_makefile:
  2244. $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
  2245. fpc_makefile_sub1:
  2246. ifdef TARGET_DIRS
  2247. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
  2248. endif
  2249. ifdef TARGET_EXAMPLEDIRS
  2250. $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
  2251. endif
  2252. fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
  2253. fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
  2254. fpc_makefiles: fpc_makefile fpc_makefile_dirs
  2255. all: fpc_all
  2256. debug: fpc_debug
  2257. smart: fpc_smart
  2258. release: fpc_release
  2259. units: fpc_units
  2260. examples:
  2261. shared:
  2262. install: fpc_install
  2263. sourceinstall: fpc_sourceinstall
  2264. exampleinstall: fpc_exampleinstall
  2265. distinstall:
  2266. zipinstall:
  2267. zipsourceinstall:
  2268. zipexampleinstall:
  2269. zipdistinstall:
  2270. clean: fpc_clean
  2271. distclean: fpc_distclean
  2272. cleanall: fpc_cleanall
  2273. info: fpc_info
  2274. makefiles: fpc_makefiles
  2275. .PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
  2276. ifneq ($(wildcard fpcmake.loc),)
  2277. include fpcmake.loc
  2278. endif