Makefile 59 KB

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