Makefile 59 KB

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