Makefile 71 KB

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