diff --git a/rtl/Makefile b/rtl/Makefile index bdd029dbc0..e008875c1a 100644 --- a/rtl/Makefile +++ b/rtl/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/06/06] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos @@ -954,193 +954,6 @@ else TAROPT=vz TAREXT=.tar.gz endif -override REQUIRE_PACKAGES=rtl -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),powerpc) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),sparc) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),x86_64) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),arm) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),go32v2) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),win32) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),os2) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),freebsd) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),freebsd) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),freebsd) -ifeq ($(CPU_TARGET),x86_64) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),beos) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),netbsd) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),netbsd) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),netbsd) -ifeq ($(CPU_TARGET),powerpc) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),netbsd) -ifeq ($(CPU_TARGET),sparc) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),amiga) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),atari) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),sunos) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),sunos) -ifeq ($(CPU_TARGET),sparc) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),qnx) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),netware) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),openbsd) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),openbsd) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),wdosx) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),palmos) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),macos) -ifeq ($(CPU_TARGET),powerpc) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),darwin) -ifeq ($(CPU_TARGET),powerpc) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),emx) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),watcom) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifeq ($(OS_TARGET),morphos) -ifeq ($(CPU_TARGET),powerpc) -REQUIRE_PACKAGES_RTL=1 -endif -endif -ifdef REQUIRE_PACKAGES_RTL -PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR)))))) -ifneq ($(PACKAGEDIR_RTL),) -ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),) -UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET) -else -UNITDIR_RTL=$(PACKAGEDIR_RTL) -endif -ifdef CHECKDEPEND -$(PACKAGEDIR_RTL)/$(FPCMADE): - $(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE) -override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE) -endif -else -PACKAGEDIR_RTL= -UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR))))) -ifneq ($(UNITDIR_RTL),) -UNITDIR_RTL:=$(firstword $(UNITDIR_RTL)) -else -UNITDIR_RTL= -endif -endif -ifdef UNITDIR_RTL -override COMPILER_UNITDIR+=$(UNITDIR_RTL) -endif -endif ifndef NOCPUDEF override FPCOPTDEF=$(CPU_TARGET) endif diff --git a/rtl/amiga/Makefile b/rtl/amiga/Makefile index 8275bb6221..1f9f5f8284 100644 --- a/rtl/amiga/Makefile +++ b/rtl/amiga/Makefile @@ -1,15 +1,25 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/07] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx -override PATH:=$(subst \,/,$(PATH)) +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos +BSDs = freebsd netbsd openbsd darwin +UNIXs = linux $(BSDs) sunos qnx +FORCE: +.PHONY: FORCE +override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH))) +ifneq ($(findstring darwin,$(OSTYPE)),) +inUnix=1 #darwin +SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) +else ifeq ($(findstring ;,$(PATH)),) inUnix=1 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) else SEARCHPATH:=$(subst ;, ,$(PATH)) endif +endif +SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE)))) PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) @@ -36,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),) inCygWin=1 endif endif -ifeq ($(OS_TARGET),freebsd) -BSDhier=1 -endif -ifeq ($(OS_TARGET),netbsd) -BSDhier=1 -endif -ifeq ($(OS_TARGET),openbsd) -BSDhier=1 -endif ifdef inUnix -BATCHEXT=.sh +SRCBATCHEXT=.sh else ifdef inOS2 -BATCHEXT=.cmd +SRCBATCHEXT=.cmd else -BATCHEXT=.bat +SRCBATCHEXT=.bat endif endif ifdef inUnix @@ -156,6 +157,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) endif endif +ifneq ($(findstring $(OS_TARGET),$(BSDs)),) +BSDhier=1 +endif +ifeq ($(OS_TARGET),linux) +linuxHier=1 +endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) @@ -185,11 +192,14 @@ override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR:=$(BASEDIR) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=c:/pp endif endif endif endif +endif ifndef CROSSDIR CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) endif @@ -240,42 +250,12 @@ ifdef REQUIRE_PACKAGESDIR override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) endif ifdef ZIPINSTALL -ifeq ($(OS_TARGET),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),netbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),openbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),sunos) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),qnx) -UNIXINSTALLDIR=1 +ifneq ($(findstring $(OS_TARGET),$(UNIXs)),) +UNIXHier=1 endif else -ifeq ($(OS_SOURCE),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),netbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),openbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),sunos) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),qnx) -UNIXINSTALLDIR=1 +ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),) +UNIXHier=1 endif endif ifndef INSTALL_PREFIX @@ -284,7 +264,7 @@ INSTALL_PREFIX=$(PREFIX) endif endif ifndef INSTALL_PREFIX -ifdef UNIXINSTALLDIR +ifdef UNIXHier INSTALL_PREFIX=/usr/local else ifdef INSTALL_FPCPACKAGE @@ -303,7 +283,7 @@ DIST_DESTDIR:=$(BASEDIR) endif export DIST_DESTDIR ifndef INSTALL_BASEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) else @@ -314,10 +294,18 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX) endif endif ifndef INSTALL_BINDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier +ifdef CROSSCOMPILE +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin +else INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin +endif +else +ifdef CROSSCOMPILE +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin else INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin +endif ifdef INSTALL_FPCPACKAGE INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) endif @@ -336,19 +324,23 @@ endif endif endif ifndef INSTALL_LIBDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib else INSTALL_LIBDIR:=$(INSTALL_UNITDIR) endif endif ifndef INSTALL_SOURCEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef BSDhier SRCPREFIXDIR=share/src else +ifdef linuxHier +SRCPREFIXDIR=share/src +else SRCPREFIXDIR=src endif +endif ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) @@ -371,12 +363,16 @@ endif endif endif ifndef INSTALL_DOCDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef BSDhier DOCPREFIXDIR=share/doc else +ifdef linuxHier +DOCPREFIXDIR=share/doc +else DOCPREFIXDIR=doc endif +endif ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else @@ -391,20 +387,28 @@ endif endif endif ifndef INSTALL_EXAMPLEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef INSTALL_FPCPACKAGE ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else +ifdef linuxHier +INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples +else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) endif +endif else ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) else +ifdef linuxHier +INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif endif +endif else ifdef INSTALL_FPCPACKAGE INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) @@ -426,6 +430,7 @@ endif else CROSSBINDIR= endif +BATCHEXT=.bat LOADEREXT=.as EXEEXT=.exe PPLEXT=.ppl @@ -449,25 +454,37 @@ STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +FPCMADE=fpcmade.wat +ZIPSUFFIX=watc +OEXT=.obj +ASMEXT=.asm +SHAREDLIBEXT=.dll +endif ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),openbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.openbsd @@ -479,6 +496,7 @@ FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) +BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll @@ -487,6 +505,7 @@ ZIPSUFFIX=os2 ECHO=echo endif ifeq ($(OS_TARGET),emx) +BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll @@ -499,21 +518,29 @@ EXEEXT= SHAREDLIBEXT=.library FPCMADE=fpcmade.amg endif +ifeq ($(OS_TARGET),morphos) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.mos +endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx @@ -525,10 +552,14 @@ FPCMADE=fpcmade.nw ZIPSUFFIX=nw endif ifeq ($(OS_TARGET),macos) +BATCHEXT= EXEEXT= -FPCMADE=fpcmade.mcc +FPCMADE=fpcmade.macos +ZIPSUFFIX=macos +DEBUGSYMEXT=.xcoff endif ifeq ($(OS_TARGET),darwin) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.darwin @@ -551,25 +582,34 @@ STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=watcom +endif ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),openbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.openbsd @@ -586,6 +626,7 @@ FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) +BATCHEXT=.cmd PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 @@ -618,6 +659,7 @@ EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -628,6 +670,7 @@ FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -638,6 +681,7 @@ FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -660,13 +704,15 @@ ZIPSUFFIX=nw EXEEXT=.nlm endif ifeq ($(OS_TARGET),macos) +BATCHEXT= PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= -FPCMADE=fpcmade.mcc +DEBUGSYMEXT=.xcoff +FPCMADE=fpcmade.macos endif endif ifndef ECHO @@ -674,7 +720,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) -ECHO= +ECHO= __missing_command__ else ECHO:=$(firstword $(ECHO)) endif @@ -688,7 +734,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) -DATE= +DATE= __missing_command__ else DATE:=$(firstword $(DATE)) endif @@ -702,7 +748,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) -GINSTALL= +GINSTALL= __missing_command__ else GINSTALL:=$(firstword $(GINSTALL)) endif @@ -714,7 +760,7 @@ export GINSTALL ifndef CPPROG CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(CPPROG),) -CPPROG= +CPPROG= __missing_command__ else CPPROG:=$(firstword $(CPPROG)) endif @@ -723,7 +769,7 @@ export CPPROG ifndef RMPROG RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(RMPROG),) -RMPROG= +RMPROG= __missing_command__ else RMPROG:=$(firstword $(RMPROG)) endif @@ -732,14 +778,18 @@ export RMPROG ifndef MVPROG MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MVPROG),) -MVPROG= +MVPROG= __missing_command__ else MVPROG:=$(firstword $(MVPROG)) endif endif export MVPROG ifndef ECHOREDIR -ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO)) +ifndef inUnix +ECHOREDIR=echo +else +ECHOREDIR=$(ECHO) +endif endif ifndef COPY COPY:=$(CPPROG) -fp @@ -777,7 +827,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) -PPUMOVE= +PPUMOVE= __missing_command__ else PPUMOVE:=$(firstword $(PPUMOVE)) endif @@ -786,7 +836,7 @@ export PPUMOVE ifndef FPCMAKE FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(FPCMAKE),) -FPCMAKE= +FPCMAKE= __missing_command__ else FPCMAKE:=$(firstword $(FPCMAKE)) endif @@ -795,7 +845,7 @@ export FPCMAKE ifndef ZIPPROG ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) -ZIPPROG= +ZIPPROG= __missing_command__ else ZIPPROG:=$(firstword $(ZIPPROG)) endif @@ -804,21 +854,25 @@ export ZIPPROG ifndef TARPROG TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) -TARPROG= +TARPROG= __missing_command__ else TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG -ASNAME=as -LDNAME=ld -ARNAME=ar -RCNAME=rc +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) @@ -851,7 +905,7 @@ AS=$(ASPROG) LD=$(LDPROG) RC=$(RCPROG) AR=$(ARPROG) -PPAS=ppas$(BATCHEXT) +PPAS=ppas$(SRCBATCHEXT) ifdef inUnix LDCONFIG=ldconfig else @@ -899,6 +953,14 @@ endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) endif +ifndef CROSSBOOTSTRAP +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc +endif +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-Xr$(RLINKPATH) +endif +endif ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif @@ -925,8 +987,12 @@ ifdef RELEASE ifeq ($(CPU_TARGET),i386) FPCCPUOPT:=-OG2p3 else +ifeq ($(CPU_TARGET),powerpc) +FPCCPUOPT:=-O1 +else FPCCPUOPT:= endif +endif override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif @@ -1008,7 +1074,7 @@ EXECPPAS:=@$(PPAS) endif endif .PHONY: fpc_loaders -ifdef TARGET_LOADERS +ifneq ($(TARGET_LOADERS),) override ALLTARGET+=fpc_loaders override CLEANTARGET+=fpc_loaders_clean override INSTALLTARGET+=fpc_loaders_install @@ -1023,7 +1089,7 @@ fpc_loaders_install: $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR) .PHONY: fpc_units -ifdef TARGET_UNITS +ifneq ($(TARGET_UNITS),) override ALLTARGET+=fpc_units override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) @@ -1045,7 +1111,7 @@ fpc_debug: $(MAKE) all DEBUG=1 fpc_release: $(MAKE) all RELEASE=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) @@ -1058,10 +1124,14 @@ fpc_release: %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) +%$(EXEEXT): %.dpr + $(COMPILER) $< + $(EXECPPAS) %.res: %.rc windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) +vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall ifdef INSTALL_UNITS @@ -1138,6 +1208,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) +ifdef DEBUGSYMEXT +override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) +endif override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) endif @@ -1161,6 +1234,7 @@ ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) fpc_distclean: clean ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean @@ -1172,9 +1246,13 @@ endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *_ppas$(BATCHEXT) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif +ifdef DEBUGSYMEXT + -$(DEL) *$(DEBUGSYMEXT) +endif .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo fpc_baseinfo: @@ -1320,6 +1398,8 @@ objpas$(PPUEXT) : $(OBJPASDIR)/objpas.pp system$(PPUEXT) sysutils$(PPUEXT) : $(OBJPASDIR)/sysutils.pp objpas$(PPUEXT) system$(PPUEXT) $(COPY) $(OBJPASDIR)/sysutils.pp . $(COMPILER) sysutils $(REDIR) +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) dos$(PPUEXT) : $(DOSDEPS) system$(PPUEXT) $(COMPILER) dos $(REDIR) crt$(PPUEXT) : crt.pp $(INC)/textrec.inc system$(PPUEXT) diff --git a/rtl/amiga/Makefile.fpc b/rtl/amiga/Makefile.fpc index bef4f418e3..965138499f 100644 --- a/rtl/amiga/Makefile.fpc +++ b/rtl/amiga/Makefile.fpc @@ -116,6 +116,13 @@ sysutils$(PPUEXT) : $(OBJPASDIR)/sysutils.pp objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) sysutils $(REDIR) #$(DEL) sysutils.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # System Dependent Units # @@ -148,7 +155,10 @@ heaptrc$(PPUEXT) : $(INC)/heaptrc.pp system$(PPUEXT) # # $Log$ -# Revision 1.7 2004-07-07 21:37:29 daniel +# Revision 1.8 2004-08-16 16:22:17 olle +# + Added unit macpas +# +# Revision 1.7 2004/07/07 21:37:29 daniel # * Matrix unit included in build process # # Revision 1.6 2004/05/06 22:01:17 florian diff --git a/rtl/beos/Makefile b/rtl/beos/Makefile index 1a858033ea..9725fe3927 100644 --- a/rtl/beos/Makefile +++ b/rtl/beos/Makefile @@ -1,15 +1,25 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/07] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx -override PATH:=$(subst \,/,$(PATH)) +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos +BSDs = freebsd netbsd openbsd darwin +UNIXs = linux $(BSDs) sunos qnx +FORCE: +.PHONY: FORCE +override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH))) +ifneq ($(findstring darwin,$(OSTYPE)),) +inUnix=1 #darwin +SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) +else ifeq ($(findstring ;,$(PATH)),) inUnix=1 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) else SEARCHPATH:=$(subst ;, ,$(PATH)) endif +endif +SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE)))) PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) @@ -36,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),) inCygWin=1 endif endif -ifeq ($(OS_TARGET),freebsd) -BSDhier=1 -endif -ifeq ($(OS_TARGET),netbsd) -BSDhier=1 -endif -ifeq ($(OS_TARGET),openbsd) -BSDhier=1 -endif ifdef inUnix -BATCHEXT=.sh +SRCBATCHEXT=.sh else ifdef inOS2 -BATCHEXT=.cmd +SRCBATCHEXT=.cmd else -BATCHEXT=.bat +SRCBATCHEXT=.bat endif endif ifdef inUnix @@ -156,6 +157,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) endif endif +ifneq ($(findstring $(OS_TARGET),$(BSDs)),) +BSDhier=1 +endif +ifeq ($(OS_TARGET),linux) +linuxHier=1 +endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) @@ -185,11 +192,14 @@ override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR:=$(BASEDIR) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=c:/pp endif endif endif endif +endif ifndef CROSSDIR CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) endif @@ -230,42 +240,12 @@ ifdef REQUIRE_PACKAGESDIR override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) endif ifdef ZIPINSTALL -ifeq ($(OS_TARGET),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),netbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),openbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),sunos) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),qnx) -UNIXINSTALLDIR=1 +ifneq ($(findstring $(OS_TARGET),$(UNIXs)),) +UNIXHier=1 endif else -ifeq ($(OS_SOURCE),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),netbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),openbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),sunos) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),qnx) -UNIXINSTALLDIR=1 +ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),) +UNIXHier=1 endif endif ifndef INSTALL_PREFIX @@ -274,7 +254,7 @@ INSTALL_PREFIX=$(PREFIX) endif endif ifndef INSTALL_PREFIX -ifdef UNIXINSTALLDIR +ifdef UNIXHier INSTALL_PREFIX=/usr/local else ifdef INSTALL_FPCPACKAGE @@ -293,7 +273,7 @@ DIST_DESTDIR:=$(BASEDIR) endif export DIST_DESTDIR ifndef INSTALL_BASEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) else @@ -304,10 +284,18 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX) endif endif ifndef INSTALL_BINDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier +ifdef CROSSCOMPILE +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin +else INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin +endif +else +ifdef CROSSCOMPILE +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin else INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin +endif ifdef INSTALL_FPCPACKAGE INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) endif @@ -326,19 +314,23 @@ endif endif endif ifndef INSTALL_LIBDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib else INSTALL_LIBDIR:=$(INSTALL_UNITDIR) endif endif ifndef INSTALL_SOURCEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef BSDhier SRCPREFIXDIR=share/src else +ifdef linuxHier +SRCPREFIXDIR=share/src +else SRCPREFIXDIR=src endif +endif ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) @@ -361,12 +353,16 @@ endif endif endif ifndef INSTALL_DOCDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef BSDhier DOCPREFIXDIR=share/doc else +ifdef linuxHier +DOCPREFIXDIR=share/doc +else DOCPREFIXDIR=doc endif +endif ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else @@ -381,20 +377,28 @@ endif endif endif ifndef INSTALL_EXAMPLEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef INSTALL_FPCPACKAGE ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else +ifdef linuxHier +INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples +else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) endif +endif else ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) else +ifdef linuxHier +INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif endif +endif else ifdef INSTALL_FPCPACKAGE INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) @@ -416,6 +420,7 @@ endif else CROSSBINDIR= endif +BATCHEXT=.bat LOADEREXT=.as EXEEXT=.exe PPLEXT=.ppl @@ -439,25 +444,37 @@ STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +FPCMADE=fpcmade.wat +ZIPSUFFIX=watc +OEXT=.obj +ASMEXT=.asm +SHAREDLIBEXT=.dll +endif ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),openbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.openbsd @@ -469,6 +486,7 @@ FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) +BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll @@ -477,6 +495,7 @@ ZIPSUFFIX=os2 ECHO=echo endif ifeq ($(OS_TARGET),emx) +BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll @@ -489,21 +508,29 @@ EXEEXT= SHAREDLIBEXT=.library FPCMADE=fpcmade.amg endif +ifeq ($(OS_TARGET),morphos) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.mos +endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx @@ -515,10 +542,14 @@ FPCMADE=fpcmade.nw ZIPSUFFIX=nw endif ifeq ($(OS_TARGET),macos) +BATCHEXT= EXEEXT= -FPCMADE=fpcmade.mcc +FPCMADE=fpcmade.macos +ZIPSUFFIX=macos +DEBUGSYMEXT=.xcoff endif ifeq ($(OS_TARGET),darwin) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.darwin @@ -541,25 +572,34 @@ STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=watcom +endif ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),openbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.openbsd @@ -576,6 +616,7 @@ FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) +BATCHEXT=.cmd PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 @@ -608,6 +649,7 @@ EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -618,6 +660,7 @@ FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -628,6 +671,7 @@ FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -650,13 +694,15 @@ ZIPSUFFIX=nw EXEEXT=.nlm endif ifeq ($(OS_TARGET),macos) +BATCHEXT= PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= -FPCMADE=fpcmade.mcc +DEBUGSYMEXT=.xcoff +FPCMADE=fpcmade.macos endif endif ifndef ECHO @@ -664,7 +710,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) -ECHO= +ECHO= __missing_command__ else ECHO:=$(firstword $(ECHO)) endif @@ -678,7 +724,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) -DATE= +DATE= __missing_command__ else DATE:=$(firstword $(DATE)) endif @@ -692,7 +738,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) -GINSTALL= +GINSTALL= __missing_command__ else GINSTALL:=$(firstword $(GINSTALL)) endif @@ -704,7 +750,7 @@ export GINSTALL ifndef CPPROG CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(CPPROG),) -CPPROG= +CPPROG= __missing_command__ else CPPROG:=$(firstword $(CPPROG)) endif @@ -713,7 +759,7 @@ export CPPROG ifndef RMPROG RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(RMPROG),) -RMPROG= +RMPROG= __missing_command__ else RMPROG:=$(firstword $(RMPROG)) endif @@ -722,14 +768,18 @@ export RMPROG ifndef MVPROG MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MVPROG),) -MVPROG= +MVPROG= __missing_command__ else MVPROG:=$(firstword $(MVPROG)) endif endif export MVPROG ifndef ECHOREDIR -ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO)) +ifndef inUnix +ECHOREDIR=echo +else +ECHOREDIR=$(ECHO) +endif endif ifndef COPY COPY:=$(CPPROG) -fp @@ -767,7 +817,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) -PPUMOVE= +PPUMOVE= __missing_command__ else PPUMOVE:=$(firstword $(PPUMOVE)) endif @@ -776,7 +826,7 @@ export PPUMOVE ifndef FPCMAKE FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(FPCMAKE),) -FPCMAKE= +FPCMAKE= __missing_command__ else FPCMAKE:=$(firstword $(FPCMAKE)) endif @@ -785,7 +835,7 @@ export FPCMAKE ifndef ZIPPROG ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) -ZIPPROG= +ZIPPROG= __missing_command__ else ZIPPROG:=$(firstword $(ZIPPROG)) endif @@ -794,21 +844,25 @@ export ZIPPROG ifndef TARPROG TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) -TARPROG= +TARPROG= __missing_command__ else TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG -ASNAME=as -LDNAME=ld -ARNAME=ar -RCNAME=rc +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) @@ -841,7 +895,7 @@ AS=$(ASPROG) LD=$(LDPROG) RC=$(RCPROG) AR=$(ARPROG) -PPAS=ppas$(BATCHEXT) +PPAS=ppas$(SRCBATCHEXT) ifdef inUnix LDCONFIG=ldconfig else @@ -889,6 +943,14 @@ endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) endif +ifndef CROSSBOOTSTRAP +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc +endif +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-Xr$(RLINKPATH) +endif +endif ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif @@ -915,8 +977,12 @@ ifdef RELEASE ifeq ($(CPU_TARGET),i386) FPCCPUOPT:=-OG2p3 else +ifeq ($(CPU_TARGET),powerpc) +FPCCPUOPT:=-O1 +else FPCCPUOPT:= endif +endif override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif @@ -998,7 +1064,7 @@ EXECPPAS:=@$(PPAS) endif endif .PHONY: fpc_loaders -ifdef TARGET_LOADERS +ifneq ($(TARGET_LOADERS),) override ALLTARGET+=fpc_loaders override CLEANTARGET+=fpc_loaders_clean override INSTALLTARGET+=fpc_loaders_install @@ -1013,7 +1079,7 @@ fpc_loaders_install: $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR) .PHONY: fpc_units -ifdef TARGET_UNITS +ifneq ($(TARGET_UNITS),) override ALLTARGET+=fpc_units override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) @@ -1035,7 +1101,7 @@ fpc_debug: $(MAKE) all DEBUG=1 fpc_release: $(MAKE) all RELEASE=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) @@ -1048,10 +1114,14 @@ fpc_release: %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) +%$(EXEEXT): %.dpr + $(COMPILER) $< + $(EXECPPAS) %.res: %.rc windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) +vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall ifdef INSTALL_UNITS @@ -1128,6 +1198,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) +ifdef DEBUGSYMEXT +override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) +endif override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) endif @@ -1151,6 +1224,7 @@ ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) fpc_distclean: clean ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean @@ -1162,9 +1236,13 @@ endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *_ppas$(BATCHEXT) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif +ifdef DEBUGSYMEXT + -$(DEL) *$(DEBUGSYMEXT) +endif .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo fpc_baseinfo: @@ -1331,6 +1409,8 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT) diff --git a/rtl/beos/Makefile.fpc b/rtl/beos/Makefile.fpc index 205298c328..e2c6ff3b21 100644 --- a/rtl/beos/Makefile.fpc +++ b/rtl/beos/Makefile.fpc @@ -139,6 +139,13 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/darwin/Makefile b/rtl/darwin/Makefile index 71b275c722..cce0830c42 100644 --- a/rtl/darwin/Makefile +++ b/rtl/darwin/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/08] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos @@ -238,7 +238,7 @@ GRAPHDIR=$(INC)/graph ifndef USELIBGGI USELIBGGI=NO endif -override TARGET_UNITS+=$(SYSTEMUNIT) objpas strings sysctl baseunix unixtype unixutil unix initc cmem matrix dos dl objects printer sockets sysutils typinfo systhrds classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconst +override TARGET_UNITS+=$(SYSTEMUNIT) objpas macpas strings sysctl baseunix unixtype unixutil unix initc cmem matrix dos dl objects printer sockets sysutils typinfo systhrds classes math varutils charset ucomplex getopts heaptrc lineinfo errors terminfo termio video crt mouse keyboard console variants types sysctl dateutils sysconst cthreads strutils rtlconst override TARGET_RSTS+=math varutils typinfo classes variants dateutils systhrds sysconst rtlconst override INSTALL_FPCPACKAGE=y override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) $(UNIXINC) $(BSDINC) $(BSDPROCINC) $(OSPROCINC) @@ -1417,6 +1417,8 @@ rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/strutils.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/darwin/Makefile.fpc b/rtl/darwin/Makefile.fpc index 5eb957b5fa..2d570ebe21 100644 --- a/rtl/darwin/Makefile.fpc +++ b/rtl/darwin/Makefile.fpc @@ -8,7 +8,7 @@ main=rtl # disabled units: serial sockets ipc mouse console [target] loaders= -units=$(SYSTEMUNIT) objpas strings sysctl baseunix unixtype unixutil \ +units=$(SYSTEMUNIT) objpas macpas strings sysctl baseunix unixtype unixutil \ unix initc cmem matrix \ dos dl objects printer sockets \ sysutils typinfo systhrds classes math varutils \ @@ -195,6 +195,12 @@ strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/strutils.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) # # Other system-independent RTL Units diff --git a/rtl/emx/Makefile b/rtl/emx/Makefile index 830eacb717..a0b1d6cbad 100644 --- a/rtl/emx/Makefile +++ b/rtl/emx/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/18] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos @@ -1436,6 +1436,8 @@ convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutil.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/strutils.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) ucomplex$(PPUEXT): $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/emx/Makefile.fpc b/rtl/emx/Makefile.fpc index 89b01b99ce..9a21fcebd0 100644 --- a/rtl/emx/Makefile.fpc +++ b/rtl/emx/Makefile.fpc @@ -194,6 +194,13 @@ convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/strutils.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/freebsd/Makefile b/rtl/freebsd/Makefile index a1e9da617d..fa066d8a0c 100644 --- a/rtl/freebsd/Makefile +++ b/rtl/freebsd/Makefile @@ -1,15 +1,25 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/07] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx -override PATH:=$(subst \,/,$(PATH)) +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos +BSDs = freebsd netbsd openbsd darwin +UNIXs = linux $(BSDs) sunos qnx +FORCE: +.PHONY: FORCE +override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH))) +ifneq ($(findstring darwin,$(OSTYPE)),) +inUnix=1 #darwin +SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) +else ifeq ($(findstring ;,$(PATH)),) inUnix=1 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) else SEARCHPATH:=$(subst ;, ,$(PATH)) endif +endif +SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE)))) PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) @@ -36,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),) inCygWin=1 endif endif -ifeq ($(OS_TARGET),freebsd) -BSDhier=1 -endif -ifeq ($(OS_TARGET),netbsd) -BSDhier=1 -endif -ifeq ($(OS_TARGET),openbsd) -BSDhier=1 -endif ifdef inUnix -BATCHEXT=.sh +SRCBATCHEXT=.sh else ifdef inOS2 -BATCHEXT=.cmd +SRCBATCHEXT=.cmd else -BATCHEXT=.bat +SRCBATCHEXT=.bat endif endif ifdef inUnix @@ -155,6 +156,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) endif endif +ifneq ($(findstring $(OS_TARGET),$(BSDs)),) +BSDhier=1 +endif +ifeq ($(OS_TARGET),linux) +linuxHier=1 +endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) @@ -184,11 +191,14 @@ override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR:=$(BASEDIR) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=c:/pp endif endif endif endif +endif ifndef CROSSDIR CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) endif @@ -243,42 +253,12 @@ ifdef REQUIRE_PACKAGESDIR override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) endif ifdef ZIPINSTALL -ifeq ($(OS_TARGET),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),netbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),openbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),sunos) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),qnx) -UNIXINSTALLDIR=1 +ifneq ($(findstring $(OS_TARGET),$(UNIXs)),) +UNIXHier=1 endif else -ifeq ($(OS_SOURCE),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),netbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),openbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),sunos) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),qnx) -UNIXINSTALLDIR=1 +ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),) +UNIXHier=1 endif endif ifndef INSTALL_PREFIX @@ -287,7 +267,7 @@ INSTALL_PREFIX=$(PREFIX) endif endif ifndef INSTALL_PREFIX -ifdef UNIXINSTALLDIR +ifdef UNIXHier INSTALL_PREFIX=/usr/local else ifdef INSTALL_FPCPACKAGE @@ -306,7 +286,7 @@ DIST_DESTDIR:=$(BASEDIR) endif export DIST_DESTDIR ifndef INSTALL_BASEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) else @@ -317,10 +297,18 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX) endif endif ifndef INSTALL_BINDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier +ifdef CROSSCOMPILE +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin +else INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin +endif +else +ifdef CROSSCOMPILE +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin else INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin +endif ifdef INSTALL_FPCPACKAGE INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) endif @@ -339,19 +327,23 @@ endif endif endif ifndef INSTALL_LIBDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib else INSTALL_LIBDIR:=$(INSTALL_UNITDIR) endif endif ifndef INSTALL_SOURCEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef BSDhier SRCPREFIXDIR=share/src else +ifdef linuxHier +SRCPREFIXDIR=share/src +else SRCPREFIXDIR=src endif +endif ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) @@ -374,12 +366,16 @@ endif endif endif ifndef INSTALL_DOCDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef BSDhier DOCPREFIXDIR=share/doc else +ifdef linuxHier +DOCPREFIXDIR=share/doc +else DOCPREFIXDIR=doc endif +endif ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else @@ -394,20 +390,28 @@ endif endif endif ifndef INSTALL_EXAMPLEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef INSTALL_FPCPACKAGE ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else +ifdef linuxHier +INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples +else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) endif +endif else ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) else +ifdef linuxHier +INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif endif +endif else ifdef INSTALL_FPCPACKAGE INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) @@ -429,6 +433,7 @@ endif else CROSSBINDIR= endif +BATCHEXT=.bat LOADEREXT=.as EXEEXT=.exe PPLEXT=.ppl @@ -452,25 +457,37 @@ STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +FPCMADE=fpcmade.wat +ZIPSUFFIX=watc +OEXT=.obj +ASMEXT=.asm +SHAREDLIBEXT=.dll +endif ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),openbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.openbsd @@ -482,6 +499,7 @@ FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) +BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll @@ -490,6 +508,7 @@ ZIPSUFFIX=os2 ECHO=echo endif ifeq ($(OS_TARGET),emx) +BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll @@ -502,21 +521,29 @@ EXEEXT= SHAREDLIBEXT=.library FPCMADE=fpcmade.amg endif +ifeq ($(OS_TARGET),morphos) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.mos +endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx @@ -528,10 +555,14 @@ FPCMADE=fpcmade.nw ZIPSUFFIX=nw endif ifeq ($(OS_TARGET),macos) +BATCHEXT= EXEEXT= -FPCMADE=fpcmade.mcc +FPCMADE=fpcmade.macos +ZIPSUFFIX=macos +DEBUGSYMEXT=.xcoff endif ifeq ($(OS_TARGET),darwin) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.darwin @@ -554,25 +585,34 @@ STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=watcom +endif ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),openbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.openbsd @@ -589,6 +629,7 @@ FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) +BATCHEXT=.cmd PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 @@ -621,6 +662,7 @@ EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -631,6 +673,7 @@ FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -641,6 +684,7 @@ FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -663,13 +707,15 @@ ZIPSUFFIX=nw EXEEXT=.nlm endif ifeq ($(OS_TARGET),macos) +BATCHEXT= PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= -FPCMADE=fpcmade.mcc +DEBUGSYMEXT=.xcoff +FPCMADE=fpcmade.macos endif endif ifndef ECHO @@ -677,7 +723,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) -ECHO= +ECHO= __missing_command__ else ECHO:=$(firstword $(ECHO)) endif @@ -691,7 +737,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) -DATE= +DATE= __missing_command__ else DATE:=$(firstword $(DATE)) endif @@ -705,7 +751,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) -GINSTALL= +GINSTALL= __missing_command__ else GINSTALL:=$(firstword $(GINSTALL)) endif @@ -717,7 +763,7 @@ export GINSTALL ifndef CPPROG CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(CPPROG),) -CPPROG= +CPPROG= __missing_command__ else CPPROG:=$(firstword $(CPPROG)) endif @@ -726,7 +772,7 @@ export CPPROG ifndef RMPROG RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(RMPROG),) -RMPROG= +RMPROG= __missing_command__ else RMPROG:=$(firstword $(RMPROG)) endif @@ -735,14 +781,18 @@ export RMPROG ifndef MVPROG MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MVPROG),) -MVPROG= +MVPROG= __missing_command__ else MVPROG:=$(firstword $(MVPROG)) endif endif export MVPROG ifndef ECHOREDIR -ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO)) +ifndef inUnix +ECHOREDIR=echo +else +ECHOREDIR=$(ECHO) +endif endif ifndef COPY COPY:=$(CPPROG) -fp @@ -780,7 +830,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) -PPUMOVE= +PPUMOVE= __missing_command__ else PPUMOVE:=$(firstword $(PPUMOVE)) endif @@ -789,7 +839,7 @@ export PPUMOVE ifndef FPCMAKE FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(FPCMAKE),) -FPCMAKE= +FPCMAKE= __missing_command__ else FPCMAKE:=$(firstword $(FPCMAKE)) endif @@ -798,7 +848,7 @@ export FPCMAKE ifndef ZIPPROG ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) -ZIPPROG= +ZIPPROG= __missing_command__ else ZIPPROG:=$(firstword $(ZIPPROG)) endif @@ -807,21 +857,25 @@ export ZIPPROG ifndef TARPROG TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) -TARPROG= +TARPROG= __missing_command__ else TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG -ASNAME=as -LDNAME=ld -ARNAME=ar -RCNAME=rc +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) @@ -854,7 +908,7 @@ AS=$(ASPROG) LD=$(LDPROG) RC=$(RCPROG) AR=$(ARPROG) -PPAS=ppas$(BATCHEXT) +PPAS=ppas$(SRCBATCHEXT) ifdef inUnix LDCONFIG=ldconfig else @@ -902,6 +956,14 @@ endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) endif +ifndef CROSSBOOTSTRAP +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc +endif +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-Xr$(RLINKPATH) +endif +endif ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif @@ -928,8 +990,12 @@ ifdef RELEASE ifeq ($(CPU_TARGET),i386) FPCCPUOPT:=-OG2p3 else +ifeq ($(CPU_TARGET),powerpc) +FPCCPUOPT:=-O1 +else FPCCPUOPT:= endif +endif override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif @@ -1011,7 +1077,7 @@ EXECPPAS:=@$(PPAS) endif endif .PHONY: fpc_loaders -ifdef TARGET_LOADERS +ifneq ($(TARGET_LOADERS),) override ALLTARGET+=fpc_loaders override CLEANTARGET+=fpc_loaders_clean override INSTALLTARGET+=fpc_loaders_install @@ -1026,7 +1092,7 @@ fpc_loaders_install: $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR) .PHONY: fpc_units -ifdef TARGET_UNITS +ifneq ($(TARGET_UNITS),) override ALLTARGET+=fpc_units override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) @@ -1048,7 +1114,7 @@ fpc_debug: $(MAKE) all DEBUG=1 fpc_release: $(MAKE) all RELEASE=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) @@ -1061,10 +1127,14 @@ fpc_release: %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) +%$(EXEEXT): %.dpr + $(COMPILER) $< + $(EXECPPAS) %.res: %.rc windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) +vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall ifdef INSTALL_UNITS @@ -1141,6 +1211,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) +ifdef DEBUGSYMEXT +override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) +endif override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) endif @@ -1164,6 +1237,7 @@ ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) fpc_distclean: clean ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean @@ -1175,9 +1249,13 @@ endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *_ppas$(BATCHEXT) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif +ifdef DEBUGSYMEXT + -$(DEL) *$(DEBUGSYMEXT) +endif .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo fpc_baseinfo: @@ -1359,6 +1437,8 @@ types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/sysconst.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/freebsd/Makefile.fpc b/rtl/freebsd/Makefile.fpc index 18360e0934..085fb65482 100644 --- a/rtl/freebsd/Makefile.fpc +++ b/rtl/freebsd/Makefile.fpc @@ -205,6 +205,13 @@ types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/sysconst.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/go32v2/Makefile b/rtl/go32v2/Makefile index dd068357d4..c4b8aff104 100644 --- a/rtl/go32v2/Makefile +++ b/rtl/go32v2/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/18] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos @@ -1431,6 +1431,8 @@ convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutil.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp $(COMPILER) $(OBJPASDIR)/strutils.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) cpu$(PPUEXT) : $(PROCINC)/cpu.pp system$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) system$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp system$(PPUEXT) diff --git a/rtl/go32v2/Makefile.fpc b/rtl/go32v2/Makefile.fpc index 662860d3ba..caf6598b53 100644 --- a/rtl/go32v2/Makefile.fpc +++ b/rtl/go32v2/Makefile.fpc @@ -186,6 +186,13 @@ convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp $(COMPILER) $(OBJPASDIR)/strutils.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/linux/Makefile b/rtl/linux/Makefile index ba17361b37..8cf5ac944f 100644 --- a/rtl/linux/Makefile +++ b/rtl/linux/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/05] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos @@ -1467,6 +1467,8 @@ rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) \ sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/strutils.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/linux/Makefile.fpc b/rtl/linux/Makefile.fpc index 145ccd35fc..691baeab63 100644 --- a/rtl/linux/Makefile.fpc +++ b/rtl/linux/Makefile.fpc @@ -244,6 +244,13 @@ strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE sysutils$(PPUEXT) $(COMPILER) $(OBJPASDIR)/strutils.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other $(SYSTEMUNIT)-independent RTL Units # diff --git a/rtl/macos/Makefile b/rtl/macos/Makefile index 76dc73f5a8..e1a939a557 100644 --- a/rtl/macos/Makefile +++ b/rtl/macos/Makefile @@ -1,8 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/06/02] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos BSDs = freebsd netbsd openbsd darwin UNIXs = linux $(BSDs) sunos qnx FORCE: @@ -230,7 +230,7 @@ endif endif OBJPASDIR=$(RTL)/objpas GRAPHDIR=$(INC)/graph -override TARGET_UNITS+=system strings objpas heaptrc getopts macostp macutils unixutil dos objects +override TARGET_UNITS+=system strings objpas macpas heaptrc getopts macostp macutils unixutil dos objects matrix override INSTALL_FPCPACKAGE=y override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) @@ -510,6 +510,11 @@ EXEEXT= SHAREDLIBEXT=.library FPCMADE=fpcmade.amg endif +ifeq ($(OS_TARGET),morphos) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.mos +endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp FPCMADE=fpcmade.ata @@ -1366,6 +1371,8 @@ objpas$(PPUEXT) : $(OBJPASDIR)/objpas.pp system$(PPUEXT) sysutils$(PPUEXT) : $(OBJPASDIR)/sysutils.pp objpas$(PPUEXT) system$(PPUEXT) sysconst$(PPUEXT) $(COPY) $(OBJPASDIR)/sysutils.pp . $(COMPILER) sysutils $(REDIR) +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) dos$(PPUEXT) : $(DOSDEPS) unixutil$(PPUEXT) system$(PPUEXT) $(COMPILER) dos $(REDIR) objects$(PPUEXT) : $(INC)/objects.pp system$(PPUEXT) diff --git a/rtl/macos/Makefile.fpc b/rtl/macos/Makefile.fpc index 14d4a0a894..ca8f985099 100644 --- a/rtl/macos/Makefile.fpc +++ b/rtl/macos/Makefile.fpc @@ -7,7 +7,7 @@ main=rtl [target] loaders= -units=system strings objpas heaptrc getopts macostp macutils unixutil dos objects matrix +units=system strings objpas macpas heaptrc getopts macostp macutils unixutil dos objects matrix # exec \ # crt printer \ # lineinfo graph \ @@ -108,6 +108,13 @@ sysutils$(PPUEXT) : $(OBJPASDIR)/sysutils.pp objpas$(PPUEXT) system$(PPUEXT) sys $(COMPILER) sysutils $(REDIR) #$(DEL) sysutils.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # System Dependent Units # diff --git a/rtl/morphos/Makefile b/rtl/morphos/Makefile index 978029c9b3..6e4e2ac10d 100644 --- a/rtl/morphos/Makefile +++ b/rtl/morphos/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/03] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos @@ -1405,6 +1405,8 @@ sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE $(COMPILER) $(OBJPASDIR)/sysconst.pp dateutil$(PPUEXT) : $(OBJPASDIR)/dateutil.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutil.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) ucomplex$(PPUEXT): $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/morphos/Makefile.fpc b/rtl/morphos/Makefile.fpc index f7277818ad..8da8e27042 100644 --- a/rtl/morphos/Makefile.fpc +++ b/rtl/morphos/Makefile.fpc @@ -145,6 +145,13 @@ sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE dateutil$(PPUEXT) : $(OBJPASDIR)/dateutil.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/dateutil.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/netbsd/Makefile b/rtl/netbsd/Makefile index 1521a0afc3..fb302ee1c1 100644 --- a/rtl/netbsd/Makefile +++ b/rtl/netbsd/Makefile @@ -1,15 +1,25 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/07] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx -override PATH:=$(subst \,/,$(PATH)) +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos +BSDs = freebsd netbsd openbsd darwin +UNIXs = linux $(BSDs) sunos qnx +FORCE: +.PHONY: FORCE +override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH))) +ifneq ($(findstring darwin,$(OSTYPE)),) +inUnix=1 #darwin +SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) +else ifeq ($(findstring ;,$(PATH)),) inUnix=1 SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH))) else SEARCHPATH:=$(subst ;, ,$(PATH)) endif +endif +SEARCHPATH+=$(patsubst %/,%,$(subst \,/,$(dir $(MAKE)))) PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH)))) ifeq ($(PWD),) PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH)))) @@ -36,22 +46,13 @@ ifneq ($(findstring cygdrive,$(PATH)),) inCygWin=1 endif endif -ifeq ($(OS_TARGET),freebsd) -BSDhier=1 -endif -ifeq ($(OS_TARGET),netbsd) -BSDhier=1 -endif -ifeq ($(OS_TARGET),openbsd) -BSDhier=1 -endif ifdef inUnix -BATCHEXT=.sh +SRCBATCHEXT=.sh else ifdef inOS2 -BATCHEXT=.cmd +SRCBATCHEXT=.cmd else -BATCHEXT=.bat +SRCBATCHEXT=.bat endif endif ifdef inUnix @@ -155,6 +156,12 @@ ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) $(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) endif endif +ifneq ($(findstring $(OS_TARGET),$(BSDs)),) +BSDhier=1 +endif +ifeq ($(OS_TARGET),linux) +linuxHier=1 +endif export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) @@ -184,11 +191,14 @@ override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR:=$(FPCDIR)/.. ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) +override FPCDIR:=$(BASEDIR) +ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) override FPCDIR=c:/pp endif endif endif endif +endif ifndef CROSSDIR CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) endif @@ -250,42 +260,12 @@ ifdef REQUIRE_PACKAGESDIR override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR) endif ifdef ZIPINSTALL -ifeq ($(OS_TARGET),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),netbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),openbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),sunos) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),qnx) -UNIXINSTALLDIR=1 +ifneq ($(findstring $(OS_TARGET),$(UNIXs)),) +UNIXHier=1 endif else -ifeq ($(OS_SOURCE),linux) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),freebsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),netbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_SOURCE),openbsd) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),sunos) -UNIXINSTALLDIR=1 -endif -ifeq ($(OS_TARGET),qnx) -UNIXINSTALLDIR=1 +ifneq ($(findstring $(OS_SOURCE),$(UNIXs)),) +UNIXHier=1 endif endif ifndef INSTALL_PREFIX @@ -294,7 +274,7 @@ INSTALL_PREFIX=$(PREFIX) endif endif ifndef INSTALL_PREFIX -ifdef UNIXINSTALLDIR +ifdef UNIXHier INSTALL_PREFIX=/usr/local else ifdef INSTALL_FPCPACKAGE @@ -313,7 +293,7 @@ DIST_DESTDIR:=$(BASEDIR) endif export DIST_DESTDIR ifndef INSTALL_BASEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef INSTALL_FPCPACKAGE INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION) else @@ -324,10 +304,18 @@ INSTALL_BASEDIR:=$(INSTALL_PREFIX) endif endif ifndef INSTALL_BINDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier +ifdef CROSSCOMPILE +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin +else INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin +endif +else +ifdef CROSSCOMPILE +INSTALL_BINDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin else INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin +endif ifdef INSTALL_FPCPACKAGE INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET) endif @@ -346,19 +334,23 @@ endif endif endif ifndef INSTALL_LIBDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib else INSTALL_LIBDIR:=$(INSTALL_UNITDIR) endif endif ifndef INSTALL_SOURCEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef BSDhier SRCPREFIXDIR=share/src else +ifdef linuxHier +SRCPREFIXDIR=share/src +else SRCPREFIXDIR=src endif +endif ifdef INSTALL_FPCPACKAGE ifdef INSTALL_FPCSUBDIR INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME) @@ -381,12 +373,16 @@ endif endif endif ifndef INSTALL_DOCDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef BSDhier DOCPREFIXDIR=share/doc else +ifdef linuxHier +DOCPREFIXDIR=share/doc +else DOCPREFIXDIR=doc endif +endif ifdef INSTALL_FPCPACKAGE INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else @@ -401,20 +397,28 @@ endif endif endif ifndef INSTALL_EXAMPLEDIR -ifdef UNIXINSTALLDIR +ifdef UNIXHier ifdef INSTALL_FPCPACKAGE ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME) else +ifdef linuxHier +INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples +else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME) endif +endif else ifdef BSDhier INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) else +ifdef linuxHier +INSTALL_EXAMPLEDIR:=$(INSTALL_DOCDIR)/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION) +else INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION) endif endif +endif else ifdef INSTALL_FPCPACKAGE INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME) @@ -436,6 +440,7 @@ endif else CROSSBINDIR= endif +BATCHEXT=.bat LOADEREXT=.as EXEEXT=.exe PPLEXT=.ppl @@ -459,25 +464,37 @@ STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +FPCMADE=fpcmade.wat +ZIPSUFFIX=watc +OEXT=.obj +ASMEXT=.asm +SHAREDLIBEXT=.dll +endif ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),openbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.openbsd @@ -489,6 +506,7 @@ FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) +BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll @@ -497,6 +515,7 @@ ZIPSUFFIX=os2 ECHO=echo endif ifeq ($(OS_TARGET),emx) +BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll @@ -509,21 +528,29 @@ EXEEXT= SHAREDLIBEXT=.library FPCMADE=fpcmade.amg endif +ifeq ($(OS_TARGET),morphos) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.mos +endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) +BATCHEXT=.sh EXEEXT= FPCMADE=fpcmade.qnx ZIPSUFFIX=qnx @@ -535,10 +562,14 @@ FPCMADE=fpcmade.nw ZIPSUFFIX=nw endif ifeq ($(OS_TARGET),macos) +BATCHEXT= EXEEXT= -FPCMADE=fpcmade.mcc +FPCMADE=fpcmade.macos +ZIPSUFFIX=macos +DEBUGSYMEXT=.xcoff endif ifeq ($(OS_TARGET),darwin) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.darwin @@ -561,25 +592,34 @@ STATICLIBPREFIX= FPCMADE=fpcmade.dos ZIPSUFFIX=go32 endif +ifeq ($(OS_TARGET),watcom) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=watcom +endif ifeq ($(OS_TARGET),linux) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.lnx ZIPSUFFIX=linux endif ifeq ($(OS_TARGET),freebsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.freebsd ZIPSUFFIX=freebsd endif ifeq ($(OS_TARGET),netbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.netbsd ZIPSUFFIX=netbsd endif ifeq ($(OS_TARGET),openbsd) +BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 FPCMADE=fpcmade.openbsd @@ -596,6 +636,7 @@ FPCMADE=fpcmade.w32 ZIPSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) +BATCHEXT=.cmd PPUEXT=.ppo ASMEXT=.so2 OEXT=.oo2 @@ -628,6 +669,7 @@ EXEEXT=.ttp FPCMADE=fpcmade.ata endif ifeq ($(OS_TARGET),beos) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -638,6 +680,7 @@ FPCMADE=fpcmade.be ZIPSUFFIX=be endif ifeq ($(OS_TARGET),sunos) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -648,6 +691,7 @@ FPCMADE=fpcmade.sun ZIPSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) +BATCHEXT=.sh PPUEXT=.ppu ASMEXT=.s OEXT=.o @@ -670,13 +714,15 @@ ZIPSUFFIX=nw EXEEXT=.nlm endif ifeq ($(OS_TARGET),macos) +BATCHEXT= PPUEXT=.ppu ASMEXT=.s OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= -FPCMADE=fpcmade.mcc +DEBUGSYMEXT=.xcoff +FPCMADE=fpcmade.macos endif endif ifndef ECHO @@ -684,7 +730,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) -ECHO= +ECHO= __missing_command__ else ECHO:=$(firstword $(ECHO)) endif @@ -698,7 +744,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) -DATE= +DATE= __missing_command__ else DATE:=$(firstword $(DATE)) endif @@ -712,7 +758,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) -GINSTALL= +GINSTALL= __missing_command__ else GINSTALL:=$(firstword $(GINSTALL)) endif @@ -724,7 +770,7 @@ export GINSTALL ifndef CPPROG CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(CPPROG),) -CPPROG= +CPPROG= __missing_command__ else CPPROG:=$(firstword $(CPPROG)) endif @@ -733,7 +779,7 @@ export CPPROG ifndef RMPROG RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(RMPROG),) -RMPROG= +RMPROG= __missing_command__ else RMPROG:=$(firstword $(RMPROG)) endif @@ -742,14 +788,18 @@ export RMPROG ifndef MVPROG MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MVPROG),) -MVPROG= +MVPROG= __missing_command__ else MVPROG:=$(firstword $(MVPROG)) endif endif export MVPROG ifndef ECHOREDIR -ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO)) +ifndef inUnix +ECHOREDIR=echo +else +ECHOREDIR=$(ECHO) +endif endif ifndef COPY COPY:=$(CPPROG) -fp @@ -787,7 +837,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) -PPUMOVE= +PPUMOVE= __missing_command__ else PPUMOVE:=$(firstword $(PPUMOVE)) endif @@ -796,7 +846,7 @@ export PPUMOVE ifndef FPCMAKE FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(FPCMAKE),) -FPCMAKE= +FPCMAKE= __missing_command__ else FPCMAKE:=$(firstword $(FPCMAKE)) endif @@ -805,7 +855,7 @@ export FPCMAKE ifndef ZIPPROG ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) -ZIPPROG= +ZIPPROG= __missing_command__ else ZIPPROG:=$(firstword $(ZIPPROG)) endif @@ -814,21 +864,25 @@ export ZIPPROG ifndef TARPROG TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) -TARPROG= +TARPROG= __missing_command__ else TARPROG:=$(firstword $(TARPROG)) endif endif export TARPROG -ASNAME=as -LDNAME=ld -ARNAME=ar -RCNAME=rc +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) @@ -861,7 +915,7 @@ AS=$(ASPROG) LD=$(LDPROG) RC=$(RCPROG) AR=$(ARPROG) -PPAS=ppas$(BATCHEXT) +PPAS=ppas$(SRCBATCHEXT) ifdef inUnix LDCONFIG=ldconfig else @@ -909,6 +963,14 @@ endif ifeq ($(OS_SOURCE),openbsd) override FPCOPT+=-FD$(NEW_BINUTILS_PATH) endif +ifndef CROSSBOOTSTRAP +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-XP$(BINUTILSPREFIX) -Xc +endif +ifneq ($(BINUTILSPREFIX),) +override FPCOPT+=-Xr$(RLINKPATH) +endif +endif ifdef UNITDIR override FPCOPT+=$(addprefix -Fu,$(UNITDIR)) endif @@ -935,8 +997,12 @@ ifdef RELEASE ifeq ($(CPU_TARGET),i386) FPCCPUOPT:=-OG2p3 else +ifeq ($(CPU_TARGET),powerpc) +FPCCPUOPT:=-O1 +else FPCCPUOPT:= endif +endif override FPCOPT+=-Xs $(FPCCPUOPT) -n override FPCOPTDEF+=RELEASE endif @@ -1018,7 +1084,7 @@ EXECPPAS:=@$(PPAS) endif endif .PHONY: fpc_loaders -ifdef TARGET_LOADERS +ifneq ($(TARGET_LOADERS),) override ALLTARGET+=fpc_loaders override CLEANTARGET+=fpc_loaders_clean override INSTALLTARGET+=fpc_loaders_install @@ -1033,7 +1099,7 @@ fpc_loaders_install: $(MKDIR) $(INSTALL_UNITDIR) $(INSTALL) $(LOADEROFILES) $(INSTALL_UNITDIR) .PHONY: fpc_units -ifdef TARGET_UNITS +ifneq ($(TARGET_UNITS),) override ALLTARGET+=fpc_units override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS)) override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) @@ -1055,7 +1121,7 @@ fpc_debug: $(MAKE) all DEBUG=1 fpc_release: $(MAKE) all RELEASE=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) @@ -1068,10 +1134,14 @@ fpc_release: %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) +%$(EXEEXT): %.dpr + $(COMPILER) $< + $(EXECPPAS) %.res: %.rc windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) +vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall ifdef INSTALL_UNITS @@ -1148,6 +1218,9 @@ override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS)) endif ifdef CLEANPPUFILES override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) +ifdef DEBUGSYMEXT +override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) +endif override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) endif @@ -1171,6 +1244,7 @@ ifdef LIB_NAME -$(DEL) $(LIB_NAME) $(LIB_FULLNAME) endif -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *$(ASMEXT) *_ppas$(BATCHEXT) fpc_distclean: clean ifdef COMPILER_UNITTARGETDIR TARGETDIRCLEAN=fpc_clean @@ -1182,9 +1256,13 @@ endif -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) -$(DELTREE) *$(SMARTEXT) -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) *_ppas$(BATCHEXT) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) endif +ifdef DEBUGSYMEXT + -$(DEL) *$(DEBUGSYMEXT) +endif .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo fpc_baseinfo: @@ -1356,6 +1434,8 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ $(COMPILER) -I$(OBJPASDIR) $(UNIXINC)/varutils.pp types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/netbsd/Makefile.fpc b/rtl/netbsd/Makefile.fpc index 36fc7edd08..6286f4d72e 100644 --- a/rtl/netbsd/Makefile.fpc +++ b/rtl/netbsd/Makefile.fpc @@ -189,6 +189,13 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/netware/Makefile.fpc b/rtl/netware/Makefile.fpc index 60709342d5..1ea2743fed 100644 --- a/rtl/netware/Makefile.fpc +++ b/rtl/netware/Makefile.fpc @@ -186,6 +186,12 @@ convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) # # Other system-independent RTL Units diff --git a/rtl/openbsd/Makefile.fpc b/rtl/openbsd/Makefile.fpc index 53aa2dbd0e..71085f4c59 100644 --- a/rtl/openbsd/Makefile.fpc +++ b/rtl/openbsd/Makefile.fpc @@ -189,6 +189,13 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/os2/Makefile b/rtl/os2/Makefile index 73bbca9909..84fa8c8deb 100644 --- a/rtl/os2/Makefile +++ b/rtl/os2/Makefile @@ -1,5 +1,5 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/07/18] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos @@ -1434,7 +1434,9 @@ dateutil$(PPUEXT) : $(OBJPASDIR)/dateutil.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutil.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp sysutils$(PPUEXT) objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) - $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp + $(COMPILER) $(OBJPASDIR)/strutils.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) ucomplex$(PPUEXT): $(INC)/ucomplex.pp math$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/os2/Makefile.fpc b/rtl/os2/Makefile.fpc index 8bcf6153d1..30669def02 100644 --- a/rtl/os2/Makefile.fpc +++ b/rtl/os2/Makefile.fpc @@ -193,6 +193,13 @@ convutil$(PPUEXT) : $(OBJPASDIR)/convutil.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUE strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp sysutils$(PPUEXT) objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/strutils.pp +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/watcom/Makefile.fpc b/rtl/watcom/Makefile.fpc index 7c6573e2f9..5379f23986 100644 --- a/rtl/watcom/Makefile.fpc +++ b/rtl/watcom/Makefile.fpc @@ -172,6 +172,14 @@ varutils$(PPUEXT) : $(OBJPASDIR)/cvarutil.inc $(OBJPASDIR)/varutils.inc \ types$(PPUEXT) : $(OBJPASDIR/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp + +# +# Mac Pascal Model +# + +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) + # # Other system-independent RTL Units # diff --git a/rtl/win32/Makefile b/rtl/win32/Makefile index dfc23c9fb1..e30d43e449 100644 --- a/rtl/win32/Makefile +++ b/rtl/win32/Makefile @@ -1,8 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2004/05/23] +# Don't edit, this file is generated by FPCMake Version 1.1 [2004/08/16] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos BSDs = freebsd netbsd openbsd darwin UNIXs = linux $(BSDs) sunos qnx FORCE: @@ -235,7 +235,7 @@ OBJPASDIR=$(RTL)/objpas GRAPHDIR=$(INC)/graph include $(WININC)/makefile.inc WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES))) -override TARGET_UNITS+=$(SYSTEMUNIT) systhrds objpas strings lineinfo heaptrc windows ole2 activex shellapi winsock initc cmem dos crt objects graph messages sysutils classes typinfo math varutils variants cpu mmx charset ucomplex getopts wincrt winmouse winevent sockets printer dynlibs video mouse keyboard types comobj dateutils rtlconst sysconst winsysut strutils convutils +override TARGET_UNITS+=$(SYSTEMUNIT) systhrds objpas strings lineinfo heaptrc matrix windows ole2 activex shellapi shlobj winsock initc cmem dos crt objects graph messages sysutils classes typinfo math varutils variants cpu mmx charset ucomplex getopts wincrt winmouse winevent sockets printer dynlibs video mouse keyboard types comobj dateutils rtlconst sysconst winsysut strutils convutils override TARGET_LOADERS+=wprt0 wdllprt0 gprt0 override TARGET_RSTS+=math varutils typinfo variants classes dateutils sysconst override INSTALL_FPCPACKAGE=y @@ -517,6 +517,11 @@ EXEEXT= SHAREDLIBEXT=.library FPCMADE=fpcmade.amg endif +ifeq ($(OS_TARGET),morphos) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.mos +endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp FPCMADE=fpcmade.ata @@ -1443,6 +1448,8 @@ convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/convutils.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) cpu$(PPUEXT) : $(PROCINC)/cpu.pp $(SYSTEMUNIT)$(PPUEXT) mmx$(PPUEXT) : $(PROCINC)/mmx.pp cpu$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) getopts$(PPUEXT) : $(INC)/getopts.pp $(SYSTEMUNIT)$(PPUEXT) diff --git a/rtl/win32/Makefile.fpc b/rtl/win32/Makefile.fpc index 517c365ac7..cf43cea229 100644 --- a/rtl/win32/Makefile.fpc +++ b/rtl/win32/Makefile.fpc @@ -216,7 +216,12 @@ convutils$(PPUEXT) : $(OBJPASDIR)/convutils.pp strutils$(PPUEXT) : $(OBJPASDIR)/strutils.pp $(COMPILER) -I$(OBJPASDIR) $(OBJPASDIR)/strutils.pp +# +# Mac Pascal Model +# +macpas$(PPUEXT) : $(INC)/macpas.pp system$(PPUEXT) + $(COMPILER) $(INC)/macpas.pp $(REDIR) # # Other system-independent RTL Units