Makefile 75 KB

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