Makefile 60 KB

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