Makefile 70 KB

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