Makefile 69 KB

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