Makefile 70 KB

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