Makefile 76 KB

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