Makefile 73 KB

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