Makefile 69 KB

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