+ OPTNEW Makefile parameter: when running a native cycle, this allows to pass a parameter only to the new generated compiler

git-svn-id: trunk@26501 -
This commit is contained in:
florian 2014-01-18 10:19:16 +00:00
parent a3efd9e1df
commit fd5fa95416
2 changed files with 16 additions and 7 deletions

View File

@ -179,8 +179,11 @@ endif
endif
# Build/install options
ifneq ($(OPT),)
OPTNEW+=$(OPT)
endif
CLEANOPTS=FPC=$(PPNEW)
BUILDOPTS=FPC=$(PPNEW) FPCFPMAKE=$(FPCFPMAKENEW) RELEASE=1
BUILDOPTS=FPC=$(PPNEW) FPCFPMAKE=$(FPCFPMAKENEW) RELEASE=1 'OPT=$(OPTNEW)'
INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW)
# Compile also IDE (check for ide and fv dir)

View File

@ -138,18 +138,24 @@ override LOCALOPT+=$(OPTLEVEL2)
override RTLOPT+=$(OPTLEVEL2)
override LOCALOPT+=$(LOCALOPTLEVEL2)
override RTLOPT+=$(RTLOPTLEVEL2)
override LOCALOPT+=$(OPTNEW)
override RTLOPT+=$(OPTNEW)
endif
ifeq ($(CYCLELEVEL),3)
override LOCALOPT+=$(OPTLEVEL3)
override RTLOPT+=$(OPTLEVEL3)
override LOCALOPT+=$(LOCALOPTLEVEL3)
override RTLOPT+=$(RTLOPTLEVEL3)
override LOCALOPT+=$(OPTNEW)
override RTLOPT+=$(OPTNEW)
endif
ifeq ($(CYCLELEVEL),4)
override LOCALOPT+=$(OPTLEVEL4)
override RTLOPT+=$(OPTLEVEL4)
override LOCALOPT+=$(LOCALOPTLEVEL4)
override RTLOPT+=$(RTLOPTLEVEL4)
override LOCALOPT+=$(OPTNEW)
override RTLOPT+=$(OPTNEW)
endif
endif
@ -596,13 +602,13 @@ DOWPOCYCLE=1
wpocycle:
# don't use cycle_clean, it will delete the compiler utilities again
$(RM) $(EXENAME)
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(LOCALOPT) $(OPTWPOCOLLECT)' compiler
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTWPOCOLLECT) $(OPTNEW))' compiler
$(RM) $(EXENAME)
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(RTLOPT) $(OPTWPOPERFORM)' rtlclean rtl
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(LOCALOPT) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT))' $(addsuffix _clean,$(ALLTARGETS)) compiler
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(strip $(RTLOPT) $(OPTWPOPERFORM) $(OPTNEW))' rtlclean rtl
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' $(addsuffix _clean,$(ALLTARGETS)) compiler
$(MOVE) $(EXENAME) $(TEMPWPONAME1)
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1)' 'OPT=$(RTLOPT) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM))' rtlclean rtl
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1)' 'OPT=$(LOCALOPT) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM))' $(addsuffix _clean,$(ALLTARGETS)) compiler
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1)' 'OPT=$(strip $(RTLOPT) $(OPTNEW) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM)))' rtlclean rtl
$(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM)))' $(addsuffix _clean,$(ALLTARGETS)) compiler
$(COPY) $(EXENAME) $(TEMPWPONAME2)
endif
endif
@ -711,7 +717,7 @@ ifndef CROSSINSTALL
$(MAKE) 'FPC=$(BASEDIR)/$(PPCROSSNAME)' 'OPT=$(RTLOPT) $(CROSSOPT)' rtlclean rtl CYCLELEVEL=3
# building a native compiler for JVM and embedded targets is not possible
ifndef NoNativeBinaries
$(MAKE) 'FPC=$(BASEDIR)/$(PPCROSSNAME)' 'OPT=$(LOCALOPT) $(CROSSOPT)' cycleclean compiler CYCLELEVEL=3
$(MAKE) 'FPC=$(BASEDIR)/$(PPCROSSNAME)' 'OPT=$(strip $(LOCALOPT) $(CROSSOPT))' cycleclean compiler CYCLELEVEL=3
endif
endif