Makefile 56 KB

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