2
0

Makefile 74 KB

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