|
@@ -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
|