Makefile 83 KB

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