Makefile 66 KB

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