Makefile 52 KB

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