diff options
Diffstat (limited to 'avx512-0037785/compiler/Makefile.fpc')
-rw-r--r-- | avx512-0037785/compiler/Makefile.fpc | 110 |
1 files changed, 58 insertions, 52 deletions
diff --git a/avx512-0037785/compiler/Makefile.fpc b/avx512-0037785/compiler/Makefile.fpc index b0bef326b5..a3852109dc 100644 --- a/avx512-0037785/compiler/Makefile.fpc +++ b/avx512-0037785/compiler/Makefile.fpc @@ -37,6 +37,33 @@ CYCLETARGETS=i386 powerpc sparc arm x86_64 powerpc64 m68k armeb mipsel mips avr # All supported targets used for clean ALLTARGETS=$(CYCLETARGETS) +# All OS targets that do not support native compiler +NO_NATIVE_COMPILER_OS_LIST=amstradcpc embedded freertos gba macosclassic msdos msxdos nds palmos symbian watcom wii win16 zxspectrum +# All CPU targets that do not support native compiler +NO_NATIVE_COMPILER_CPU_LIST=avr i8086 jvm z80 + +# Don't compile a native compiler & utilities for targets +# which do not support it +ifneq ($(CPU_SOURCE),$(CPU_TARGET)) +ifneq ($(findstring $(CPU_TARGET),$(NO_NATIVE_COMPILER_CPU_LIST)),) +NoNativeBinaries=1 +endif +endif + +ifneq ($(OS_SOURCE),$(OS_TARGET)) +ifneq ($(findstring $(OS_TARGET),$(NO_NATIVE_COMPILER_OS_LIST)),) +NoNativeBinaries=1 +endif +endif + +ifndef FORCE_NATIVE_BINARIES +ifeq ($(NoNativeBinaries),1) +override EXEEXT=$(SRCEXEEXT) +# In those cases, installation in a cross-installation +CROSSINSTALL=1 +endif +endif + # Allow POWERPC, POWERPC64, M68K, I386, jvm defines for target cpu ifdef POWERPC PPC_TARGET=powerpc @@ -141,6 +168,22 @@ ifndef RTLOPT RTLOPT:=$(OPT) endif +DATE_FMT = +%Y/%m/%d +ifdef SOURCE_DATE_EPOCH + COMPDATESTR ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)") +else + # does a git directory exist? ... + GIT_DIR = $(wildcard ../.git) + ifneq ($(GIT_DIR),) + # ... then take date from head + COMPDATESTR:=$(shell git log -1 --pretty=%cd --date=format:'%Y/%m/%d') + endif +endif + +ifdef COMPDATESTR +override OPTNEW+=-DD$(COMPDATESTR) +endif + ifdef CYCLELEVEL ifeq ($(CYCLELEVEL),1) override LOCALOPT+=$(OPTLEVEL1) @@ -380,43 +423,6 @@ endif endif endif -# Don't compile a native compiler & utilities for JVM and embedded -# targets -ifeq ($(CPU_TARGET),jvm) -NoNativeBinaries=1 -endif -ifeq ($(OS_TARGET),embedded) -NoNativeBinaries=1 -endif -ifeq ($(OS_TARGET),gba) -NoNativeBinaries=1 -endif -ifeq ($(OS_TARGET),msdos) -NoNativeBinaries=1 -endif -ifeq ($(OS_TARGET),nds) -NoNativeBinaries=1 -endif -ifeq ($(OS_TARGET),win16) -NoNativeBinaries=1 -endif -ifeq ($(OS_TARGET),macosclassic) -NoNativeBinaries=1 -endif -ifeq ($(OS_TARGET),freertos) -NoNativeBinaries=1 -endif -ifeq ($(OS_TARGET),zxspectrum) -NoNativeBinaries=1 -endif - -# Allow install for jvm -ifeq ($(NoNativeBinaries),1) -override EXEEXT=$(SRCEXEEXT) -# In those cases, installation in a cross-installation -CROSSINSTALL=1 -endif - [rules] ##################################################################### # Setup Targets @@ -699,9 +705,9 @@ msg: msgtxt.inc insdatx86 : $(COMPILER_UNITTARGETDIR) x86/x86ins.dat $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkx86ins.pp - cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) i8086 && mv -f *.inc ../i8086 - cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) && mv -f *.inc ../i386 - cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) x86_64 && mv -f *.inc ../x86_64 + cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) i8086 && mv -f i8086tab.inc i8086op.inc i8086nop.inc i8086att.inc i8086atts.inc i8086int.inc i8086prop.inc ../i8086 + cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) && mv -f i386tab.inc i386op.inc i386nop.inc i386att.inc i386atts.inc i386int.inc i386prop.inc ../i386 + cd x86 && ..$(PATHSEP)utils$(PATHSEP)mkx86ins$(SRCEXEEXT) x86_64 && mv -f x8664tab.inc x8664op.inc x8664nop.inc x8664att.inc x8664ats.inc x8664int.inc x8664pro.inc ../x86_64 insdatarm : arm/armins.dat $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkarmins.pp @@ -739,7 +745,7 @@ regdatsp64 : sparcgen/spreg.dat $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkspreg.pp cd sparcgen && ..$(PATHSEP)utils$(PATHSEP)mkspreg$(SRCEXEEXT) sparc64 mv -f sparcgen/rsp*.inc sparc64 - + regdatavr : avr/avrreg.dat $(COMPILER) -FE$(COMPILERUTILSDIR) $(COMPILERUTILSDIR)/mkavrreg.pp cd avr && ..$(PATHSEP)utils$(PATHSEP)mkavrreg$(SRCEXEEXT) @@ -765,7 +771,7 @@ intrdatx86 : x86/x86intr.dat cp -f x86/cpumminnr.inc ../rtl/x86_64 cp -f x86/cpummprocs.inc ../rtl/i386 cp -f x86/cpumminnr.inc ../rtl/i386 - + intrdat : intrdatx86 # revision.inc rule @@ -854,7 +860,7 @@ wpocycle: $(RM) $(EXENAME) $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(RTLOPT) $(OPTWPOPERFORM) $(OPTNEW))' rtlclean $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(RTLOPT) $(OPTWPOPERFORM) $(OPTNEW))' rtl - $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' $(addsuffix _clean,$(ALLTARGETS)) + $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' $(addsuffix _clean,$(ALLTARGETS)) $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAME3PREFIX)$(TEMPNAME3)' 'OPT=$(strip $(LOCALOPT) $(OPTNEW) $(OPTWPOPERFORM) $(subst pp1.wpo,pp2.wpo,$(OPTWPOCOLLECT)))' compiler $(MOVE) $(EXENAME) $(TEMPWPONAME1) $(MAKE) 'FPC=$(BASEDIR)/$(TEMPWPONAME1PREFIX)$(TEMPWPONAME1)' 'OPT=$(strip $(RTLOPT) $(OPTNEW) $(subst pp1.wpo,pp2.wpo,$(OPTWPOPERFORM)))' rtlclean @@ -972,13 +978,13 @@ endif # Clear detected compiler binary, because it can be existing crosscompiler binary, but we need native compiler here $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 rtlclean $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 rtl - $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 cycleclean - $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 compiler + $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 cycleclean + $(MAKE) OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) EXENAME=$(TEMPNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=1 compiler # ppcross<ARCH> (source native) - $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtlclean - $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtl - $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 cycleclean - $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 compiler + $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtlclean + $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 rtl + $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 cycleclean + $(MAKE) 'FPC=$(BASEDIR)/$(TEMPNAMEPREFIX)$(TEMPNAME)' OS_TARGET=$(OS_SOURCE) CPU_TARGET=$(CPU_SOURCE) PPC_TARGET=$(CPU_TARGET) EXENAME=$(PPCROSSNAME) CROSSBINDIR= BINUTILSPREFIX= CROSSCYCLEBOOTSTRAP=1 CYCLELEVEL=2 compiler # ppc<ARCH> (target native) ifndef CROSSINSTALL $(MAKE) 'FPC=$(BASEDIR)/$(PPCROSSNAMEPREFIX)$(PPCROSSNAME)' 'OPT=$(RTLOPT) $(CROSSOPT)' CYCLELEVEL=3 rtlclean @@ -1091,7 +1097,7 @@ fullinstall: $(MAKE) $(addsuffix _exe_install,$($(FULL_TARGETS))) $(MAKE) $(addsuffix _all,$(TARGET_DIRS)) $(MAKE) $(addsuffix _install,$(TARGET_DIRS)) - + auxfilesinstall: ifndef CROSSINSTALL ifdef UNIXHier @@ -1101,9 +1107,9 @@ endif $(MKDIR) $(MSGINSTALLDIR) $(INSTALL) $(MSGFILES) $(MSGINSTALLDIR) endif - -install: + +install: # if no FPC is passed, use that one we assume, we just build ifndef FPC $(MAKE) quickinstall auxfilesinstall FPC=$(BASEDIR)/$(INSTALLEXEFILE) |