Makefile 70 KB

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