Makefile 53 KB

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