Makefile 55 KB

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