Makefile 68 KB

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