Makefile 72 KB

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