Makefile 65 KB

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