2
0

Makefile 79 KB

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