diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-04-15 15:54:10 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-04-15 15:54:10 +0000 |
commit | fee1bb3ec8fc6e8b528ef2fefb1ebe63758f162b (patch) | |
tree | 62af4439c8c2569f831cd135a6c5bf397de464d4 /Makefile | |
parent | 4c6a532db289fbfb49487652fb644b77d0e6977a (diff) | |
parent | b4e67ab336b17cc2fd10d3121d5af87c5d9b071d (diff) | |
download | fpc-fee1bb3ec8fc6e8b528ef2fefb1ebe63758f162b.tar.gz |
* merged trunk up to r20882
o support for the new codepage-aware ansistrings in the jvm branch
o empty ansistrings are now always represented by a nil pointer rather than
by an empty string, because an empty string also has a code page which
can confuse code (although this will make ansistrings harder to use
in Java code)
o more string helpers code shared between the general and jvm rtl
o support for indexbyte/word in the jvm rtl (warning: first parameter
is an open array rather than an untyped parameter there, so
indexchar(pcharvar^,10,0) will be equivalent to
indexchar[pcharvar^],10,0) there, which is different from what is
intended; changing it to an untyped parameter wouldn't help though)
o default() support is not yet complete
o calling fpcres is currently broken due to limitations in
sysutils.executeprocess() regarding handling unix quoting and
the compiler using the same command lines for scripts and directly
calling external programs
o compiling the Java compiler currently requires adding ALLOW_WARNINGS=1
to the make command line
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/jvmbackend@20887 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 290 |
1 files changed, 89 insertions, 201 deletions
@@ -1,10 +1,10 @@ # -# Don't edit, this file is generated by FPCMake Version 2.0.0 [2011/12/12] +# Don't edit, this file is generated by FPCMake Version 2.0.0 [2012/04/13] # default: help -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 jvm-java jvm-android +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 powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-openbsd 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 powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux jvm-java jvm-android BSDs = freebsd netbsd openbsd darwin -UNIXs = linux $(BSDs) solaris qnx haiku +UNIXs = linux $(BSDs) solaris qnx haiku aix LIMIT83fs = go32v2 os2 emx watcom OSNeedsComspecToRunBatch = go32v2 watcom FORCE: @@ -153,12 +153,6 @@ ifdef OS_TARGET_DEFAULT OS_TARGET=$(OS_TARGET_DEFAULT) endif endif -ifneq ($(words $(FPC_COMPILERINFO)),5) -FPC_COMPILERINFO+=$(shell $(FPC) -iSP) -FPC_COMPILERINFO+=$(shell $(FPC) -iTP) -FPC_COMPILERINFO+=$(shell $(FPC) -iSO) -FPC_COMPILERINFO+=$(shell $(FPC) -iTO) -endif ifndef CPU_SOURCE CPU_SOURCE:=$(word 2,$(FPC_COMPILERINFO)) endif @@ -184,6 +178,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) @@ -402,13 +402,19 @@ BUILDOPTS=FPC=$(PPNEW) RELEASE=1 INSTALLOPTS=FPC=$(PPNEW) ZIPDESTDIR=$(BASEDIR) FPCMAKE=$(FPCMAKENEW) ifndef CROSSCOMPILE ifneq ($(wildcard ide),) -IDETARGETS=go32v2 win32 win64 linux freebsd os2 emx beos haiku +IDETARGETS=go32v2 win32 win64 linux freebsd os2 emx beos haiku ifneq ($(findstring $(OS_TARGET),$(IDETARGETS)),) IDE=1 endif endif endif BuildOnlyBaseCPUs=jvm +ifneq ($(wildcard utils),) +NOUTILSTARGETS=embedded gba $(BuildOnlyBaseCPUs) +ifeq ($(findstring $(OS_TARGET),$(NOUTILSTARGETS)),) +UTILS=1 +endif +endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_DIRS+=compiler rtl utils packages ide installer endif @@ -523,6 +529,9 @@ endif ifeq ($(FULL_TARGET),powerpc-wii) override TARGET_DIRS+=compiler rtl utils packages ide installer endif +ifeq ($(FULL_TARGET),powerpc-aix) +override TARGET_DIRS+=compiler rtl utils packages ide installer +endif ifeq ($(FULL_TARGET),sparc-linux) override TARGET_DIRS+=compiler rtl utils packages ide installer endif @@ -544,6 +553,9 @@ endif ifeq ($(FULL_TARGET),x86_64-solaris) override TARGET_DIRS+=compiler rtl utils packages ide installer endif +ifeq ($(FULL_TARGET),x86_64-openbsd) +override TARGET_DIRS+=compiler rtl utils packages ide installer +endif ifeq ($(FULL_TARGET),x86_64-darwin) override TARGET_DIRS+=compiler rtl utils packages ide installer endif @@ -586,6 +598,9 @@ endif ifeq ($(FULL_TARGET),powerpc64-embedded) override TARGET_DIRS+=compiler rtl utils packages ide installer endif +ifeq ($(FULL_TARGET),powerpc64-aix) +override TARGET_DIRS+=compiler rtl utils packages ide installer +endif ifeq ($(FULL_TARGET),avr-embedded) override TARGET_DIRS+=compiler rtl utils packages ide installer endif @@ -595,6 +610,9 @@ endif ifeq ($(FULL_TARGET),armeb-embedded) override TARGET_DIRS+=compiler rtl utils packages ide installer endif +ifeq ($(FULL_TARGET),mips-linux) +override TARGET_DIRS+=compiler rtl utils packages ide installer +endif ifeq ($(FULL_TARGET),mipsel-linux) override TARGET_DIRS+=compiler rtl utils packages ide installer endif @@ -815,7 +833,7 @@ SHAREDLIBPREFIX=libfp STATICLIBPREFIX=libp IMPORTLIBPREFIX=libimp RSTEXT=.rst -ifeq ($(findstring 1.0.,$(FPC_VERSION)),) +EXEDBGEXT=.dbg ifeq ($(OS_TARGET),go32v1) STATICLIBPREFIX= SHORTSUFFIX=v1 @@ -937,6 +955,7 @@ BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 SHORTSUFFIX=dwn +EXEDBGEXT=.dSYM endif ifeq ($(OS_TARGET),gba) EXEEXT=.gba @@ -956,6 +975,11 @@ EXEEXT=.dol SHAREDLIBEXT=.so SHORTSUFFIX=wii endif +ifeq ($(OS_TARGET),aix) +BATCHEXT=.sh +EXEEXT= +SHORTSUFFIX=aix +endif ifeq ($(OS_TARGET),java) OEXT=.class ASMEXT=.j @@ -968,161 +992,6 @@ ASMEXT=.j SHAREDLIBEXT=.jar SHORTSUFFIX=android 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) @@ -1312,15 +1181,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) @@ -1364,25 +1224,6 @@ DATESTR:=$(shell $(DATE) +%Y%m%d) else DATESTR= endif -ifndef UPXPROG -ifeq ($(OS_TARGET),go32v2) -UPXPROG:=1 -endif -ifeq ($(OS_TARGET),win32) -UPXPROG:=1 -endif -ifdef UPXPROG -UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH)))) -ifeq ($(UPXPROG),) -UPXPROG= -else -UPXPROG:=$(firstword $(UPXPROG)) -endif -else -UPXPROG= -endif -endif -export UPXPROG ZIPOPT=-9 ZIPEXT=.zip ifeq ($(USETAR),bz2) @@ -1403,6 +1244,7 @@ override FPCOPT+=-P$(ARCH) endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) +override FPCMAKEOPT+=-FD$(NEW_BINUTILS_PATH) endif ifndef CROSSBOOTSTRAP ifneq ($(BINUTILSPREFIX),) @@ -1412,6 +1254,11 @@ ifneq ($(BINUTILSPREFIX),) override FPCOPT+=-Xr$(RLINKPATH) endif endif +ifndef CROSSCOMPILE +ifneq ($(BINUTILSPREFIX),) +override FPCMAKEOPT+=-XP$(BINUTILSPREFIX) +endif +endif ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif @@ -1503,7 +1350,7 @@ override FPCOPT+=-Aas endif endif ifeq ($(findstring 2.0.,$(FPC_VERSION)),) -ifneq ($(findstring $(OS_TARGET),linux solaris),) +ifneq ($(findstring $(OS_TARGET),freebsd openbsd netbsd linux solaris),) ifeq ($(CPU_TARGET),x86_64) override FPCOPT+=-Cg endif @@ -1572,9 +1419,6 @@ endif fpc_install: all $(INSTALLTARGET) ifdef INSTALLEXEFILES $(MKDIR) $(INSTALL_BINDIR) -ifdef UPXPROG - -$(UPXPROG) $(INSTALLEXEFILES) -endif $(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR) endif ifdef INSTALL_CREATEPACKAGEFPC @@ -1708,9 +1552,11 @@ fpc_zipdistinstall: .PHONY: fpc_clean fpc_cleanall fpc_distclean ifdef EXEFILES override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES)) +override CLEANEXEDBGFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEDBGFILES)) endif ifdef CLEAN_PROGRAMS override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS))) +override CLEANEXEDBGFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEDBGEXT), $(CLEAN_PROGRAMS))) endif ifdef CLEAN_UNITS override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) @@ -1727,6 +1573,9 @@ fpc_clean: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) endif +ifdef CLEANEXEDBGFILES + -$(DELTREE) $(CLEANEXEDBGFILES) +endif ifdef CLEANPPUFILES -$(DEL) $(CLEANPPUFILES) endif @@ -1828,7 +1677,6 @@ fpc_baseinfo: @$(ECHO) Date...... $(DATE) @$(ECHO) FPCMake... $(FPCMAKE) @$(ECHO) PPUMove... $(PPUMOVE) - @$(ECHO) Upx....... $(UPXPROG) @$(ECHO) Zip....... $(ZIPPROG) @$(ECHO) @$(ECHO) == Object info == @@ -2189,6 +2037,14 @@ TARGET_DIRS_PACKAGES=1 TARGET_DIRS_IDE=1 TARGET_DIRS_INSTALLER=1 endif +ifeq ($(FULL_TARGET),powerpc-aix) +TARGET_DIRS_COMPILER=1 +TARGET_DIRS_RTL=1 +TARGET_DIRS_UTILS=1 +TARGET_DIRS_PACKAGES=1 +TARGET_DIRS_IDE=1 +TARGET_DIRS_INSTALLER=1 +endif ifeq ($(FULL_TARGET),sparc-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 @@ -2245,6 +2101,14 @@ TARGET_DIRS_PACKAGES=1 TARGET_DIRS_IDE=1 TARGET_DIRS_INSTALLER=1 endif +ifeq ($(FULL_TARGET),x86_64-openbsd) +TARGET_DIRS_COMPILER=1 +TARGET_DIRS_RTL=1 +TARGET_DIRS_UTILS=1 +TARGET_DIRS_PACKAGES=1 +TARGET_DIRS_IDE=1 +TARGET_DIRS_INSTALLER=1 +endif ifeq ($(FULL_TARGET),x86_64-darwin) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 @@ -2357,6 +2221,14 @@ TARGET_DIRS_PACKAGES=1 TARGET_DIRS_IDE=1 TARGET_DIRS_INSTALLER=1 endif +ifeq ($(FULL_TARGET),powerpc64-aix) +TARGET_DIRS_COMPILER=1 +TARGET_DIRS_RTL=1 +TARGET_DIRS_UTILS=1 +TARGET_DIRS_PACKAGES=1 +TARGET_DIRS_IDE=1 +TARGET_DIRS_INSTALLER=1 +endif ifeq ($(FULL_TARGET),avr-embedded) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 @@ -2381,6 +2253,14 @@ TARGET_DIRS_PACKAGES=1 TARGET_DIRS_IDE=1 TARGET_DIRS_INSTALLER=1 endif +ifeq ($(FULL_TARGET),mips-linux) +TARGET_DIRS_COMPILER=1 +TARGET_DIRS_RTL=1 +TARGET_DIRS_UTILS=1 +TARGET_DIRS_PACKAGES=1 +TARGET_DIRS_IDE=1 +TARGET_DIRS_INSTALLER=1 +endif ifeq ($(FULL_TARGET),mipsel-linux) TARGET_DIRS_COMPILER=1 TARGET_DIRS_RTL=1 @@ -2713,7 +2593,7 @@ compiler_cycle: $(MAKE) -C compiler cycle BUILDSTAMP=build-stamp.$(FULL_TARGET) .PHONY: all clean distclean build buildbase install installbase installother zipinstallbase zipinstallotherzipinstall singlezipinstall -ifeq ( $findstring($CPU_TAGET,$BuildOnlyBaseCPUs),) +ifeq ($(findstring $(CPU_TARGET),$(BuildOnlyBaseCPUs)),) all: build install: installall else @@ -2729,14 +2609,18 @@ $(BUILDSTAMP): $(MAKE) compiler_cycle RELEASE=1 $(MAKE) rtl_clean $(CLEANOPTS) $(MAKE) packages_clean $(CLEANOPTS) +ifdef UTILS $(MAKE) utils_clean $(CLEANOPTS) +endif ifdef IDE $(MAKE) ide_clean $(CLEANOPTS) $(MAKE) installer_clean $(CLEANOPTS) endif $(MAKE) rtl_$(ALLTARGET) $(BUILDOPTS) $(MAKE) packages_$(ALLTARGET) $(BUILDOPTS) +ifdef UTILS $(MAKE) utils_all $(BUILDOPTS) +endif ifdef IDE $(MAKE) ide_all $(BUILDOPTS) $(MAKE) installer_all $(BUILDOPTS) @@ -2755,7 +2639,9 @@ installbase: base.$(BUILDSTAMP) $(MAKE) rtl_$(INSTALLTARGET) $(INSTALLOPTS) installother: $(MAKE) packages_$(INSTALLTARGET) $(INSTALLOPTS) +ifdef UTILS $(MAKE) utils_$(INSTALLTARGET) $(INSTALLOPTS) +endif ifdef IDE $(MAKE) ide_$(INSTALLTARGET) $(BUILDOPTS) endif @@ -2763,13 +2649,15 @@ zipinstallbase: $(MAKE) fpc_zipinstall ZIPTARGET=installbase ZIPNAME=base $(INSTALLOPTS) zipinstallother: $(MAKE) packages_zip$(INSTALLTARGET) $(INSTALLOPTS) ZIPPREFIX=$(PKGUNITSPRE) +ifdef UTILS $(MAKE) utils_zip$(INSTALLTARGET) $(INSTALLOPTS) +endif ifdef IDE $(MAKE) ide_zip$(INSTALLTARGET) $(INSTALLOPTS) endif installall: $(BUILDSTAMP) $(MAKE) installbase $(INSTALLOPTS) -ifeq ( $(findstring($CPU_TARGET, BuildOnlyBaseCPUs)),) +ifeq ($(findstring $(CPU_TARGET), $(BuildOnlyBaseCPUs)),) $(MAKE) installother $(INSTALLOPTS) endif singlezipinstall: zipinstall |