diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp index e2ebe0c7bb..e33e23a525 100644 --- a/packages/fpmkunit/src/fpmkunit.pp +++ b/packages/fpmkunit/src/fpmkunit.pp @@ -235,6 +235,7 @@ Const PPExt = '.pp'; IncExt = '.inc'; ObjExt = '.o'; + LTOExt = '.bc'; RstExt = '.rst'; RsjExt = '.rsj'; LibExt = '.a'; @@ -623,6 +624,7 @@ Type Function GetUnitFileName : String; virtual; function GetUnitLibFileName(AOS: TOS): String; virtual; Function GetObjectFileName : String; virtual; + Function GetLTOFileName : String; virtual; Function GetBinFileBase: String; function GetRSTFileName : String; Virtual; function GetRSJFileName : String; Virtual; @@ -654,6 +656,7 @@ Type Property SourceFileName: String Read GetSourceFileName ; Property UnitFileName : String Read GetUnitFileName; Property ObjectFileName : String Read GetObjectFileName; + Property LTOFileName : String Read GetLTOFileName; Property RSTFileName : String Read GetRSTFileName; Property RSJFileName : String Read GetRSJFileName; Property FPCTarget : String Read FFPCTarget Write FFPCTarget; @@ -8659,6 +8662,12 @@ begin end; +function TTarget.GetLTOFileName: String; +begin + Result:=Name+LTOExt; +end; + + function TTarget.GetRSTFileName: String; begin Result:=Name+RSText; @@ -8756,6 +8765,7 @@ begin If not(ACPU in CPUs) or not(AOS in OSes) then exit; List.Add(APrefixU + ObjectFileName); + List.Add(APrefixU + LTOFileName); If (TargetType in [ttUnit,ttImplicitUnit,ttExampleUnit, ttCleanOnlyUnit]) then begin List.Add(APrefixU + UnitFileName); @@ -8808,9 +8818,14 @@ var UnitsDir : string; begin UnitsDir := Installer.BuildEngine.AddPathPrefix(nil, APrefixU); - If Not (TargetType in [ttProgram,ttSharedLibrary,ttExampleProgram]) and FileExists(UnitsDir + ObjectFileName) then - // The compiler does not create an objectfile for all programs. - List.Add(APrefixU + ObjectFileName); + If Not (TargetType in [ttProgram,ttSharedLibrary,ttExampleProgram]) then + begin + // The compiler does not create an objectfile for all programs. + if FileExists(UnitsDir + ObjectFileName) then + List.Add(APrefixU + ObjectFileName); + if FileExists(UnitsDir + LTOFileName) then + List.Add(APrefixU + LTOFileName); + end; If (TargetType in [ttUnit,ttImplicitUnit,ttExampleUnit]) then begin List.Add(APrefixU + UnitFileName); diff --git a/utils/fpcm/fpcmake.inc b/utils/fpcm/fpcmake.inc index 6bf56d7cce..0e2d68ddbc 100644 --- a/utils/fpcm/fpcmake.inc +++ b/utils/fpcm/fpcmake.inc @@ -1,7 +1,7 @@ {$ifdef Delphi} -const fpcmakeini : array[0..244] of string[240]=( +const fpcmakeini : array[0..245] of string[240]=( {$else Delphi} -const fpcmakeini : array[0..244,1..240] of char=( +const fpcmakeini : array[0..245,1..240] of char=( {$endif Delphi} ';'#010+ '; Templates used by fpcmake to create a Makefile from Makefile.fpc'#010+ @@ -926,8 +926,9 @@ const fpcmakeini : array[0..244,1..240] of char=( 'PPLEXT=.ppl'#010+ 'PPUEXT=.ppu'#010+ 'OEXT=.o'#010+ - 'ASMEXT=.s'#010+ - 'SMARTEXT=','.sl'#010+ + 'LTOEXT=.bc'#010+ + 'ASMEXT=.','s'#010+ + 'SMARTEXT=.sl'#010+ 'STATICLIBEXT=.a'#010+ 'SHAREDLIBEXT=.so'#010+ 'SHAREDLIBPREFIX=libfp'#010+ @@ -936,8 +937,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'RSTEXT=.rst'#010+ '# external debug info for executable'#010+ 'EXEDBGEXT=.dbg'#010+ - '#DEBUGSYMEXT #for debugger symbol files, define only for targets which'+ - ' ha','s this'#010+ + '#DEBUGSYMEXT #for debugger symbol files, define only for targe','ts whi'+ + 'ch has this'#010+ #010+ '# Go32v1'#010+ 'ifeq ($(OS_TARGET),go32v1)'#010+ @@ -954,9 +955,9 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# watcom'#010+ 'ifeq ($(OS_TARGET),watcom)'#010+ - 'STATICLIBPREFIX='#010+ + 'STATICLIBPREFIX='#010, 'OEXT=.obj'#010+ - 'A','SMEXT=.asm'#010+ + 'ASMEXT=.asm'#010+ 'SHAREDLIBEXT=.dll'#010+ 'SHORTSUFFIX=wat'#010+ 'IMPORTLIBPREFIX='#010+ @@ -973,8 +974,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Linux'#010+ - 'ifeq ($(OS_TARGET),linux)'#010+ - 'B','ATCHEXT=.sh'#010+ + 'ifeq ($(OS_TARGE','T),linux)'#010+ + 'BATCHEXT=.sh'#010+ 'EXEEXT='#010+ 'HASSHAREDLIB=1'#010+ 'SHORTSUFFIX=lnx'#010+ @@ -992,8 +993,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'ifeq ($(OS_TARGET),freebsd)'#010+ 'BATCHEXT=.sh'#010+ 'EXEEXT='#010+ - 'HASSHAREDLIB=1'#010+ - 'SHOR','TSUFFIX=fbs'#010+ + 'HASSHARE','DLIB=1'#010+ + 'SHORTSUFFIX=fbs'#010+ 'endif'#010+ #010+ '# NetBSD'#010+ @@ -1013,7 +1014,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Win32'#010+ - 'ifeq ($(OS_TARGET),wi','n32)'#010+ + 'ifeq ($(OS','_TARGET),win32)'#010+ 'SHAREDLIBEXT=.dll'#010+ 'SHORTSUFFIX=w32'#010+ 'endif'#010+ @@ -1031,8 +1032,8 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# EMX'#010+ 'ifeq ($(OS_TARGET),emx)'#010+ - 'BATCHEXT=.cmd'#010+ - 'AOUTEXT','=.out'#010+ + 'BATCHEXT=.','cmd'#010+ + 'AOUTEXT=.out'#010+ 'STATICLIBPREFIX='#010+ 'SHAREDLIBEXT=.dll'#010+ 'SHORTSUFFIX=emx'#010+ @@ -1050,7 +1051,7 @@ const fpcmakeini : array[0..244,1..240] of char=( '# AROS'#010+ 'ifeq ($(OS_TARGET),aros)'#010+ 'EXEEXT='#010+ - 'SHAREDLIBEXT=.library'#010, + 'SHAREDLIBEX','T=.library'#010+ 'SHORTSUFFIX=aros'#010+ 'endif'#010+ #010+ @@ -1069,9 +1070,9 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# BeOS'#010+ 'ifeq ($(OS_TARGET),beos)'#010+ - 'BATCHEXT=.sh'#010+ + 'BATCHEXT=.sh'#010, 'EXEEXT='#010+ - 'SHO','RTSUFFIX=be'#010+ + 'SHORTSUFFIX=be'#010+ 'endif'#010+ #010+ '# Haiku'#010+ @@ -1091,8 +1092,8 @@ const fpcmakeini : array[0..244,1..240] of char=( '# QNX'#010+ 'ifeq ($(OS_TARGET),qnx)'#010+ 'BATCHEXT=.sh'#010+ - 'EXEEXT='#010+ - 'SHORTSUFFI','X=qnx'#010+ + 'EXEEXT=',#010+ + 'SHORTSUFFIX=qnx'#010+ 'endif'#010+ #010+ '# Netware clib'#010+ @@ -1108,8 +1109,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'EXEEXT=.nlm'#010+ 'STATICLIBPREFIX='#010+ 'SHORTSUFFIX=nwl'#010+ - 'IMPORTLIBPREFIX=imp'#010+ - 'endi','f'#010+ + 'IMPORTLIBPREF','IX=imp'#010+ + 'endif'#010+ #010+ '# MacOS'#010+ 'ifeq ($(OS_TARGET),macos)'#010+ @@ -1125,8 +1126,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'BATCHEXT=.sh'#010+ 'EXEEXT='#010+ 'HASSHAREDLIB=1'#010+ - 'SHORTSUFFIX=dwn'#010+ - 'EXEDBGEXT','=.dSYM'#010+ + 'SHORTSUFFIX=dw','n'#010+ + 'EXEDBGEXT=.dSYM'#010+ 'endif'#010+ #010+ '# gba'#010+ @@ -1144,7 +1145,7 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# NativeNT'#010+ 'ifeq ($(OS_TARGET),NativeNT)'#010+ - 'SHAREDLIBEXT=.dll'#010, + 'SHAREDL','IBEXT=.dll'#010+ 'SHORTSUFFIX=nativent'#010+ 'endif'#010+ #010+ @@ -1164,8 +1165,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Java'#010+ - 'ifeq ($(OS_TARGET),java)'#010+ - 'OEXT=.cl','ass'#010+ + 'ifeq ($(OS_TARGET),jav','a)'#010+ + 'OEXT=.class'#010+ 'ASMEXT=.j'#010+ 'SHAREDLIBEXT=.jar'#010+ 'SHORTSUFFIX=java'#010+ @@ -1182,8 +1183,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# MS-DOS'#010+ - 'ifeq ($(OS_TARGET),msdos)'#010+ - 'STATICLI','BPREFIX='#010+ + 'ifeq ($(OS_TARGET),msdo','s)'#010+ + 'STATICLIBPREFIX='#010+ 'STATICLIBEXT=.a'#010+ 'SHORTSUFFIX=d16'#010+ 'endif'#010+ @@ -1201,7 +1202,7 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# Win16'#010+ 'ifeq ($(OS_TARGET),win16)'#010+ - 'STATICLIBPRE','FIX='#010+ + 'S','TATICLIBPREFIX='#010+ 'STATICLIBEXT=.a'#010+ 'SHAREDLIBEXT=.dll'#010+ 'SHORTSUFFIX=w16'#010+ @@ -1211,8 +1212,8 @@ const fpcmakeini : array[0..244,1..240] of char=( '# For 8.3 limited OS'#039's the short suffixes'#010+ '# Otherwise use the full source/target names'#010+ 'ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)'#010+ - 'FPCMADE=fpcmade.$(SHORTSUFFIX)'#010+ - 'ZIPSUFFIX=','$(SHORTSUFFIX)'#010+ + 'FPCMADE=fpcmade.$(SHORTSUFFIX)',#010+ + 'ZIPSUFFIX=$(SHORTSUFFIX)'#010+ 'ZIPCROSSPREFIX='#010+ 'ZIPSOURCESUFFIX=src'#010+ 'ZIPEXAMPLESUFFIX=exm'#010+ @@ -1222,8 +1223,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'ZIPEXAMPLESUFFIX=.examples'#010+ 'ifdef CROSSCOMPILE'#010+ 'ZIPSUFFIX=.$(SOURCESUFFIX)'#010+ - 'ZIPCROSSPREFIX=$(TARGETSUFFIX)-'#010+ - 'el','se'#010+ + 'ZIPCROSSPREFIX=$(TARGET','SUFFIX)-'#010+ + 'else'#010+ 'ZIPSUFFIX=.$(TARGETSUFFIX)'#010+ 'ZIPCROSSPREFIX='#010+ 'endif'#010+ @@ -1232,9 +1233,10 @@ const fpcmakeini : array[0..244,1..240] of char=( '[defaulttools]'#010+ '#####################################################################'#010+ '# Default Tools'#010+ - '#####################################################################'#010+ + '#####################################################################', #010+ - '# Names o','f the binutils tools'#010+ + #010+ + '# Names of the binutils tools'#010+ 'ASNAME=$(BINUTILSPREFIX)as'#010+ 'LDNAME=$(BINUTILSPREFIX)ld'#010+ 'ARNAME=$(BINUTILSPREFIX)ar'#010+ @@ -1243,8 +1245,8 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# assembler, redefine it if cross compiling'#010+ 'ifndef ASPROG'#010+ - 'ifdef CROSSBINDIR'#010+ - 'ASP','ROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)'#010+ + 'ifdef CROS','SBINDIR'#010+ + 'ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)'#010+ 'else'#010+ 'ASPROG=$(ASNAME)'#010+ 'endif'#010+ @@ -1259,8 +1261,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ 'endif'#010+ #010+ - '# Resource compiler'#010+ - 'i','fndef RCPROG'#010+ + '# Resource',' compiler'#010+ + 'ifndef RCPROG'#010+ 'ifdef CROSSBINDIR'#010+ 'RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)'#010+ 'else'#010+ @@ -1275,9 +1277,9 @@ const fpcmakeini : array[0..244,1..240] of char=( 'else'#010+ 'ARPROG=$(ARNAME)'#010+ 'endif'#010+ - 'endif'#010+ + 'endi','f'#010+ #010+ - '# NASM a','ssembler, redefine it if cross compiling'#010+ + '# NASM assembler, redefine it if cross compiling'#010+ 'ifndef NASMPROG'#010+ 'ifdef CROSSBINDIR'#010+ 'NASMPROG=$(CROSSBINDIR)/$(NASMNAME)$(SRCEXEEXT)'#010+ @@ -1290,8 +1292,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'AS=$(ASPROG)'#010+ 'LD=$(LDPROG)'#010+ 'RC=$(RCPROG)'#010+ - 'AR=$(ARPROG)'#010+ - 'NASM=$','(NASMPROG)'#010+ + 'AR=$(ARP','ROG)'#010+ + 'NASM=$(NASMPROG)'#010+ #010+ '# ppas.bat / ppas.sh'#010+ 'ifdef inUnix'#010+ @@ -1308,8 +1310,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ 'ifdef DATE'#010+ - 'DATESTR:=$(shell $(DATE) +%Y%m%d)'#010+ - 'el','se'#010+ + 'DATESTR:=$(shell $(DATE) ','+%Y%m%d)'#010+ + 'else'#010+ 'DATESTR='#010+ 'endif'#010+ #010+ @@ -1328,15 +1330,15 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ #010+ '[command_begin]'#010+ - '#####################################################################', - #010+ + '##########################################################','##########'+ + '#'#010+ '# Compiler Command Line'#010+ '#####################################################################'#010+ #010+ '# Load commandline OPTDEF and add FPC_CPU define, for compiling the'#010+ '# compiler this needs to be turned off'#010+ 'ifndef NOCPUDEF'#010+ - 'override FPCOPTDEF=$(','ARCH)'#010+ + 'override F','PCOPTDEF=$(ARCH)'#010+ 'endif'#010+ #010+ #010+ @@ -1349,7 +1351,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'override FPCOPT+=-P$(ARCH)'#010+ 'endif'#010+ #010+ - 'ifeq ($(OS_SOURCE),op','enbsd)'#010+ + 'ifeq ($(OS','_SOURCE),openbsd)'#010+ 'override FPCOPT+=-FD$(NEW_BINUTILS_PATH)'#010+ 'override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH)'#010+ 'override FPMAKE_BUILD_OPT+=-FD$(NEW_BINUTILS_PATH)'#010+ @@ -1357,8 +1359,8 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ 'ifndef CROSSBOOTSTRAP'#010+ 'ifneq ($(BINUTILSPREFIX),)'#010+ - 'override FPCOPT+=-XP$(BINUTILSPREFIX)'#010+ - 'en','dif'#010+ + 'override FPCOPT+=-XP$(BINUTIL','SPREFIX)'#010+ + 'endif'#010+ 'ifneq ($(BINUTILSPREFIX),)'#010+ 'override FPCOPT+=-Xr$(RLINKPATH)'#010+ 'endif'#010+ @@ -1368,7 +1370,7 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# it while compiling the fpmake file. (For example to build i386-freeb'+ 'sd'#010+ - '# with BINUTILSPREF','IX=i386-)'#010+ + '# with B','INUTILSPREFIX=i386-)'#010+ 'ifndef CROSSCOMPILE'#010+ 'ifneq ($(BINUTILSPREFIX),)'#010+ 'override FPCMAKEOPT+=-XP$(BINUTILSPREFIX)'#010+ @@ -1377,8 +1379,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# User dirs should be first, so they are looked at first'#010+ - 'ifdef UNITDIR'#010+ - 'override ','FPCOPT+=$(addprefix -Fu,$(UNITDIR))'#010+ + 'ifdef UNITDI','R'#010+ + 'override FPCOPT+=$(addprefix -Fu,$(UNITDIR))'#010+ 'endif'#010+ 'ifdef LIBDIR'#010+ 'override FPCOPT+=$(addprefix -Fl,$(LIBDIR))'#010+ @@ -1388,9 +1390,9 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ 'ifdef INCDIR'#010+ 'override FPCOPT+=$(addprefix -Fi,$(INCDIR))'#010+ - 'endif'#010+ + 'endi','f'#010+ #010+ - '# Smartl','inking'#010+ + '# Smartlinking'#010+ 'ifdef LINKSMART'#010+ 'override FPCOPT+=-XX'#010+ 'endif'#010+ @@ -1407,7 +1409,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Release mode'#010+ - '# (strip, optimize and don'#039't l','oad fpc.cfg)'#010+ + '# (strip, optimize ','and don'#039't load fpc.cfg)'#010+ '# fpc 2.1 has -O2 for all targets'#010+ 'ifdef RELEASE'#010+ 'ifneq ($(findstring 2.0.,$(FPC_VERSION)),)'#010+ @@ -1419,8 +1421,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ 'else'#010+ 'FPCCPUOPT:=-O2'#010+ - 'endif'#010+ - 'override ','FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n'#010+ + 'endi','f'#010+ + 'override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n'#010+ 'override FPCOPTDEF+=RELEASE'#010+ 'endif'#010+ #010+ @@ -1436,7 +1438,7 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# Verbose settings (warning,note,info)'#010+ 'ifdef VERBOSE'#010+ - 'override FPCOPT+=','-vwni'#010+ + 'overri','de FPCOPT+=-vwni'#010+ 'endif'#010+ #010+ '# Needed compiler options'#010+ @@ -1447,7 +1449,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))'#010+ 'endif'#010+ 'ifdef COMPILER_LIBRARYDIR'#010+ - 'override FPCOPT+=$(addpref','ix -Fl,$(COMPILER_LIBRARYDIR))'#010+ + 'override FPCOPT','+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))'#010+ 'endif'#010+ 'ifdef COMPILER_OBJECTDIR'#010+ 'override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))'#010+ @@ -1456,8 +1458,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))'#010+ 'endif'#010+ #010+ - '# Cross compiler utils'#010+ - 'ifd','ef CROSSBINDIR'#010+ + '# Cross compile','r utils'#010+ + 'ifdef CROSSBINDIR'#010+ 'override FPCOPT+=-FD$(CROSSBINDIR)'#010+ 'endif'#010+ #010+ @@ -1465,8 +1467,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'ifdef COMPILER_TARGETDIR'#010+ 'override FPCOPT+=-FE$(COMPILER_TARGETDIR)'#010+ 'ifeq ($(COMPILER_TARGETDIR),.)'#010+ - 'override TARGETDIRPREFIX='#010+ - 'else'#010, + 'override TARGETDIRPR','EFIX='#010+ + 'else'#010+ 'override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/'#010+ 'endif'#010+ 'endif'#010+ @@ -1475,7 +1477,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'ifdef COMPILER_UNITTARGETDIR'#010+ 'override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)'#010+ 'ifeq ($(COMPILER_UNITTARGETDIR),.)'#010+ - 'override UNITTARGETDI','RPREFIX='#010+ + 'override U','NITTARGETDIRPREFIX='#010+ 'else'#010+ 'override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/'#010+ 'endif'#010+ @@ -1486,7 +1488,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ 'endif'#010+ #010+ - 'ifdef CREATESHARED'#010, + 'ifdef CR','EATESHARED'#010+ 'override FPCOPT+=-Cg'#010+ 'endif'#010+ #010+ @@ -1494,7 +1496,7 @@ const fpcmakeini : array[0..244,1..240] of char=( '# on unix-like systems'#010+ 'ifneq ($(findstring $(OS_TARGET),dragonfly freebsd openbsd netbsd linu'+ 'x solaris),)'#010+ - 'ifneq ($(findstring $(CPU_TARGET),x86_64 mips mipse','l),)'#010+ + 'ifneq ($(findstring $(CPU_TARGET),x86_64',' mips mipsel),)'#010+ 'override FPCOPT+=-Cg'#010+ 'endif'#010+ 'endif'#010+ @@ -1510,7 +1512,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'override FPCOPT+=-Fl$(GCCLIBDIR)'#010+ 'endif'#010+ 'ifdef OTHERLIBDIR'#010+ - 'override FPC','OPT+=$(addprefix -Fl,$(OTHERLIBDIR))'#010+ + 'o','verride FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))'#010+ 'endif'#010+ #010+ #010+ @@ -1521,7 +1523,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Override options to compile the fpmake-binary with command-line opti'+ - 'ons provided in FP','MAKEBUILDOPT'#010+ + 'ons pro','vided in FPMAKEBUILDOPT'#010+ 'ifdef FPMAKEBUILDOPT'#010+ 'override FPMAKE_BUILD_OPT+=$(FPMAKEBUILDOPT)'#010+ 'endif'#010+ @@ -1532,7 +1534,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Was a config file specified ?'#010+ - 'ifdef CFGFILE'#010, + 'ifd','ef CFGFILE'#010+ 'override FPCOPT+=@$(CFGFILE)'#010+ 'endif'#010+ #010+ @@ -1543,8 +1545,8 @@ const fpcmakeini : array[0..244,1..240] of char=( 'export FPCEXTCMD'#010+ 'endif'#010+ #010+ - 'override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)'#010+ - 'override ','AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)'#010+ + 'override AFULL_TARGET=$(CPU_TARGET)-$(OS_TARGET',')'#010+ + 'override AFULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)'#010+ #010+ 'ifneq ($(AFULL_TARGET),$(AFULL_SOURCE))'#010+ 'override ACROSSCOMPILE=1'#010+ @@ -1555,16 +1557,16 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Compiler commandline'#010+ - 'override COMPILER:=$(strip $(FPC) $(FPCOPT))'#010+ + 'override COMPILER:=$(strip $(FPC) $(F','PCOPT))'#010+ #010+ - '# ','also call ppas if with command option -s'#010+ + '# also call ppas if with command option -s'#010+ '# but only if the FULL_SOURCE and FULL_TARGET are equal'#010+ '# or if -sh is used'#010+ 'ifneq (,$(findstring -sh ,$(COMPILER)))'#010+ 'UseEXECPPAS=1'#010+ 'endif'#010+ 'ifneq (,$(findstring -s ,$(COMPILER)))'#010+ - 'ifeq ($(FULL_SOURCE),$(F','ULL_TARGET))'#010+ + 'ifeq ($(FULL_','SOURCE),$(FULL_TARGET))'#010+ 'UseEXECPPAS=1'#010+ 'endif'#010+ 'endif'#010+ @@ -1580,7 +1582,7 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ #010+ '[loaderrules]'#010+ - '###############################################################','#####'+ + '####################################################','################'+ '#'#010+ '# Loaders'#010+ '#####################################################################'#010+ @@ -1590,7 +1592,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'ifneq ($(TARGET_LOADERS),)'#010+ 'override ALLTARGET+=fpc_loaders'#010+ 'override CLEANTARGET+=fpc_loaders_clean'#010+ - 'override INSTALLTARGET+=fpc_load','ers_install'#010+ + 'override INSTALLTARGE','T+=fpc_loaders_install'#010+ #010+ 'override LOADEROFILES:=$(addsuffix $(OEXT),$(TARGET_LOADERS))'#010+ 'endif'#010+ @@ -1600,9 +1602,9 @@ const fpcmakeini : array[0..244,1..240] of char=( ' $(AS) -o $(COMPILER_UNITTARGETDIR)/$*$(OEXT) $<'#010+ 'else'#010+ ' $(AS) -o $*$(OEXT) $<'#010+ - 'endif'#010+ + 'end','if'#010+ #010+ - 'fpc_loa','ders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)'#010+ + 'fpc_loaders: $(COMPILER_UNITTARGETDIR) $(LOADEROFILES)'#010+ #010+ 'fpc_loaders_clean:'#010+ 'ifdef COMPILER_UNITTARGETDIR'#010+ @@ -1612,8 +1614,8 @@ const fpcmakeini : array[0..244,1..240] of char=( ' -$(DEL) $(LOADEROFILES)'#010+ 'endif'#010+ #010+ - 'fpc_loaders_install:'#010+ - ' ',' $(MKDIR) $(INSTALL_UNITDIR)'#010+ + 'fpc_loaders_inst','all:'#010+ + ' $(MKDIR) $(INSTALL_UNITDIR)'#010+ 'ifdef COMPILER_UNITTARGETDIR'#010+ ' $(INSTALL) $(addprefix $(COMPILER_UNITTARGETDIR)/,$(LOADEROFIL'+ 'ES)) $(INSTALL_UNITDIR)'#010+ @@ -1622,22 +1624,21 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ #010+ - '[unitrules]'#010+ - '########','############################################################'+ - '#'#010+ + '[unitrule','s]'#010+ + '#####################################################################'#010+ '# Units'#010+ '#####################################################################'#010+ #010+ '.PHONY: fpc_units'#010+ #010+ 'ifneq ($(TARGET_UNITS)$(TARGET_IMPLICITUNITS),)'#010+ - 'override ALLTARGET+=fpc_units'#010+ + 'override ALLTARGET+=f','pc_units'#010+ #010+ - 'o','verride UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))'#010+ + 'override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))'#010+ 'override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITU'+ 'NITS))'#010+ 'override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)'#010+ - 'override CLEANPPUFILES+=$(UNITPPUFILE','S) $(IMPLICITUNITPPUFILES)'#010+ + 'override CLEANPPUFILES+=$(','UNITPPUFILES) $(IMPLICITUNITPPUFILES)'#010+ 'endif'#010+ #010+ 'fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES)'#010+ @@ -1646,7 +1647,7 @@ const fpcmakeini : array[0..244,1..240] of char=( '[exerules]'#010+ '#####################################################################'#010+ '# Exes'#010+ - '###############################################################','#####'+ + '####################################################','################'+ '#'#010+ #010+ '.PHONY: fpc_exes'#010+ @@ -1655,18 +1656,18 @@ const fpcmakeini : array[0..244,1..240] of char=( 'ifndef CROSSINSTALL'#010+ 'ifneq ($(TARGET_PROGRAMS),)'#010+ 'override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))'#010+ - 'override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRA','MS)) $(addpre'+ - 'fix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))'+ - ') $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_'+ - 'PROGRAMS)))'#010+ - 'override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS))'#010+ + 'override EXEOFILES:=$(addsuffix $(OEXT),$(TA','RGET_PROGRAMS)) $(addsuf'+ + 'fix $(LTOEXT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(adds'+ + 'uffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREF'+ + 'IX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))'#010+ + 'override EXEDBGFILES:=$','(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS))'#010+ #010+ - 'overrid','e ALLTARGET+=fpc_exes'#010+ + 'override ALLTARGET+=fpc_exes'#010+ 'override INSTALLEXEFILES+=$(EXEFILES)'#010+ 'override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)'#010+ 'override CLEANEXEDBGFILES+=$(EXEDBGFILES)'#010+ 'ifeq ($(OS_TARGET),os2)'#010+ - 'override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS)',')'#010+ + 'override CLEA','NEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))'#010+ 'endif'#010+ 'ifeq ($(OS_TARGET),emx)'#010+ 'override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))'#010+ @@ -1674,65 +1675,65 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ 'endif'#010+ #010+ - 'fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)'#010+ + 'fpc_exes: $(COMPILER_TARGETDIR) $(COMPILER_UNITTARGETDIR) $(EXEFILES)'#010, #010+ #010+ '[rstrules]'#010+ - '#######################################','#############################'+ - '#'#010+ + '#####################################################################'#010+ '# Resource strings'#010+ '#####################################################################'#010+ #010+ 'ifdef TARGET_RSTS'#010+ - 'override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))'#010+ + 'override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_','RSTS))'#010+ #010+ 'override CLEANRSTFILES+=$(RSTFILES)'#010+ 'endif'#010+ #010+ - #010, + #010+ '[examplerules]'#010+ '#####################################################################'#010+ '# Examples'#010+ '#####################################################################'#010+ #010+ - '.PHONY: fpc_examples'#010+ + '.PHONY: fpc_examples'#010, #010+ 'ifneq ($(TARGET_EXAMPLES),)'#010+ 'HASEXAMPLES=1'#010+ - 'override ','EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXA'+ - 'MPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET'+ - '_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))'#010+ - 'override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLE','S))'#010+ - 'override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addp'+ - 'refix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES'+ - '))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGE'+ - 'T_EXAMPLES)))'#010+ - 'override EXA','MPLEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_EXAMPLES'+ - '))'#010+ + 'override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMP'+ + 'LES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET_E'+ + 'XAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES)))'#010+ + 'override ','EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))'#010+ + 'override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(adds'+ + 'uffix $(LTOEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(a'+ + 'ddsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))',') $(addprefix $(IMPORTLI'+ + 'BPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))'#010+ + 'override EXAMPLEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_EXAMPLES))'+ + #010+ #010+ 'override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)'#010+ - 'override CLEANEXEDBGFILES+=$(EXAMPLEDBGFILES)'#010+ + 'override CLEANEXEDBGFILES+=$(','EXAMPLEDBGFILES)'#010+ 'ifeq ($(OS_TARGET),os2)'#010+ - 'override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARG','ET_EXAMPLES))'#010+ + 'override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))'#010+ 'endif'#010+ 'ifeq ($(OS_TARGET),emx)'#010+ 'override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))'#010+ 'endif'#010+ 'endif'#010+ - 'ifneq ($(TARGET_EXAMPLEDIRS),)'#010+ + 'ifneq ($(TARGET_EXAMPLE','DIRS),)'#010+ 'HASEXAMPLES=1'#010+ 'endif'#010+ #010+ - 'fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMP','LED'+ - 'IRS))'#010+ + 'fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIR'+ + 'S))'#010+ #010+ #010+ '[compilerules]'#010+ '#####################################################################'#010+ '# General compile rules'#010+ - '#####################################################################'#010+ + '##########################','##########################################'+ + '#'#010+ #010+ - '.PHONY: fpc_all fpc_smart fpc_debug fpc_release f','pc_shared'#010+ + '.PHONY: fpc_all fpc_smart fpc_debug fpc_release fpc_shared'#010+ #010+ '$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)'#010+ ' @$(ECHOREDIR) Compiled > $(FPCMADE)'#010+ @@ -1740,21 +1741,22 @@ const fpcmakeini : array[0..244,1..240] of char=( 'fpc_all: $(FPCMADE)'#010+ #010+ 'fpc_smart:'#010+ - ' $(MAKE) all LINKSMART=1 CREATESMART=1'#010+ + ' $(MAKE',') all LINKSMART=1 CREATESMART=1'#010+ #010+ 'fpc_debug:'#010+ ' $(MAKE) all DEBUG=1'#010+ #010+ 'fpc_release:'#010+ - ' ','$(MAKE) all RELEASE=1'#010+ + ' $(MAKE) all RELEASE=1'#010+ #010+ '# General compile rules, available for both possible .pp and .pas exte'+ 'nsions'#010+ #010+ - '.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res'#010+ + '.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) $(LTOE','XT) .pas .lpr .dpr .pp '+ + '.rc .res'#010+ #010+ '$(COMPILER_UNITTARGETDIR):'#010+ - ' $(MKDIRTREE) $(COMPILER_UNITTARGETDI','R)'#010+ + ' $(MKDIRTREE) $(COMPILER_UNITTARGETDIR)'#010+ #010+ '$(COMPILER_TARGETDIR):'#010+ ' $(MKDIRTREE) $(COMPILER_TARGETDIR)'#010+ @@ -1763,13 +1765,13 @@ const fpcmakeini : array[0..244,1..240] of char=( ' $(COMPILER) $<'#010+ ' $(EXECPPAS)'#010+ #010+ - '%$(PPUEXT): %.pas'#010+ + '%$(P','PUEXT): %.pas'#010+ ' $(COMPILER) $<'#010+ ' $(EXECPPAS)'#010+ #010+ '%$(EXEEXT): %.pp'#010+ ' $(COMPILER) $<'#010+ - ' ',' $(EXECPPAS)'#010+ + ' $(EXECPPAS)'#010+ #010+ '%$(EXEEXT): %.pas'#010+ ' $(COMPILER) $<'#010+ @@ -1777,30 +1779,31 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '%$(EXEEXT): %.lpr'#010+ ' $(COMPILER) $<'#010+ - ' $(EXECPPAS)'#010+ + ' $(EXECPPAS',')'#010+ #010+ '%$(EXEEXT): %.dpr'#010+ ' $(COMPILER) $<'#010+ ' $(EXECPPAS)'#010+ #010+ '%.res: %.rc'#010+ - ' windres -i $< -o $@',#010+ + ' windres -i $< -o $@'#010+ #010+ '# Search paths for .ppu, .pp, .pas, .lpr, .dpr'#010+ 'vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ - 'vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ + 'vpath %.pas $(COMPILER_SOURCEDI','R) $(COMPILER_INCLUDEDIR)'#010+ 'vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ - 'vpath %.dpr $(COMPILE','R_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ + 'vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)'#010+ 'vpath %.inc $(COMPILER_INCLUDEDIR)'#010+ 'vpath %$(OEXT) $(COMPILER_UNITTARGETDIR)'#010+ + 'vpath %$(LTOEXT) $(COMPI','LER_UNITTARGETDIR)'#010+ 'vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)'#010+ #010+ '[sharedrules]'#010+ - '#####################################################################'#010, + '#####################################################################'#010+ '# Library'#010+ '#####################################################################'#010+ #010+ - '.PHONY: fpc_shared'#010+ + '.PHONY: fpc_','shared'#010+ #010+ 'override INSTALLTARGET+=fpc_shared_install'#010+ #010+ @@ -1809,27 +1812,27 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ 'ifndef SHARED_LIBNAME'#010+ - 'SHARED_L','IBNAME=$(PACKAGE_NAME)'#010+ + 'SHARED_LIBNAME=$(PACKAGE_NAME)'#010+ 'endif'#010+ #010+ 'ifndef SHARED_FULLNAME'#010+ - 'SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHARED_LIBNAME)-$(SHARED_LIBVERSIO'+ - 'N)$(SHAREDLIBEXT)'#010+ + 'SHARED_FULLNAME=$(SHAREDLIBPREFIX)$(SHAR','ED_LIBNAME)-$(SHARED_LIBVERS'+ + 'ION)$(SHAREDLIBEXT)'#010+ 'endif'#010+ #010+ '# Default sharedlib units are all unit objects'#010+ 'ifndef SHARED_LIBUNITS'#010+ - 'SHARED_LIBUNITS:=$(TAR','GET_UNITS) $(TARGET_IMPLICITUNITS)'#010+ - 'override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT),$(SHARED_L'+ - 'IBUNITS))'#010+ + 'SHARED_LIBUNITS:=$(TARGET_UNITS) $(TARGET_IMPLICITUNITS)'#010+ + 'override SHARED_LIBUNITS:=$(filter-out $(INSTALL_BUILDUNIT','),$(SHARED'+ + '_LIBUNITS))'#010+ 'endif'#010+ #010+ 'fpc_shared:'#010+ 'ifdef HASSHAREDLIB'#010+ ' $(MAKE) all CREATESHARED=1 LINKSHARED=1 CREATESMART=1'#010+ - 'ifneq ($(SHARED_BUILD),n)',#010+ + 'ifneq ($(SHARED_BUILD),n)'#010+ ' $(PPUMOVE) -q $(SHARED_LIBUNITS) -i$(COMPILER_UNITTARGETDIR) -'+ - 'o$(SHARED_FULLNAME) -d$(COMPILER_UNITTARGETDIR)'#010+ + 'o$(SHARED_FULLNAME) -d','$(COMPILER_UNITTARGETDIR)'#010+ 'endif'#010+ 'else'#010+ ' @$(ECHO) Shared Libraries not supported'#010+ @@ -1837,50 +1840,52 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ 'fpc_shared_install:'#010+ 'ifneq ($(SHARED_BUILD),n)'#010+ - 'ifneq ($(','SHARED_LIBUNITS),)'#010+ + 'ifneq ($(SHARED_LIBUNITS),)'#010+ 'ifneq ($(wildcard $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME)),)'#010+ - ' $(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(INST'+ - 'ALL_SHAREDDIR)'#010+ + ' ','$(INSTALL) $(COMPILER_UNITTARGETDIR)/$(SHARED_FULLNAME) $(IN'+ + 'STALL_SHAREDDIR)'#010+ 'endif'#010+ 'endif'#010+ 'endif'#010+ #010+ '[installrules]'#010+ - '####################################','################################'+ - '#'#010+ - '# Install rules'#010+ '#####################################################################'#010+ + '# Install rules'#010+ + '###########################################','#########################'+ + '#'#010+ #010+ '.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall'#010+ #010+ 'ifdef INSTALL_UNITS'#010+ - 'override INSTALLPPUFILES+=$(addsuffix $(P','PUEXT),$(INSTALL_UNITS))'#010+ + 'override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))'#010+ 'endif'#010+ #010+ 'ifdef INSTALL_BUILDUNIT'#010+ - 'override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$'+ - '(INSTALLPPUFILES))'#010+ + 'override INSTALLPPUFILES:=$(filter-ou','t $(INSTALL_BUILDUNIT)$(PPUEXT)'+ + ',$(INSTALLPPUFILES))'#010+ 'endif'#010+ #010+ 'ifdef INSTALLPPUFILES'#010+ '# Avoid getting the same name twice as some install EXE fail'#010+ - '# in ','this case, happends for instance for OS/2 target'#010+ - 'ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICL'+ - 'IBEXT))'#010+ + '# in this case, happends for instance for OS/2 target'#010+ + 'ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(','STATICLIBPREFIX)-$(STATI'+ + 'CLIBEXT))'#010+ 'override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFI'+ - 'LES)) $(addprefix $(STATICLIBPREFIX),$(subs','t $(PPUEXT),$(STATICLIBEX'+ - 'T),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEX'+ - 'T),$(STATICLIBEXT),$(INSTALLPPUFILES)))'#010+ + 'LES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(ST'+ + 'ATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES','))'+ + ') $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(I'+ + 'NSTALLPPUFILES)))'#010+ 'else'#010+ 'override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFI'+ - 'LES)) $(addprefix $(STATICLIBP','REFIX),$(subst $(PPUEXT),$(STATICLIBEX'+ - 'T),$(INSTALLPPUFILES)))'#010+ + 'LES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(ST'+ + 'ATICL','IBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))'+ + ')'#010+ 'endif'#010+ #010+ 'ifneq ($(UNITTARGETDIRPREFIX),)'#010+ 'override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(notdir '+ '$(INSTALLPPUFILES)))'#010+ - 'override INSTALLPPULINKFILES:=$(wildcard $(addpr','efix $(UNITTARGETDIR'+ + 'override INSTALLPPULINKFILES:=$(wildcard $(ad','dprefix $(UNITTARGETDIR'+ 'PREFIX),$(notdir $(INSTALLPPULINKFILES))))'#010+ 'endif'#010+ '# Implicitly install Package.fpc'#010+ @@ -1889,7 +1894,7 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ 'ifdef INSTALLEXEFILES'#010+ 'ifneq ($(TARGETDIRPREFIX),)'#010+ - 'override INSTALLEXEFILES:=$(addprefix $(TARGE','TDIRPREFIX),$(notdir $('+ + 'override INSTALLEXEFILES:=$(addprefix $(TA','RGETDIRPREFIX),$(notdir $('+ 'INSTALLEXEFILES)))'#010+ 'endif'#010+ 'endif'#010+ @@ -1899,14 +1904,14 @@ const fpcmakeini : array[0..244,1..240] of char=( ' $(MKDIR) $(INSTALL_BINDIR)'#010+ ' $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)'#010+ 'endif'#010+ - 'ifdef INSTALL_CREATEPACKAGEFP','C'#010+ + 'ifdef INSTALL_CREATEPACKAG','EFPC'#010+ 'ifdef FPCMAKE'#010+ '# If the fpcpackage variable is set then create and install Package.fp'+ 'c,'#010+ '# a safety check is done if Makefile.fpc is available'#010+ 'ifdef PACKAGE_VERSION'#010+ 'ifneq ($(wildcard Makefile.fpc),)'#010+ - ' $(FPCMAKE) -p -T$(CPU_TARGET)-$(O','S_TARGET) Makefile.fpc'#010+ + ' $(FPCMAKE) -p -T$(CPU_TARGET)-','$(OS_TARGET) Makefile.fpc'#010+ ' $(MKDIR) $(INSTALL_UNITDIR)'#010+ ' $(INSTALL) Package.fpc $(INSTALL_UNITDIR)'#010+ 'endif'#010+ @@ -1915,14 +1920,14 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ 'ifdef INSTALLPPUFILES'#010+ ' $(MKDIR) $(INSTALL_UNITDIR)'#010+ - ' $(INSTALL) $(INSTALLPPUFILES) $(INSTALL_U','NITDIR)'#010+ + ' $(INSTALL) $(INSTALLPPUFILES) $(INSTAL','L_UNITDIR)'#010+ 'ifneq ($(INSTALLPPULINKFILES),)'#010+ ' $(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)'#010+ 'endif'#010+ 'ifneq ($(wildcard $(LIB_FULLNAME)),)'#010+ ' $(MKDIR) $(INSTALL_LIBDIR)'#010+ ' $(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)'#010+ - 'ifdef in','Unix'#010+ + 'ifdef',' inUnix'#010+ ' ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)'#010+ 'endif'#010+ 'endif'#010+ @@ -1933,15 +1938,15 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ 'fpc_sourceinstall: distclean'#010+ - ' $','(MKDIR) $(INSTALL_SOURCEDIR)'#010+ + ' ',' $(MKDIR) $(INSTALL_SOURCEDIR)'#010+ ' $(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)'#010+ #010+ 'fpc_exampleinstall: $(EXAMPLEINSTALLTARGET) $(addsuffix _distclean,$(T'+ 'ARGET_EXAMPLEDIRS))'#010+ 'ifdef HASEXAMPLES'#010+ ' $(MKDIR) $(INSTALL_EXAMPLEDIR)'#010+ - 'endif'#010+ - 'ifd','ef EXAMPLESOURCEFILES'#010+ + 'endif'#010, + 'ifdef EXAMPLESOURCEFILES'#010+ ' $(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)'#010+ 'endif'#010+ 'ifdef TARGET_EXAMPLEDIRS'#010+ @@ -1950,7 +1955,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '[distinstallrules]'#010+ - '#####################','###############################################'+ + '##################','##################################################'+ '#'#010+ '# Dist Install'#010+ '#####################################################################'#010+ @@ -1961,14 +1966,14 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ #010+ '[zipinstallrules]'#010+ - '####################','################################################'+ + '#################','###################################################'+ '#'#010+ '# Zip'#010+ '#####################################################################'#010+ #010+ '.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall'#010+ #010+ - '# Temporary path to pack a file, can only use ','a single deep'#010+ + '# Temporary path to pack a file, can only u','se a single deep'#010+ '# subdir, because the deltree can'#039't see the whole tree to remove'#010+ 'ifndef PACKDIR'#010+ 'ifndef inUnix'#010+ @@ -1979,7 +1984,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Maybe create default zipname from packagename'#010+ - 'ifndef ZIPNAM','E'#010+ + 'ifndef ZIP','NAME'#010+ 'ifdef DIST_ZIPNAME'#010+ 'ZIPNAME=$(DIST_ZIPNAME)'#010+ 'else'#010+ @@ -1994,7 +1999,7 @@ const fpcmakeini : array[0..244,1..240] of char=( '# ZipTarget'#010+ 'ifndef ZIPTARGET'#010+ 'ifdef DIST_ZIPTARGET'#010+ - 'ZIPTARGET=DIS','T_ZIPTARGET'#010+ + 'ZIPTARGET=','DIST_ZIPTARGET'#010+ 'else'#010+ 'ZIPTARGET=install'#010+ 'endif'#010+ @@ -2012,7 +2017,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'USEZIPWRAPPER=1'#010+ 'endif'#010+ #010+ - '# We need to be able to run in',' the current OS so fix'#010+ + '# We need to be able to run',' in the current OS so fix'#010+ '# the path separator'#010+ 'ifdef USEZIPWRAPPER'#010+ 'ZIPPATHSEP=$(PATHSEP)'#010+ @@ -2022,13 +2027,13 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ #010+ '# Create commands to create the zip/tar file'#010+ - 'ZIPCMD_CDPACK:','=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))'#010+ + 'ZIPCMD_CDPA','CK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))'#010+ 'ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))'#010+ 'ifdef USETAR'#010+ 'ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(TAREXT)'#010+ 'ZIPCMD_ZIP:=$(TARPROG) c$(TAROPT)f $(ZIPDESTFILE) *'#010+ 'else'#010+ - 'ZIPDESTFILE:=$(DIST_DES','TDIR)/$(FULLZIPNAME)$(ZIPEXT)'#010+ + 'ZIPDESTFILE:=$(DIST_','DESTDIR)/$(FULLZIPNAME)$(ZIPEXT)'#010+ 'ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDES'+ 'TFILE) *'#010+ 'endif'#010+ @@ -2036,20 +2041,20 @@ const fpcmakeini : array[0..244,1..240] of char=( 'fpc_zipinstall:'#010+ ' $(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1'#010+ ' $(MKDIR) $(DIST_DESTDIR)'#010+ - ' ',' $(DEL) $(ZIPDESTFILE)'#010+ + ' ',' $(DEL) $(ZIPDESTFILE)'#010+ 'ifdef USEZIPWRAPPER'#010+ '# Handle gecho separate as we need to espace \ with \\'#010+ 'ifneq ($(ECHOREDIR),echo)'#010+ ' $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPE'+ 'R)'#010+ - ' $(ECHOREDIR) -e "$(subst \,\\,$(ZIP','CMD_ZIP))" >> $(ZIPWRAPPE'+ + ' $(ECHOREDIR) -e "$(subst \,\\,$(','ZIPCMD_ZIP))" >> $(ZIPWRAPPE'+ 'R)'#010+ ' $(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPP'+ 'ER)'#010+ 'else'#010+ ' echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)'#010+ ' echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)'#010+ - ' echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPP','ER)'#010+ + ' echo $(ZIPCMD_CDBASE) >> $(ZIPWR','APPER)'#010+ 'endif'#010+ 'ifdef inUnix'#010+ ' /bin/sh $(ZIPWRAPPER)'#010+ @@ -2062,7 +2067,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ ' $(DEL) $(ZIPWRAPPER)'#010+ 'else'#010+ - ' $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)'#010, + ' $(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBAS','E)'#010+ 'endif'#010+ ' $(DELTREE) $(PACKDIR)'#010+ #010+ @@ -2072,7 +2077,7 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ 'fpc_zipexampleinstall:'#010+ 'ifdef HASEXAMPLES'#010+ - ' $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall',' ZIPSUFFIX=$('+ + ' $(MAKE) fpc_zipinstall ZIPTARGET=exampleinst','all ZIPSUFFIX=$('+ 'ZIPEXAMPLESUFFIX)'#010+ 'endif'#010+ #010+ @@ -2083,7 +2088,7 @@ const fpcmakeini : array[0..244,1..240] of char=( '[cleanrules]'#010+ '#####################################################################'#010+ '# Clean rules'#010+ - '##############################','######################################'+ + '###########################','#########################################'+ '#'#010+ #010+ '.PHONY: fpc_clean fpc_cleanall fpc_distclean'#010+ @@ -2091,7 +2096,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'ifdef EXEFILES'#010+ 'override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES'+ '))'#010+ - 'override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEAN','EXE'+ + 'override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CL','EANEXE'+ 'DBGFILES))'#010+ 'endif'#010+ #010+ @@ -2099,7 +2104,7 @@ const fpcmakeini : array[0..244,1..240] of char=( 'override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(E'+ 'XEEXT), $(CLEAN_PROGRAMS)))'#010+ 'override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix '+ - '$(EXEDBGEXT), $(CLEAN_PROGRAMS',')))'#010+ + '$(EXEDBGEXT), $(CLEAN_PROGR','AMS)))'#010+ 'endif'#010+ #010+ 'ifdef CLEAN_UNITS'#010+ @@ -2108,32 +2113,33 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ 'ifdef CLEANPPUFILES'#010+ 'override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)'+ - ') $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$','(STATICLIBEXT),$'+ - '(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(S'+ - 'TATICLIBEXT),$(CLEANPPUFILES)))'#010+ + ') $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $','(addprefix $(STATIC'+ + 'LIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addp'+ + 'refix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUF'+ + 'ILES)))'#010+ 'ifdef DEBUGSYMEXT'#010+ - 'override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPP'+ - 'UFILES))'#010+ + 'override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSY','MEXT),$(CLEAN'+ + 'PPUFILES))'#010+ 'endif'#010+ - 'override CLEANPPUFI','LES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPP'+ - 'UFILES))'#010+ + 'override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUF'+ + 'ILES))'#010+ 'override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREF'+ 'IX),$(CLEANPPULINKFILES)))'#010+ 'endif'#010+ #010+ 'fpc_clean: $(CLEANTARGET)'#010+ - 'ifdef CLEANEXEFILES'#010+ - ' -$(DEL) $(CLEANEXEFILES)',#010+ + 'ifd','ef CLEANEXEFILES'#010+ + ' -$(DEL) $(CLEANEXEFILES)'#010+ 'endif'#010+ '# DELTREE instead of DEL because on Mac OS X these are directories'#010+ 'ifdef CLEANEXEDBGFILES'#010+ ' -$(DELTREE) $(CLEANEXEDBGFILES)'#010+ 'endif'#010+ 'ifdef CLEANPPUFILES'#010+ - ' -$(DEL) $(CLEANPPUFILES)'#010+ + ' -$(DEL) $(CLEANPPUFI','LES)'#010+ 'endif'#010+ 'ifneq ($(CLEANPPULINKFILES),)'#010+ - ' ','-$(DEL) $(CLEANPPULINKFILES)'#010+ + ' -$(DEL) $(CLEANPPULINKFILES)'#010+ 'endif'#010+ 'ifdef CLEANRSTFILES'#010+ ' -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))'#010+ @@ -2141,17 +2147,17 @@ const fpcmakeini : array[0..244,1..240] of char=( 'ifdef CLEAN_FILES'#010+ ' -$(DEL) $(CLEAN_FILES)'#010+ 'endif'#010+ - 'ifdef LIB_NAME'#010+ - ' -$(DEL) $(LIB_NAME) $(LIB_FULLNA','ME)'#010+ + 'ifdef ','LIB_NAME'#010+ + ' -$(DEL) $(LIB_NAME) $(LIB_FULLNAME)'#010+ 'endif'#010+ ' -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(F'+ 'PCEXTFILE) $(REDIRFILE)'#010+ ' -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$'+ '(BATCHEXT)'#010+ #010+ - 'fpc_cleanall: $(CLEANTARGET)'#010+ + 'fpc_c','leanall: $(CLEANTARGET)'#010+ 'ifdef CLEANEXEFILES'#010+ - ' ',' -$(DEL) $(CLEANEXEFILES)'#010+ + ' -$(DEL) $(CLEANEXEFILES)'#010+ 'endif'#010+ 'ifdef COMPILER_UNITTARGETDIR'#010+ 'ifdef CLEANPPUFILES'#010+ @@ -2159,10 +2165,9 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ 'ifneq ($(CLEANPPULINKFILES),)'#010+ ' -$(DEL) $(CLEANPPULINKFILES)'#010+ - 'endif'#010+ + 'en','dif'#010+ 'ifdef CLEANRSTFILES'#010+ - ' -$(DEL) $(addpref','ix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))'+ - #010+ + ' -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))'#010+ 'endif'#010+ 'endif'#010+ 'ifdef CLEAN_FILES'#010+ @@ -2170,16 +2175,15 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ ' -$(DELTREE) units'#010+ ' -$(DELTREE) bin'#010+ - ' -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIB'+ - 'EXT) *$(S','HAREDLIBEXT) *$(PPLEXT)'#010+ + ' -$(DEL) *$(OEXT) *$(LT','OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT)'+ + ' *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)'#010+ 'ifneq ($(PPUEXT),.ppu)'#010+ ' -$(DEL) *.o *.ppu *.a'#010+ 'endif'#010+ ' -$(DELTREE) *$(SMARTEXT)'#010+ - ' -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FP'+ - 'CEXTFILE) $(REDIRFILE)'#010+ - ' -$(DEL) *_ppas$(BATCHEX','T) ppas$(BATCHEXT) ppaslink$(BATCHEXT'+ - ')'#010+ + ' -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.re','s $('+ + 'FPCEXTFILE) $(REDIRFILE)'#010+ + ' -$(DEL) *_ppas$(BATCHEXT) ppas$(BATCHEXT) ppaslink$(BATCHEXT)'#010+ 'ifdef AOUTEXT'#010+ ' -$(DEL) *$(AOUTEXT)'#010+ 'endif'#010+ @@ -2187,117 +2191,118 @@ const fpcmakeini : array[0..244,1..240] of char=( ' -$(DEL) *$(DEBUGSYMEXT)'#010+ 'endif'#010+ 'ifdef LOCALFPMAKEBIN'#010+ - ' -$(DEL) $(LOCALFPMAKEBIN)'#010+ + ' -$(DEL) ','$(LOCALFPMAKEBIN)'#010+ ' -$(DEL) $(FPMAKEBINOBJ)'#010+ 'endif'#010+ #010+ - 'fpc','_distclean: cleanall'#010+ + 'fpc_distclean: cleanall'#010+ #010+ #010+ '[baseinforules]'#010+ '#####################################################################'#010+ '# Base info rules'#010+ - '#####################################################################'#010+ + '#####################################################','###############'+ + '#'#010+ #010+ '.PHONY: fpc_baseinfo'#010+ #010+ - 'override INFORULES+=','fpc_baseinfo'#010+ + 'override INFORULES+=fpc_baseinfo'#010+ #010+ 'fpc_baseinfo:'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) == Package info =='#010+ ' @$(ECHO) Package Name..... $(PACKAGE_NAME)'#010+ - ' @$(ECHO) Package Version.. $(PACKAGE_VERSION)'#010+ + ' @$(ECHO) Package Version.. $(PACKAGE_','VERSION)'#010+ ' @$(ECHO)'#010+ - ' @$(ECHO) == Configuration',' info =='#010+ + ' @$(ECHO) == Configuration info =='#010+ ' @$(ECHO)'#010+ ' @$(ECHO) FPC.......... $(FPC)'#010+ ' @$(ECHO) FPC Version.. $(FPC_VERSION)'#010+ ' @$(ECHO) Source CPU... $(CPU_SOURCE)'#010+ - ' @$(ECHO) Target CPU... $(CPU_TARGET)'#010+ - ' @$(ECHO) Source OS.... $(OS','_SOURCE)'#010+ + ' @$(ECHO) Targ','et CPU... $(CPU_TARGET)'#010+ + ' @$(ECHO) Source OS.... $(OS_SOURCE)'#010+ ' @$(ECHO) Target OS.... $(OS_TARGET)'#010+ ' @$(ECHO) Full Source.. $(FULL_SOURCE)'#010+ ' @$(ECHO) Full Target.. $(FULL_TARGET)'#010+ - ' @$(ECHO) SourceSuffix. $(SOURCESUFFIX)'#010+ - ' @$(ECHO) TargetSuffix. $(TARGETSUFF','IX)'#010+ + ' @$(ECHO) SourceSuffix. ','$(SOURCESUFFIX)'#010+ + ' @$(ECHO) TargetSuffix. $(TARGETSUFFIX)'#010+ ' @$(ECHO) FPC fpmake... $(FPCFPMAKE)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) == Directory info =='#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Required pkgs... $(REQUIRE_PACKAGES)'#010+ - ' @$(ECHO)'#010+ - ' @$(ECHO) Basedir......... $(BASEDIR)'#010, + ' ',' @$(ECHO)'#010+ + ' @$(ECHO) Basedir......... $(BASEDIR)'#010+ ' @$(ECHO) FPCDir.......... $(FPCDIR)'#010+ ' @$(ECHO) CrossBinDir..... $(CROSSBINDIR)'#010+ ' @$(ECHO) UnitsDir........ $(UNITSDIR)'#010+ - ' @$(ECHO) PackagesDir..... $(PACKAGESDIR)'#010+ + ' @$(ECHO) PackagesDir..... $(P','ACKAGESDIR)'#010+ ' @$(ECHO)'#010+ - ' @$(ECHO) GCC library..','... $(GCCLIBDIR)'#010+ + ' @$(ECHO) GCC library..... $(GCCLIBDIR)'#010+ ' @$(ECHO) Other library... $(OTHERLIBDIR)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) == Tools info =='#010+ ' @$(ECHO)'#010+ ' @$(ECHO) As........ $(AS)'#010+ - ' @$(ECHO) Ld........ $(LD)'#010+ - ' @$(ECHO) Ar........ $(AR)',#010+ + ' @','$(ECHO) Ld........ $(LD)'#010+ + ' @$(ECHO) Ar........ $(AR)'#010+ ' @$(ECHO) Rc........ $(RC)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Mv........ $(MVPROG)'#010+ ' @$(ECHO) Cp........ $(CPPROG)'#010+ ' @$(ECHO) Rm........ $(RMPROG)'#010+ - ' @$(ECHO) GInstall.. $(GINSTALL)'#010+ - ' @$(ECHO) Echo...... ','$(ECHO)'#010+ + ' @$','(ECHO) GInstall.. $(GINSTALL)'#010+ + ' @$(ECHO) Echo...... $(ECHO)'#010+ ' @$(ECHO) Shell..... $(SHELL)'#010+ ' @$(ECHO) Date...... $(DATE)'#010+ ' @$(ECHO) FPCMake... $(FPCMAKE)'#010+ ' @$(ECHO) PPUMove... $(PPUMOVE)'#010+ - ' @$(ECHO) Zip....... $(ZIPPROG)'#010+ + ' @$(ECHO) ',' Zip....... $(ZIPPROG)'#010+ ' @$(ECHO)'#010+ - ' @$(ECHO) ==',' Object info =='#010+ + ' @$(ECHO) == Object info =='#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Target Loaders........ $(TARGET_LOADERS)'#010+ ' @$(ECHO) Target Units.......... $(TARGET_UNITS)'#010+ - ' @$(ECHO) Target Implicit Units. $(TARGET_IMPLICITUNITS)'#010+ - ' @$(ECHO) Target P','rograms....... $(TARGET_PROGRAMS)'#010+ + ' @$(ECHO) Target Implic','it Units. $(TARGET_IMPLICITUNITS)'#010+ + ' @$(ECHO) Target Programs....... $(TARGET_PROGRAMS)'#010+ ' @$(ECHO) Target Dirs........... $(TARGET_DIRS)'#010+ ' @$(ECHO) Target Examples....... $(TARGET_EXAMPLES)'#010+ - ' @$(ECHO) Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)'#010+ + ' @$(ECHO) Target Examp','leDirs.... $(TARGET_EXAMPLEDIRS)'#010+ ' @$(ECHO)'#010+ - ' @$','(ECHO) Clean Units......... $(CLEAN_UNITS)'#010+ + ' @$(ECHO) Clean Units......... $(CLEAN_UNITS)'#010+ ' @$(ECHO) Clean Files......... $(CLEAN_FILES)'#010+ ' @$(ECHO)'#010+ ' @$(ECHO) Install Units....... $(INSTALL_UNITS)'#010+ - ' @$(ECHO) Install Files....... $(INSTALL_FILES)'#010+ - ' @$(EC','HO)'#010+ + ' @','$(ECHO) Install Files....... $(INSTALL_FILES)'#010+ + ' @$(ECHO)'#010+ ' @$(ECHO) == Install info =='#010+ ' @$(ECHO)'#010+ ' @$(ECHO) DateStr.............. $(DATESTR)'#010+ ' @$(ECHO) ZipName.............. $(ZIPNAME)'#010+ - ' @$(ECHO) ZipPrefix............ $(ZIPPREFIX)'#010+ - ' @$(ECHO) ZipCrossP','refix....... $(ZIPCROSSPREFIX)'#010+ + ' @$(ECHO) Zi','pPrefix............ $(ZIPPREFIX)'#010+ + ' @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX)'#010+ ' @$(ECHO) ZipSuffix............ $(ZIPSUFFIX)'#010+ ' @$(ECHO) FullZipName.......... $(FULLZIPNAME)'#010+ - ' @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE)'#010+ + ' @$(ECHO) Install FPC Package.. $','(INSTALL_FPCPACKAGE)'#010+ ' @$(ECHO)'#010+ - ' @$(ECHO) Inst','all base dir..... $(INSTALL_BASEDIR)'#010+ + ' @$(ECHO) Install base dir..... $(INSTALL_BASEDIR)'#010+ ' @$(ECHO) Install binary dir... $(INSTALL_BINDIR)'#010+ ' @$(ECHO) Install library dir.. $(INSTALL_LIBDIR)'#010+ - ' @$(ECHO) Install units dir.... $(INSTALL_UNITDIR)'#010+ - ' @$(ECHO) Install so','urce dir... $(INSTALL_SOURCEDIR)'#010+ + ' @$(ECHO) Install u','nits dir.... $(INSTALL_UNITDIR)'#010+ + ' @$(ECHO) Install source dir... $(INSTALL_SOURCEDIR)'#010+ ' @$(ECHO) Install doc dir...... $(INSTALL_DOCDIR)'#010+ ' @$(ECHO) Install example dir.. $(INSTALL_EXAMPLEDIR)'#010+ - ' @$(ECHO) Install data dir..... $(INSTALL_DATADIR)'#010+ + ' @$(ECHO) Install d','ata dir..... $(INSTALL_DATADIR)'#010+ ' @$(ECHO)'#010+ - ' @$(','ECHO) Dist destination dir. $(DIST_DESTDIR)'#010+ + ' @$(ECHO) Dist destination dir. $(DIST_DESTDIR)'#010+ ' @$(ECHO) Dist zip name........ $(DIST_ZIPNAME)'#010+ ' @$(ECHO)'#010+ #010+ '[inforules]'#010+ - '#####################################################################'#010+ - '# Info rules'#010+ - '##########################','##########################################'+ + '#################################################','###################'+ '#'#010+ + '# Info rules'#010+ + '#####################################################################'#010+ #010+ '.PHONY: fpc_info'#010+ #010+ @@ -2305,39 +2310,38 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '[makefilerules]'#010+ '#####################################################################'#010+ - '# Rebuild Makefile'#010+ - '################################################','####################'+ - '#'#010+ + '# Rebui','ld Makefile'#010+ + '#####################################################################'#010+ #010+ '.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2'+ ' \'#010+ ' fpc_makefile_dirs'#010+ #010+ 'fpc_makefile:'#010+ - ' $(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc'#010+ + ' $(FPCMAKE) -w -T$(OS_TARGET) Makefi','le.fpc'#010+ #010+ 'fpc_makefile_sub1:'#010+ 'ifdef TARGET_DIRS'#010+ - ' $(FPCMA','KE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TAR'+ - 'GET_DIRS))'#010+ + ' $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGE'+ + 'T_DIRS))'#010+ 'endif'#010+ 'ifdef TARGET_EXAMPLEDIRS'#010+ ' $(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGE'+ - 'T_EXAMPLEDIRS))'#010+ + 'T_EXAMPLEDIRS))',#010+ 'endif'#010+ #010+ - 'fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARG','ET_DIRS) $(TARGE'+ - 'T_EXAMPLEDIRS))'#010+ + 'fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_'+ + 'EXAMPLEDIRS))'#010+ #010+ 'fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2'#010+ #010+ 'fpc_makefiles: fpc_makefile fpc_makefile_dirs'#010+ #010+ '[localmakefile]'#010+ - '#####################################################################'#010+ - '# Local Makefile'#010+ - '#','###################################################################'+ + '############################','########################################'+ '#'#010+ + '# Local Makefile'#010+ + '#####################################################################'#010+ #010+ 'ifneq ($(wildcard fpcmake.loc),)'#010+ 'include fpcmake.loc'#010+ @@ -2345,18 +2349,19 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ #010+ '[userrules]'#010+ - '#####################################################################'#010+ - '# Users rules'#010+ - '#############','#######################################################'+ + '#####################################','###############################'+ '#'#010+ + '# Users rules'#010+ + '#####################################################################'#010+ #010+ '[lclrules]'#010+ '#####################################################################'#010+ '# LCL Rules'#010+ - '#####################################################################'#010+ + '#############################','#######################################'+ + '#'#010+ #010+ '# LCL Platform'#010+ - 'ifn','def LCL_PLATFORM'#010+ + 'ifndef LCL_PLATFORM'#010+ 'ifneq ($(findstring $(OS_TARGET),win32 win64),)'#010+ 'LCL_PLATFORM=win32'#010+ 'else'#010+ @@ -2365,10 +2370,10 @@ const fpcmakeini : array[0..244,1..240] of char=( 'endif'#010+ 'export LCL_PLATFORM'#010+ #010+ - '# Check if the specified LCLDIR is correct'#010+ + '# Check if the specified LCLDIR is correc','t'#010+ 'ifdef LCLDIR'#010+ 'override LCLDIR:=$(subst \,/,$(LCLDIR))'#010+ - 'ifeq ','($(wildcard $(LCLDIR)/units/$(LCL_PLATFORM)),)'#010+ + 'ifeq ($(wildcard $(LCLDIR)/units/$(LCL_PLATFORM)),)'#010+ 'override LCLDIR=wrong'#010+ 'endif'#010+ 'else'#010+ @@ -2377,16 +2382,16 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# Check if the default LCLDIR is correct'#010+ 'ifdef DEFAULT_LCLDIR'#010+ - 'override LCLDIR:=$(subst \,/,$(DEFAULT_LCLDIR))'#010+ - 'ifeq ($(wildcard $(LC','LDIR)/units/$(LCL_PLATFORM)),)'#010+ + 'override ','LCLDIR:=$(subst \,/,$(DEFAULT_LCLDIR))'#010+ + 'ifeq ($(wildcard $(LCLDIR)/units/$(LCL_PLATFORM)),)'#010+ 'override LCLDIR=wrong'#010+ 'endif'#010+ 'endif'#010+ #010+ '# Check for development version'#010+ 'ifeq ($(LCLDIR),wrong)'#010+ - 'override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword $(wildcard'+ - ' $(addsuffix /units/$(LCL_PLATFORM),$(BASEDIR)/lc','l $(BASEDIR)))))'#010+ + 'override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword',' $(wildca'+ + 'rd $(addsuffix /units/$(LCL_PLATFORM),$(BASEDIR)/lcl $(BASEDIR)))))'#010+ 'ifeq ($(LCLDIR),)'#010+ 'override LCLDIR=wrong'#010+ 'endif'#010+ @@ -2394,8 +2399,8 @@ const fpcmakeini : array[0..244,1..240] of char=( #010+ '# Check for release version'#010+ 'ifeq ($(LCLDIR),wrong)'#010+ - 'override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword $(wildcard'+ - ' $(addsuffix /lib/lazarus/units/$(LCL_PLATFORM),/','usr/local /usr))))'#010+ + 'override LCLDIR=$(subst /units/$(LCL_PLATFORM),,$(firstword',' $(wildca'+ + 'rd $(addsuffix /lib/lazarus/units/$(LCL_PLATFORM),/usr/local /usr))))'#010+ 'ifeq ($(LCLDIR),)'#010+ 'override LCLDIR=wrong'#010+ 'endif'#010+ @@ -2404,17 +2409,16 @@ const fpcmakeini : array[0..244,1..240] of char=( '# Generate dirs'#010+ 'override LCLUNITDIR:=$(wildcard $(LCLDIR)/units/$(LCL_PLATFORM) $(LCLD'+ 'IR)/units)'#010+ - 'override LCLCOMPONENTDIR:=$(wildcard $(LCLDIR)/.. $(LCLDIR)/../compone'+ - 'n','ts $(LCLDIR)/components)'#010+ + 'override LC','LCOMPONENTDIR:=$(wildcard $(LCLDIR)/.. $(LCLDIR)/../compo'+ + 'nents $(LCLDIR)/components)'#010+ 'export LCLDIR LCLUNITDIR LCLCOMPONENTDIR'#010+ #010+ '# Add LCL dirs to paths'#010+ 'override REQUIRE_PACKAGESDIR+=$(LCLCOMPONENTDIR)'#010+ - 'override COMPILER_UNITDIR+=$(LCLUNITDIR)'#010+ + 'override COMPILER_UNITDIR+=$(LCLUNITDIR)',#010+ #010+ '[lclinforules]'#010+ - '###########################################','#########################'+ - '#'#010+ + '#####################################################################'#010+ '# LCL Info rules'#010+ '#####################################################################'#010+ 'override INFORULES+=lclinfo'#010+ @@ -2422,113 +2426,113 @@ const fpcmakeini : array[0..244,1..240] of char=( '.PHONY: lclinfo'#010+ #010+ 'lclinfo:'#010+ - ' @$(ECHO) == LCL info =='#010+ + ' @$(','ECHO) == LCL info =='#010+ ' @$(ECHO)'#010+ - ' @$(ECHO) Pla','tform............. $(LCL_PLATFORM)'#010+ + ' @$(ECHO) Platform............. $(LCL_PLATFORM)'#010+ ' @$(ECHO) LCLDIR............... $(LCLDIR)'#010+ ' @$(ECHO) LCL Unit dir......... $(LCLUNITDIR)'#010+ - ' @$(ECHO) LCL Component dir.... $(LCLCOMPONENTDIR)'#010+ + ' @$(ECHO) LCL Component dir.... $','(LCLCOMPONENTDIR)'#010+ ' @$(ECHO)'#010+ #010+ '[fpmakeprerules]'#010+ - '#######','#############################################################'+ - '#'#010+ + '#####################################################################'#010+ '# fpmake prerules'#010+ '#####################################################################'#010+ - 'FPMAKEBIN=fpmake$(SRCEXEEXT)'#010+ - 'FPMAKEBINOBJ=fpmake$(OEXT)'#010+ - 'LOCALFPMAKEBIN=.$(PATHSEP)$(FPMAK','EBIN)'#010+ + 'FPMAKEBIN=fpmake$(SRCEXEEXT)'#010, + 'FPMAKEBINOBJ=fpmake$(OEXT) fpmake$(LTOEXT)'#010+ + 'LOCALFPMAKEBIN=.$(PATHSEP)$(FPMAKEBIN)'#010+ #010+ '# Convert the OS_TARGET and CPU_TARGET options to fpmake'#039's --os an'+ 'd --cpu parameters'#010+ 'ifdef OS_TARGET'#010+ 'FPC_TARGETOPT+=--os=$(OS_TARGET)'#010+ 'endif'#010+ - 'ifdef CPU_TARGET'#010+ + 'ifdef CPU_TARGET'#010, 'FPC_TARGETOPT+=--cpu=$(CPU_TARGET)'#010+ 'endif'#010+ #010+ - '# Get the location of the bootstra','p-fpmkunit units'#010+ + '# Get the location of the bootstrap-fpmkunit units'#010+ 'PACKAGEDIR_FPMKUNIT:=$(firstword $(subst /Makefile.fpc,,$(strip $(wild'+ 'card $(addsuffix /fpmkunit/Makefile.fpc,$(PACKAGESDIR))))))'#010+ - 'ifneq ($(PACKAGEDIR_FPMKUNIT),)'#010+ - 'UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOU','RCESUFF'+ - 'IX)'#010+ + 'ifneq ($(PACKAGED','IR_FPMKUNIT),)'#010+ + 'UNITDIR_FPMAKE_FPMKUNIT=$(PACKAGEDIR_FPMKUNIT)/units_bs/$(SOURCESUFFIX'+ + ')'#010+ 'override COMPILER_FPMAKE_UNITDIR=$(UNITDIR_FPMAKE_FPMKUNIT)'#010+ 'FPMKUNIT_SRC=$(PACKAGEDIR_FPMKUNIT)/src/fpmkunit.pp'#010+ - 'FPMKUNIT_PPU=$(UNITDIR_FPMAKE_FPMKUNIT)/fpmkunit.ppu'#010+ + 'FPMKUNIT_PPU=$(UNITDIR_FPMAKE_FPMKUNIT)/f','pmkunit.ppu'#010+ 'endif'#010+ #010+ 'ifdef FPMAKE_SKIP_CONFIG'#010+ - 'override FPMAKE_BUILD_OPT+=$(FPM','AKE_SKIP_CONFIG)'#010+ + 'override FPMAKE_BUILD_OPT+=$(FPMAKE_SKIP_CONFIG)'#010+ 'endif'#010+ #010+ '[fpmakerules]'#010+ '#####################################################################'#010+ '# fpmake rules'#010+ - '#####################################################################'#010+ - '.PHONY: fpc_fpmake fpc_fpmake_clean fpc_fpmake_','install fpc_fpmake_ex'+ - 'ampleinstall'#010+ + '#########################################','###########################'+ + '#'#010+ + '.PHONY: fpc_fpmake fpc_fpmake_clean fpc_fpmake_install fpc_fpmake_exam'+ + 'pleinstall'#010+ #010+ '# Do not pass the Makefile'#039's unit and binary target locations. fpm'+ 'ake uses it'#039's own.'#010+ - 'override FPCOPT:=$(filter-out -FU%,$(FPCOPT))'#010+ + 'override FPCOPT:=$(filter-out -FU%,$(FPCOPT)',')'#010+ 'override FPCOPT:=$(filter-out -FE%,$(FPCOPT))'#010+ - '# Compose general fpmake-par','ameters'#010+ + '# Compose general fpmake-parameters'#010+ 'ifdef FPMAKEOPT'#010+ 'FPMAKE_OPT+=$(FPMAKEOPT)'#010+ 'endif'#010+ 'FPMAKE_OPT+=--localunitdir=$(FPCDIR)'#010+ 'FPMAKE_OPT+=--globalunitdir=$(FPCDIR)/packages'#010+ - 'FPMAKE_OPT+=$(FPC_TARGETOPT)'#010+ + 'FPMAKE_OPT+=$(FPC_TARGETO','PT)'#010+ 'FPMAKE_OPT+=$(addprefix -o ,$(FPCOPT))'#010+ 'FPMAKE_OPT+=--compiler=$(FPC)'#010+ - 'FPM','AKE_OPT+=-bu'#010+ + 'FPMAKE_OPT+=-bu'#010+ #010+ 'FPMAKE_INSTALL_OPT+=--unitinstalldir=$(INSTALL_UNITDIR)'#010+ 'ifdef UNIXHier'#010+ 'FPMAKE_INSTALL_OPT+=--prefix=$(INSTALL_PREFIX)'#010+ - 'FPMAKE_INSTALL_OPT+=--baseinstalldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VERSI'+ - 'ON)'#010+ + 'FPMAKE_INSTALL_OPT+=--baseinstal','ldir=$(INSTALL_LIBDIR)/fpc/$(FPC_VER'+ + 'SION)'#010+ 'else'#010+ - 'FPMAKE_INSTALL_OPT+=--prefix=','$(INSTALL_BASEDIR)'#010+ + 'FPMAKE_INSTALL_OPT+=--prefix=$(INSTALL_BASEDIR)'#010+ 'endif'#010+ #010+ 'override ALLTARGET+=fpc_fpmake'#010+ 'override INSTALLTARGET+=fpc_fpmake_install'#010+ 'override EXAMPLEINSTALLTARGET+=fpc_fpmake_exampleinstall'#010+ - '# If no fpmake exists and (dist)clean is called, do not try to build f'+ - 'pmake, it wil','l'#010+ + '# If no',' fpmake exists and (dist)clean is called, do not try to build'+ + ' fpmake, it will'#010+ '# most often fail because the dependencies are cleared.'#010+ '# In case of a clean, simply do nothing'#010+ 'ifneq ($(wildcard $(LOCALFPMAKEBIN)),)'#010+ - 'override CLEANTARGET+=fpc_fpmake_clean'#010+ + 'override CLEANTARGET+=fpc_f','pmake_clean'#010+ 'endif'#010+ #010+ '$(FPMKUNIT_PPU): $(FPMKUNIT_SRC)'#010+ - ' $(MAKE) -C $','(PACKAGEDIR_FPMKUNIT) bootstrap $(addprefix '+ - 'OPT=,$(FPMAKE_BUILD_OPT))'#010+ + ' $(MAKE) -C $(PACKAGEDIR_FPMKUNIT) bootstrap $(addprefix OP'+ + 'T=,$(FPMAKE_BUILD_OPT))'#010+ #010+ '$(FPMAKEBIN): fpmake.pp $(FPMKUNIT_PPU)'#010+ - ' $(FPCFPMAKE) fpmake.pp $(addprefix -Fu,$(COMPILER_FPMAKE_UNITD'+ - 'IR)) $(FPMAKE_BUILD_OPT)'#010+ + ' $(FPCFPMAKE) fpmake.pp $(addprefix -Fu,$(COMP','ILER_FPMAKE_UNI'+ + 'TDIR)) $(FPMAKE_BUILD_OPT)'#010+ #010+ 'fpc_fpmake: $(FPMAKEBIN)'#010+ - ' ',' $(LOCALFPMAKEBIN) compile $(FPMAKE_OPT)'#010+ + ' $(LOCALFPMAKEBIN) compile $(FPMAKE_OPT)'#010+ #010+ 'fpc_fpmake_clean: $(FPMAKEBIN)'#010+ ' $(LOCALFPMAKEBIN) clean $(FPMAKE_OPT)'#010+ #010+ 'fpc_fpmake_install: $(FPMAKEBIN)'#010+ - ' $(LOCALFPMAKEBIN) install $(FPMAKE_OPT) $(FPMAKE_INSTALL_O'+ - 'PT)'#010+ + ' ',' $(LOCALFPMAKEBIN) install $(FPMAKE_OPT) $(FPMAKE_INSTALL'+ + '_OPT)'#010+ #010+ - '# Thi','s is not completely valid. Exampleinstall should only install t'+ - 'he examples, while'#010+ + '# This is not completely valid. Exampleinstall should only install the'+ + ' examples, while'#010+ '# fpmake -ie installs everything, including the examples. This also me'+ - 'ans that on'#010+ + 'ans that on'#010, '# a distinstall fpmake install wil be called twice.'#010+ - 'fpc_fpmake_exampleinstal','l: $(FPMAKEBIN)'#010+ + 'fpc_fpmake_exampleinstall: $(FPMAKEBIN)'#010+ ' $(LOCALFPMAKEBIN) install -ie $(FPMAKE_OPT) $(FPMAKE_INSTA'+ 'LL_OPT)'#010 ); diff --git a/utils/fpcm/fpcmake.ini b/utils/fpcm/fpcmake.ini index 302b9b99ef..87ee0d124e 100644 --- a/utils/fpcm/fpcmake.ini +++ b/utils/fpcm/fpcmake.ini @@ -870,6 +870,7 @@ EXEEXT=.exe PPLEXT=.ppl PPUEXT=.ppu OEXT=.o +LTOEXT=.bc ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a @@ -1587,7 +1588,7 @@ fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES) ifndef CROSSINSTALL ifneq ($(TARGET_PROGRAMS),) override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS)) -override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) +override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addsuffix $(LTOEXT),$(TARGET_PROGRAMS))$(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS))) override EXEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_PROGRAMS)) override ALLTARGET+=fpc_exes @@ -1629,7 +1630,7 @@ ifneq ($(TARGET_EXAMPLES),) HASEXAMPLES=1 override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)) $(addsuffix .lpr,$(TARGET_EXAMPLES)) $(addsuffix .dpr,$(TARGET_EXAMPLES))) override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES)) -override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) +override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addsuffix $(LTOEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) $(addprefix $(IMPORTLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES))) override EXAMPLEDBGFILES:=$(addsuffix $(EXEDBGEXT),$(TARGET_EXAMPLES)) override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES) @@ -1671,7 +1672,7 @@ fpc_release: # General compile rules, available for both possible .pp and .pas extensions -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) $(LTOEXT) .pas .lpr .dpr .pp .rc .res $(COMPILER_UNITTARGETDIR): $(MKDIRTREE) $(COMPILER_UNITTARGETDIR) @@ -1713,6 +1714,7 @@ vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.inc $(COMPILER_INCLUDEDIR) vpath %$(OEXT) $(COMPILER_UNITTARGETDIR) +vpath %$(LTOEXT) $(COMPILER_UNITTARGETDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) [sharedrules] @@ -1780,9 +1782,9 @@ ifdef INSTALLPPUFILES # Avoid getting the same name twice as some install EXE fail # in this case, happends for instance for OS/2 target ifneq ($(IMPORTLIBPREFIX)-$(STATICLIBEXT),$(STATICLIBPREFIX)-$(STATICLIBEXT)) -override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) else -override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) +override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES))) endif ifneq ($(UNITTARGETDIRPREFIX),) @@ -1996,7 +1998,7 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES -override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) +override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(subst $(PPUEXT),$(LTOEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) $(addprefix $(IMPORTLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) ifdef DEBUGSYMEXT override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) endif @@ -2050,7 +2052,7 @@ ifdef CLEAN_FILES endif -$(DELTREE) units -$(DELTREE) bin - -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) + -$(DEL) *$(OEXT) *$(LTOEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) ifneq ($(PPUEXT),.ppu) -$(DEL) *.o *.ppu *.a endif @@ -2299,7 +2301,7 @@ lclinfo: # fpmake prerules ##################################################################### FPMAKEBIN=fpmake$(SRCEXEEXT) -FPMAKEBINOBJ=fpmake$(OEXT) +FPMAKEBINOBJ=fpmake$(OEXT) fpmake$(LTOEXT) LOCALFPMAKEBIN=.$(PATHSEP)$(FPMAKEBIN) # Convert the OS_TARGET and CPU_TARGET options to fpmake's --os and --cpu parameters