Makefile 55 KB

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