From daa27f636d8f373f0c8f53a3299a94c5e04b1adf Mon Sep 17 00:00:00 2001 From: pierre Date: Sat, 10 Sep 2011 08:54:50 +0000 Subject: [PATCH] + exeinstall: New phony target to install only current cpu taret compiler. + fullinstall: New phony target to install all posible compilers. git-svn-id: trunk@19041 - --- compiler/Makefile | 184 ++++-------------------------------------- compiler/Makefile.fpc | 14 +++- 2 files changed, 28 insertions(+), 170 deletions(-) diff --git a/compiler/Makefile b/compiler/Makefile index 9c11baf061..f6d447546b 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2011/08/11] +# Don't edit, this file is generated by FPCMake Version 2.0.0 [2011/09/08] # default: all MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux @@ -184,6 +184,12 @@ else ARCH=$(CPU_TARGET) endif endif +ifeq ($(FULL_TARGET),arm-embedded) +ifeq ($(SUBARCH),) +$(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t or SUBARCH=armv7m) must be defined) +endif +override FPCOPT+=-Cp$(SUBARCH) +endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) TARGETSUFFIX=$(OS_TARGET) SOURCESUFFIX=$(OS_SOURCE) @@ -1789,7 +1795,6 @@ SHAREDLIBPREFIX=libfp STATICLIBPREFIX=libp IMPORTLIBPREFIX=libimp RSTEXT=.rst -ifeq ($(findstring 1.0.,$(FPC_VERSION)),) ifeq ($(OS_TARGET),go32v1) STATICLIBPREFIX= SHORTSUFFIX=v1 @@ -1930,161 +1935,6 @@ EXEEXT=.dol SHAREDLIBEXT=.so SHORTSUFFIX=wii endif -else -ifeq ($(OS_TARGET),go32v1) -PPUEXT=.pp1 -OEXT=.o1 -ASMEXT=.s1 -SMARTEXT=.sl1 -STATICLIBEXT=.a1 -SHAREDLIBEXT=.so1 -STATICLIBPREFIX= -SHORTSUFFIX=v1 -IMPORTLIBPREFIX= -endif -ifeq ($(OS_TARGET),go32v2) -STATICLIBPREFIX= -SHORTSUFFIX=dos -IMPORTLIBPREFIX= -endif -ifeq ($(OS_TARGET),watcom) -STATICLIBPREFIX= -SHORTSUFFIX=wat -IMPORTLIBPREFIX= -endif -ifeq ($(OS_TARGET),linux) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=lnx -endif -ifeq ($(OS_TARGET),freebsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=fbs -endif -ifeq ($(OS_TARGET),netbsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=nbs -endif -ifeq ($(OS_TARGET),openbsd) -BATCHEXT=.sh -EXEEXT= -HASSHAREDLIB=1 -SHORTSUFFIX=obs -endif -ifeq ($(OS_TARGET),win32) -PPUEXT=.ppw -OEXT=.ow -ASMEXT=.sw -SMARTEXT=.slw -STATICLIBEXT=.aw -SHAREDLIBEXT=.dll -SHORTSUFFIX=w32 -endif -ifeq ($(OS_TARGET),os2) -BATCHEXT=.cmd -PPUEXT=.ppo -ASMEXT=.so2 -OEXT=.oo2 -AOUTEXT=.out -SMARTEXT=.sl2 -STATICLIBPREFIX= -STATICLIBEXT=.ao2 -SHAREDLIBEXT=.dll -SHORTSUFFIX=os2 -ECHO=echo -IMPORTLIBPREFIX= -endif -ifeq ($(OS_TARGET),amiga) -EXEEXT= -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.library -SHORTSUFFIX=amg -endif -ifeq ($(OS_TARGET),atari) -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT=.ttp -SHORTSUFFIX=ata -endif -ifeq ($(OS_TARGET),beos) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=be -endif -ifeq ($(OS_TARGET),solaris) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=sun -endif -ifeq ($(OS_TARGET),qnx) -BATCHEXT=.sh -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -SHORTSUFFIX=qnx -endif -ifeq ($(OS_TARGET),netware) -STATICLIBPREFIX= -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.nlm -EXEEXT=.nlm -SHORTSUFFIX=nw -IMPORTLIBPREFIX=imp -endif -ifeq ($(OS_TARGET),netwlibc) -STATICLIBPREFIX= -PPUEXT=.ppu -OEXT=.o -ASMEXT=.s -SMARTEXT=.sl -STATICLIBEXT=.a -SHAREDLIBEXT=.nlm -EXEEXT=.nlm -SHORTSUFFIX=nwl -IMPORTLIBPREFIX=imp -endif -ifeq ($(OS_TARGET),macos) -BATCHEXT= -PPUEXT=.ppu -ASMEXT=.s -OEXT=.o -SMARTEXT=.sl -STATICLIBEXT=.a -EXEEXT= -DEBUGSYMEXT=.xcoff -SHORTSUFFIX=mac -IMPORTLIBPREFIX=imp -endif -endif ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) FPCMADE=fpcmade.$(SHORTSUFFIX) ZIPSUFFIX=$(SHORTSUFFIX) @@ -2274,15 +2124,6 @@ ASNAME=$(BINUTILSPREFIX)as LDNAME=$(BINUTILSPREFIX)ld ARNAME=$(BINUTILSPREFIX)ar RCNAME=$(BINUTILSPREFIX)rc -ifneq ($(findstring 1.0.,$(FPC_VERSION)),) -ifeq ($(OS_TARGET),win32) -ifeq ($(CROSSBINDIR),) -ASNAME=asw -LDNAME=ldw -ARNAME=arw -endif -endif -endif ifndef ASPROG ifdef CROSSBINDIR ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT) @@ -3478,9 +3319,12 @@ else INSTALLEXEFILE=$(EXENAME) endif PPC_TARGETS=i386 m68k powerpc sparc arm armeb x86_64 powerpc64 alpha vis ia64 mips mipsel -.PHONY: $(PPC_TARGETS) +INSTALL_TARGETS=$(addsuffix _exe_install,$(sort $(CYCLETARGETS) $(PPC_TARGETS))) +.PHONY: $(PPC_TARGETS) $(INSTALL_TARGETS) $(PPC_TARGETS): $(MAKE) PPC_TARGET=$@ CPU_UNITDIR=$@ all +$(INSTALL_TARGETS): + $(MAKE) all exeinstall PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) alltargets: $(ALLTARGETS) .NOTPARALLEL: .PHONY: all compiler echotime ppuclean execlean clean distclean @@ -3679,7 +3523,7 @@ fullcycle: $(MAKE) $(filter-out $(PPC_TARGET),$(CYCLETARGETS)) 'FPC=$(BASEDIR)/$(EXENAME)' htmldocs: $(PASDOC) -p -h -o html$(PATHSEP)$(PPC_TARGET) -d fpc -d gdb -d $(PPC_TARGET) -u $(PPC_TARGET) $(PPC_TARGET)$(PATHSEP)*.pas systems$(PATHSEP)*.pas *.pas -.PHONY: quickinstall install installsym +.PHONY: quickinstall exeinstall install installsym MSGINSTALLDIR=$(INSTALL_BASEDIR)/msg override PPEXEFILE:=$(wildcard $(EXENAME)) ifdef UNIXHier @@ -3688,6 +3532,8 @@ else PPCCPULOCATION=$(INSTALL_BINDIR) endif quickinstall: $(addsuffix _install,$(TARGET_DIRS)) + $(MAKE) exeinstall +exeinstall: ifneq ($(INSTALLEXEFILE),) ifdef UPXPROG -$(UPXPROG) $(INSTALLEXEFILE) @@ -3695,6 +3541,8 @@ endif $(MKDIR) $(PPCCPULOCATION) $(INSTALLEXE) $(INSTALLEXEFILE) $(PPCCPULOCATION)/$(INSTALLEXEFILE) endif +fullinstall: + $(MAKE) $(addsuffix _exe_install,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))) install: quickinstall ifndef CROSSINSTALL ifdef UNIXHier diff --git a/compiler/Makefile.fpc b/compiler/Makefile.fpc index 64c3c19af6..b7e15e95e0 100644 --- a/compiler/Makefile.fpc +++ b/compiler/Makefile.fpc @@ -315,12 +315,16 @@ endif ##################################################################### PPC_TARGETS=i386 m68k powerpc sparc arm armeb x86_64 powerpc64 alpha vis ia64 mips mipsel +INSTALL_TARGETS=$(addsuffix _exe_install,$(sort $(CYCLETARGETS) $(PPC_TARGETS))) -.PHONY: $(PPC_TARGETS) +.PHONY: $(PPC_TARGETS) $(INSTALL_TARGETS) $(PPC_TARGETS): $(MAKE) PPC_TARGET=$@ CPU_UNITDIR=$@ all +$(INSTALL_TARGETS): + $(MAKE) all exeinstall PPC_TARGET=$(subst _exe_install,,$@) CPU_UNITDIR=$(subst _exe_install,,$@) + alltargets: $(ALLTARGETS) @@ -647,7 +651,7 @@ htmldocs: # Installation ##################################################################### -.PHONY: quickinstall install installsym +.PHONY: quickinstall exeinstall install installsym MSGINSTALLDIR=$(INSTALL_BASEDIR)/msg override PPEXEFILE:=$(wildcard $(EXENAME)) @@ -660,9 +664,12 @@ endif # This will only install the ppcXXX executable, not the message files etc. quickinstall: $(addsuffix _install,$(TARGET_DIRS)) + $(MAKE) exeinstall + # Install ppcXXX executable, for a cross installation we install # the ppcrossXXX as ppcXXX. The target native build ppcXXX is not used # for this installation type +exeinstall: ifneq ($(INSTALLEXEFILE),) ifdef UPXPROG -$(UPXPROG) $(INSTALLEXEFILE) @@ -671,6 +678,9 @@ endif $(INSTALLEXE) $(INSTALLEXEFILE) $(PPCCPULOCATION)/$(INSTALLEXEFILE) endif +fullinstall: + $(MAKE) $(addsuffix _exe_install,$(filter-out $(PPC_TARGET),$(CYCLETARGETS))) + install: quickinstall ifndef CROSSINSTALL ifdef UNIXHier