Makefile 67 KB

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