Makefile 62 KB

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