diff --git a/.gitattributes b/.gitattributes index e9d8cd422d..daa144dcdc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -631,6 +631,7 @@ examples/selectionform.pp svneol=native#text/pascal examples/speedtest.pp svneol=native#text/pascal examples/synchronize.pp svneol=native#text/pascal examples/synedit1.pas svneol=native#text/pascal +examples/taborder.pas svneol=native#text/pascal examples/testall.pp svneol=native#text/pascal examples/testallform.pp svneol=native#text/pascal examples/testtools.inc svneol=native#text/pascal diff --git a/examples/Makefile b/examples/Makefile index b94684280c..5d76f1d497 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -1,10 +1,11 @@ # -# 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.9.8 [2005/01/20] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos darwin emx watcom morphos +MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-sunos i386-qnx i386-netware i386-openbsd i386-wdosx i386-emx i386-watcom i386-netwlibc m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-sunos x86_64-linux x86_64-freebsd arm-linux BSDs = freebsd netbsd openbsd darwin UNIXs = linux $(BSDs) sunos qnx +LIMIT83fs = go32v2 os2 emx watcom FORCE: .PHONY: FORCE override PATH:=$(patsubst %/,%,$(subst \,/,$(PATH))) @@ -102,16 +103,25 @@ ifneq ($(FPCPROG),) FPCPROG:=$(firstword $(FPCPROG)) FPC:=$(shell $(FPCPROG) -PB) ifneq ($(findstring Error,$(FPC)),) -override FPC=ppc386 +override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) endif else -override FPC=ppc386 +override FPC=$(firstword $(strip $(wildcard $(addsuffix /ppc386$(SRCEXEEXT),$(SEARCHPATH))))) endif endif override FPC:=$(subst $(SRCEXEEXT),,$(FPC)) override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT) -ifndef FPC_VERSION +FOUNDFPC:=$(strip $(wildcard $(FPC))) +ifeq ($(FOUNDFPC),) +FOUNDFPC=$(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH)))) +ifeq ($(FOUNDFPC),) +$(error Compiler $(FPC) not found) +endif +endif +ifndef FPC_COMPILERINFO FPC_COMPILERINFO:=$(shell $(FPC) -iVSPTPSOTO) +endif +ifndef FPC_VERSION FPC_VERSION:=$(word 1,$(FPC_COMPILERINFO)) endif export FPC FPC_VERSION FPC_COMPILERINFO @@ -146,12 +156,19 @@ OS_TARGET:=$(word 5,$(FPC_COMPILERINFO)) endif FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET) FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE) +ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) +TARGETSUFFIX=$(OS_TARGET) +SOURCESUFFIX=$(OS_SOURCE) +else +TARGETSUFFIX=$(FULL_TARGET) +SOURCESUFFIX=$(FULL_SOURCE) +endif ifneq ($(FULL_TARGET),$(FULL_SOURCE)) CROSSCOMPILE=1 endif ifeq ($(findstring makefile,$(MAKECMDGOALS)),) -ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),) -$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first) +ifeq ($(findstring $(FULL_TARGET),$(MAKEFILETARGETS)),) +$(error The Makefile doesn't support target $(FULL_TARGET), please run fpcmake first) endif endif ifneq ($(findstring $(OS_TARGET),$(BSDs)),) @@ -160,7 +177,7 @@ endif ifeq ($(OS_TARGET),linux) linuxHier=1 endif -export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE +export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE ifdef FPCDIR override FPCDIR:=$(subst \,/,$(FPCDIR)) ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),) @@ -197,18 +214,18 @@ endif endif endif endif -ifndef CROSSDIR -CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET) -endif -ifndef CROSSTARGETDIR -CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET) +ifndef CROSSBINDIR +CROSSBINDIR:=$(wildcard $(FPCDIR)/bin/$(TARGETSUFFIX)) endif +ifndef BINUTILSPREFIX +ifndef CROSSBINDIR ifdef CROSSCOMPILE -UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units) -ifeq ($(UNITSDIR),) -UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) +BINUTILSPREFIX=$(CPU_TARGET)-$(OS_TARGET)- endif -else +endif +endif +UNITSDIR:=$(wildcard $(FPCDIR)/units/$(TARGETSUFFIX)) +ifeq ($(UNITSDIR),) UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET)) endif PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra) @@ -222,10 +239,402 @@ LCL_PLATFORM=gtk endif export LCL_PLATFORM endif -override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +ifeq ($(FULL_TARGET),i386-linux) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-go32v2) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-win32) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-os2) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-freebsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-beos) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-netbsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-sunos) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-qnx) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-netware) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-openbsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-wdosx) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-emx) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-watcom) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-netwlibc) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-linux) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-freebsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-netbsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-amiga) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-atari) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-openbsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-palmos) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-linux) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-netbsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-macos) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-darwin) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-morphos) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),sparc-linux) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),sparc-netbsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),sparc-sunos) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),x86_64-linux) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),x86_64-freebsd) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),arm-linux) +override TARGET_UNITS+=hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 taborder testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-linux) override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-go32v2) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-win32) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-os2) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-freebsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-beos) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-netbsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-sunos) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-qnx) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-netware) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-openbsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-wdosx) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-emx) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-watcom) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-netwlibc) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-linux) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-freebsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-netbsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-amiga) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-atari) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-openbsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),m68k-palmos) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-linux) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-netbsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-macos) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-darwin) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),powerpc-morphos) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),sparc-linux) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),sparc-netbsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),sparc-sunos) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),x86_64-linux) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),x86_64-freebsd) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),arm-linux) +override CLEAN_FILES+=$(wildcard *$(OEXT)) $(wildcard *$(PPUEXT)) hello bitbutton checkbox combobox comdialogs edittest groupbox groupboxnested listboxtest listviewtest loadpicture memotest messagedialogs notebk notebooktest progressbar scrollbar speedtest synedit1 testall toolbar trackbar +endif +ifeq ($(FULL_TARGET),i386-linux) override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-go32v2) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-win32) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-os2) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-freebsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-beos) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-netbsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-sunos) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-qnx) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-netware) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-openbsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-wdosx) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-emx) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-watcom) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-netwlibc) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),m68k-linux) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),m68k-freebsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),m68k-netbsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),m68k-amiga) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),m68k-atari) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),m68k-openbsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),m68k-palmos) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),powerpc-linux) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),powerpc-netbsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),powerpc-macos) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),powerpc-darwin) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),powerpc-morphos) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),sparc-linux) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),sparc-netbsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),sparc-sunos) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),x86_64-linux) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),x86_64-freebsd) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),arm-linux) +override COMPILER_OPTIONS+=-gl +endif +ifeq ($(FULL_TARGET),i386-linux) override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-go32v2) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-win32) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-os2) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-freebsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-beos) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-netbsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-sunos) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-qnx) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-netware) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-openbsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-wdosx) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-emx) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-watcom) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),i386-netwlibc) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),m68k-linux) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),m68k-freebsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),m68k-netbsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),m68k-amiga) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),m68k-atari) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),m68k-openbsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),m68k-palmos) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),powerpc-linux) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),powerpc-netbsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),powerpc-macos) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),powerpc-darwin) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),powerpc-morphos) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),sparc-linux) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),sparc-netbsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),sparc-sunos) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),x86_64-linux) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),x86_64-freebsd) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif +ifeq ($(FULL_TARGET),arm-linux) +override COMPILER_UNITDIR+=../lcl/units/$(CPU_TARGET)/$(OS_TARGET) ../lcl/units/$(CPU_TARGET)/$(OS_TARGET)/$(LCL_PLATFORM) ../components/units/$(CPU_TARGET)/$(OS_TARGET) .. . +endif ifdef REQUIRE_UNITSDIR override UNITSDIR+=$(REQUIRE_UNITSDIR) endif @@ -265,6 +674,16 @@ ifndef DIST_DESTDIR DIST_DESTDIR:=$(BASEDIR) endif export DIST_DESTDIR +ifndef COMPILER_UNITTARGETDIR +ifdef PACKAGEDIR_MAIN +COMPILER_UNITTARGETDIR=$(PACKAGEDIR_MAIN)/units/$(TARGETSUFFIX) +else +COMPILER_UNITTARGETDIR=units/$(TARGETSUFFIX) +endif +endif +ifndef COMPILER_TARGETDIR +COMPILER_TARGETDIR=. +endif ifndef INSTALL_BASEDIR ifdef UNIXHier ifdef INSTALL_FPCPACKAGE @@ -278,28 +697,24 @@ endif endif ifndef INSTALL_BINDIR 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) +ifdef CROSSCOMPILE +ifdef CROSSINSTALL +INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(SOURCESUFFIX) +else +INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX) +endif +else +INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(TARGETSUFFIX) +endif endif endif endif ifndef INSTALL_UNITDIR -ifdef CROSSCOMPILE -INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units -else -INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET) -endif +INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(TARGETSUFFIX) ifdef INSTALL_FPCPACKAGE ifdef PACKAGE_NAME INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME) @@ -405,9 +820,9 @@ INSTALL_DATADIR=$(INSTALL_BASEDIR) endif ifdef CROSSCOMPILE ifndef CROSSBINDIR -CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE)) +CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(SOURCESUFFIX)) ifeq ($(CROSSBINDIR),) -CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE)) +CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(TARGETSUFFIX)/bin/$(FULL_SOURCE)) endif endif else @@ -419,14 +834,14 @@ ifeq ($(CPU_TARGET),i386) ifneq ($(findstring x86_64,$(shell uname -a)),) ifeq ($(BINUTILSPREFIX),) GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) -else -GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`) endif -else -GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`) endif -else -GCCLIBDIR:=$(shell dirname `$(BINUTILSPREFIX)gcc -print-libgcc-file-name`) +endif +endif +ifndef GCCLIBDIR +CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEARCHPATH)))) +ifneq ($(CROSSGCC),) +GCCLIBDIR:=$(shell dirname `$(CROSSGCC) -print-libgcc-file-name`) endif endif ifndef OTHERLIBDIR @@ -451,66 +866,56 @@ STATICLIBEXT=.a SHAREDLIBEXT=.so STATICLIBPREFIX=libp RSTEXT=.rst -FPCMADE=fpcmade ifeq ($(findstring 1.0.,$(FPC_VERSION)),) ifeq ($(OS_TARGET),go32v1) STATICLIBPREFIX= -FPCMADE=fpcmade.v1 -PACKAGESUFFIX=v1 +SHORTSUFFIX=v1 endif ifeq ($(OS_TARGET),go32v2) STATICLIBPREFIX= -FPCMADE=fpcmade.dos -ZIPSUFFIX=go32 +SHORTSUFFIX=dos endif ifeq ($(OS_TARGET),watcom) STATICLIBPREFIX= -FPCMADE=fpcmade.wat -ZIPSUFFIX=watc OEXT=.obj ASMEXT=.asm SHAREDLIBEXT=.dll +SHORTSUFFIX=wat endif ifeq ($(OS_TARGET),linux) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.lnx -ZIPSUFFIX=linux +SHORTSUFFIX=lnx endif ifeq ($(OS_TARGET),freebsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.freebsd -ZIPSUFFIX=freebsd +SHORTSUFFIX=fbs endif ifeq ($(OS_TARGET),netbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.netbsd -ZIPSUFFIX=netbsd +SHORTSUFFIX=nbs endif ifeq ($(OS_TARGET),openbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.openbsd -ZIPSUFFIX=openbsd +SHORTSUFFIX=obs endif ifeq ($(OS_TARGET),win32) SHAREDLIBEXT=.dll -FPCMADE=fpcmade.w32 -ZIPSUFFIX=w32 +SHORTSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll -FPCMADE=fpcmade.os2 -ZIPSUFFIX=os2 +SHORTSUFFIX=os2 ECHO=echo endif ifeq ($(OS_TARGET),emx) @@ -518,61 +923,59 @@ BATCHEXT=.cmd AOUTEXT=.out STATICLIBPREFIX= SHAREDLIBEXT=.dll -FPCMADE=fpcmade.emx -ZIPSUFFIX=emx +SHORTSUFFIX=emx ECHO=echo endif ifeq ($(OS_TARGET),amiga) EXEEXT= SHAREDLIBEXT=.library -FPCMADE=fpcmade.amg +SHORTSUFFIX=amg endif ifeq ($(OS_TARGET),morphos) EXEEXT= SHAREDLIBEXT=.library -FPCMADE=fpcmade.mos +SHORTSUFFIX=mos endif ifeq ($(OS_TARGET),atari) EXEEXT=.ttp -FPCMADE=fpcmade.ata +SHORTSUFFIX=ata endif ifeq ($(OS_TARGET),beos) BATCHEXT=.sh EXEEXT= -FPCMADE=fpcmade.be -ZIPSUFFIX=be +SHORTSUFFIX=be endif ifeq ($(OS_TARGET),sunos) BATCHEXT=.sh EXEEXT= -FPCMADE=fpcmade.sun -ZIPSUFFIX=sun +SHORTSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) BATCHEXT=.sh EXEEXT= -FPCMADE=fpcmade.qnx -ZIPSUFFIX=qnx +SHORTSUFFIX=qnx endif ifeq ($(OS_TARGET),netware) EXEEXT=.nlm STATICLIBPREFIX= -FPCMADE=fpcmade.nw -ZIPSUFFIX=nw +SHORTSUFFIX=nw +endif +ifeq ($(OS_TARGET),netwlibc) +EXEEXT=.nlm +STATICLIBPREFIX= +SHORTSUFFIX=nwl endif ifeq ($(OS_TARGET),macos) BATCHEXT= EXEEXT= -FPCMADE=fpcmade.macos -ZIPSUFFIX=macos DEBUGSYMEXT=.xcoff +SHORTSUFFIX=mac endif ifeq ($(OS_TARGET),darwin) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.darwin -ZIPSUFFIX=darwin +SHORTSUFFIX=dwn endif else ifeq ($(OS_TARGET),go32v1) @@ -583,46 +986,39 @@ SMARTEXT=.sl1 STATICLIBEXT=.a1 SHAREDLIBEXT=.so1 STATICLIBPREFIX= -FPCMADE=fpcmade.v1 -PACKAGESUFFIX=v1 +SHORTSUFFIX=v1 endif ifeq ($(OS_TARGET),go32v2) STATICLIBPREFIX= -FPCMADE=fpcmade.dos -ZIPSUFFIX=go32 +SHORTSUFFIX=dos endif ifeq ($(OS_TARGET),watcom) STATICLIBPREFIX= -FPCMADE=fpcmade.dos -ZIPSUFFIX=watcom +SHORTSUFFIX=wat endif ifeq ($(OS_TARGET),linux) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.lnx -ZIPSUFFIX=linux +SHORTSUFFIX=lnx endif ifeq ($(OS_TARGET),freebsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.freebsd -ZIPSUFFIX=freebsd +SHORTSUFFIX=fbs endif ifeq ($(OS_TARGET),netbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.netbsd -ZIPSUFFIX=netbsd +SHORTSUFFIX=nbs endif ifeq ($(OS_TARGET),openbsd) BATCHEXT=.sh EXEEXT= HASSHAREDLIB=1 -FPCMADE=fpcmade.openbsd -ZIPSUFFIX=openbsd +SHORTSUFFIX=obs endif ifeq ($(OS_TARGET),win32) PPUEXT=.ppw @@ -631,8 +1027,7 @@ ASMEXT=.sw SMARTEXT=.slw STATICLIBEXT=.aw SHAREDLIBEXT=.dll -FPCMADE=fpcmade.w32 -ZIPSUFFIX=w32 +SHORTSUFFIX=w32 endif ifeq ($(OS_TARGET),os2) BATCHEXT=.cmd @@ -644,8 +1039,7 @@ SMARTEXT=.sl2 STATICLIBPREFIX= STATICLIBEXT=.ao2 SHAREDLIBEXT=.dll -FPCMADE=fpcmade.os2 -ZIPSUFFIX=emx +SHORTSUFFIX=os2 ECHO=echo endif ifeq ($(OS_TARGET),amiga) @@ -656,7 +1050,7 @@ OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.library -FPCMADE=fpcmade.amg +SHORTSUFFIX=amg endif ifeq ($(OS_TARGET),atari) PPUEXT=.ppu @@ -665,7 +1059,7 @@ OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT=.ttp -FPCMADE=fpcmade.ata +SHORTSUFFIX=ata endif ifeq ($(OS_TARGET),beos) BATCHEXT=.sh @@ -675,8 +1069,7 @@ OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= -FPCMADE=fpcmade.be -ZIPSUFFIX=be +SHORTSUFFIX=be endif ifeq ($(OS_TARGET),sunos) BATCHEXT=.sh @@ -686,8 +1079,7 @@ OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= -FPCMADE=fpcmade.sun -ZIPSUFFIX=sun +SHORTSUFFIX=sun endif ifeq ($(OS_TARGET),qnx) BATCHEXT=.sh @@ -697,8 +1089,7 @@ OEXT=.o SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= -FPCMADE=fpcmade.qnx -ZIPSUFFIX=qnx +SHORTSUFFIX=qnx endif ifeq ($(OS_TARGET),netware) STATICLIBPREFIX= @@ -708,9 +1099,19 @@ ASMEXT=.s SMARTEXT=.sl STATICLIBEXT=.a SHAREDLIBEXT=.nlm -FPCMADE=fpcmade.nw -ZIPSUFFIX=nw EXEEXT=.nlm +SHORTSUFFIX=nw +endif +ifeq ($(OS_TARGET),netwlibc) +STATICLIBPREFIX= +PPUEXT=.ppu +OEXT=.o +ASMEXT=.s +SMARTEXT=.sl +STATICLIBEXT=.a +SHAREDLIBEXT=.nlm +EXEEXT=.nlm +SHORTSUFFIX=nwl endif ifeq ($(OS_TARGET),macos) BATCHEXT= @@ -721,7 +1122,25 @@ SMARTEXT=.sl STATICLIBEXT=.a EXEEXT= DEBUGSYMEXT=.xcoff -FPCMADE=fpcmade.macos +SHORTSUFFIX=mac +endif +endif +ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),) +FPCMADE=fpcmade.$(SHORTSUFFIX) +ZIPSUFFIX=$(SHORTSUFFIX) +ZIPCROSSPREFIX= +ZIPSOURCESUFFIX=src +ZIPEXAMPLESUFFIX=exm +else +FPCMADE=fpcmade.$(TARGETSUFFIX) +ZIPSOURCESUFFIX=.source +ZIPEXAMPLESUFFIX=.examples +ifdef CROSSCOMPILE +ZIPSUFFIX=.$(SOURCESUFFIX) +ZIPCROSSPREFIX=$(TARGETSUFFIX)- +else +ZIPSUFFIX=.$(TARGETSUFFIX) +ZIPCROSSPREFIX= endif endif ifndef ECHO @@ -729,7 +1148,7 @@ ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) -ECHO= __missing_command__ +ECHO= __missing_command_ECHO else ECHO:=$(firstword $(ECHO)) endif @@ -743,7 +1162,7 @@ DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(DATE),) -DATE= __missing_command__ +DATE= __missing_command_DATE else DATE:=$(firstword $(DATE)) endif @@ -757,7 +1176,7 @@ GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(GINSTALL),) -GINSTALL= __missing_command__ +GINSTALL= __missing_command_GINSTALL else GINSTALL:=$(firstword $(GINSTALL)) endif @@ -769,7 +1188,7 @@ export GINSTALL ifndef CPPROG CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(CPPROG),) -CPPROG= __missing_command__ +CPPROG= __missing_command_CPPROG else CPPROG:=$(firstword $(CPPROG)) endif @@ -778,7 +1197,7 @@ export CPPROG ifndef RMPROG RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(RMPROG),) -RMPROG= __missing_command__ +RMPROG= __missing_command_RMPROG else RMPROG:=$(firstword $(RMPROG)) endif @@ -787,12 +1206,26 @@ export RMPROG ifndef MVPROG MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(MVPROG),) -MVPROG= __missing_command__ +MVPROG= __missing_command_MVPROG else MVPROG:=$(firstword $(MVPROG)) endif endif export MVPROG +ifndef MKDIRPROG +MKDIRPROG:=$(strip $(wildcard $(addsuffix /gmkdir$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(MKDIRPROG),) +MKDIRPROG:=$(strip $(wildcard $(addsuffix /mkdir$(SRCEXEEXT),$(SEARCHPATH)))) +ifeq ($(MKDIRPROG),) +MKDIRPROG= __missing_command_MKDIRPROG +else +MKDIRPROG:=$(firstword $(MKDIRPROG)) +endif +else +MKDIRPROG:=$(firstword $(MKDIRPROG)) +endif +endif +export MKDIRPROG ifndef ECHOREDIR ifndef inUnix ECHOREDIR=echo @@ -804,7 +1237,10 @@ ifndef COPY COPY:=$(CPPROG) -fp endif ifndef COPYTREE -COPYTREE:=$(CPPROG) -rfp +COPYTREE:=$(CPPROG) -Rfp +endif +ifndef MKDIRTREE +MKDIRTREE:=$(MKDIRPROG) -p endif ifndef MOVE MOVE:=$(MVPROG) -f @@ -836,7 +1272,7 @@ export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR ifndef PPUMOVE PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(PPUMOVE),) -PPUMOVE= __missing_command__ +PPUMOVE= __missing_command_PPUMOVE else PPUMOVE:=$(firstword $(PPUMOVE)) endif @@ -845,7 +1281,7 @@ export PPUMOVE ifndef FPCMAKE FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(FPCMAKE),) -FPCMAKE= __missing_command__ +FPCMAKE= __missing_command_FPCMAKE else FPCMAKE:=$(firstword $(FPCMAKE)) endif @@ -854,7 +1290,7 @@ export FPCMAKE ifndef ZIPPROG ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ZIPPROG),) -ZIPPROG= __missing_command__ +ZIPPROG= __missing_command_ZIPPROG else ZIPPROG:=$(firstword $(ZIPPROG)) endif @@ -863,7 +1299,7 @@ export ZIPPROG ifndef TARPROG TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(TARPROG),) -TARPROG= __missing_command__ +TARPROG= __missing_command_TARPROG else TARPROG:=$(firstword $(TARPROG)) endif @@ -954,8 +1390,7 @@ TAROPT=vz TAREXT=.tar.gz endif override REQUIRE_PACKAGES=rtl fcl regexpr -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),i386) +ifeq ($(FULL_TARGET),i386-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -964,13 +1399,43 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif +ifeq ($(FULL_TARGET),i386-go32v2) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),m68k) +ifeq ($(FULL_TARGET),i386-win32) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 +REQUIRE_PACKAGES_SQLITE=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),i386-os2) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),i386-freebsd) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -979,13 +1444,110 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif +ifeq ($(FULL_TARGET),i386-beos) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),powerpc) +ifeq ($(FULL_TARGET),i386-netbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 +REQUIRE_PACKAGES_SQLITE=1 +endif +ifeq ($(FULL_TARGET),i386-sunos) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),i386-qnx) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),i386-netware) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),i386-openbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 +REQUIRE_PACKAGES_SQLITE=1 +endif +ifeq ($(FULL_TARGET),i386-wdosx) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),i386-emx) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),i386-watcom) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),i386-netwlibc) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),m68k-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -994,13 +1556,12 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif -endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),sparc) +ifeq ($(FULL_TARGET),m68k-freebsd) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -1009,13 +1570,65 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif +ifeq ($(FULL_TARGET),m68k-netbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 +REQUIRE_PACKAGES_SQLITE=1 endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),x86_64) +ifeq ($(FULL_TARGET),m68k-amiga) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),m68k-atari) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),m68k-openbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 +REQUIRE_PACKAGES_SQLITE=1 +endif +ifeq ($(FULL_TARGET),m68k-palmos) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),powerpc-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -1024,13 +1637,34 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif +ifeq ($(FULL_TARGET),powerpc-netbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 +REQUIRE_PACKAGES_SQLITE=1 endif -ifeq ($(OS_TARGET),linux) -ifeq ($(CPU_TARGET),arm) +ifeq ($(FULL_TARGET),powerpc-macos) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),powerpc-darwin) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -1039,13 +1673,12 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif -endif -ifeq ($(OS_TARGET),go32v2) -ifeq ($(CPU_TARGET),i386) +ifeq ($(FULL_TARGET),powerpc-morphos) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_FCL=1 @@ -1054,34 +1687,7 @@ REQUIRE_PACKAGES_PASJPEG=1 REQUIRE_PACKAGES_NETDB=1 REQUIRE_PACKAGES_LIBASYNC=1 endif -endif -ifeq ($(OS_TARGET),win32) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 -REQUIRE_PACKAGES_IBASE=1 -REQUIRE_PACKAGES_SQLITE=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),os2) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),freebsd) -ifeq ($(CPU_TARGET),i386) +ifeq ($(FULL_TARGET),sparc-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -1090,13 +1696,34 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif +ifeq ($(FULL_TARGET),sparc-netbsd) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 +REQUIRE_PACKAGES_SQLITE=1 endif -ifeq ($(OS_TARGET),freebsd) -ifeq ($(CPU_TARGET),m68k) +ifeq ($(FULL_TARGET),sparc-sunos) +REQUIRE_PACKAGES_RTL=1 +REQUIRE_PACKAGES_PASZLIB=1 +REQUIRE_PACKAGES_FCL=1 +REQUIRE_PACKAGES_REGEXPR=1 +REQUIRE_PACKAGES_PASJPEG=1 +REQUIRE_PACKAGES_NETDB=1 +REQUIRE_PACKAGES_LIBASYNC=1 +endif +ifeq ($(FULL_TARGET),x86_64-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -1105,13 +1732,12 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif -endif -ifeq ($(OS_TARGET),freebsd) -ifeq ($(CPU_TARGET),x86_64) +ifeq ($(FULL_TARGET),x86_64-freebsd) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -1120,207 +1746,12 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif -endif -ifeq ($(OS_TARGET),beos) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),netbsd) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 -REQUIRE_PACKAGES_IBASE=1 -REQUIRE_PACKAGES_SQLITE=1 -endif -endif -ifeq ($(OS_TARGET),netbsd) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 -REQUIRE_PACKAGES_IBASE=1 -REQUIRE_PACKAGES_SQLITE=1 -endif -endif -ifeq ($(OS_TARGET),netbsd) -ifeq ($(CPU_TARGET),powerpc) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 -REQUIRE_PACKAGES_IBASE=1 -REQUIRE_PACKAGES_SQLITE=1 -endif -endif -ifeq ($(OS_TARGET),netbsd) -ifeq ($(CPU_TARGET),sparc) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 -REQUIRE_PACKAGES_IBASE=1 -REQUIRE_PACKAGES_SQLITE=1 -endif -endif -ifeq ($(OS_TARGET),amiga) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),atari) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),sunos) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),sunos) -ifeq ($(CPU_TARGET),sparc) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),qnx) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),netware) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),openbsd) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 -REQUIRE_PACKAGES_IBASE=1 -REQUIRE_PACKAGES_SQLITE=1 -endif -endif -ifeq ($(OS_TARGET),openbsd) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 -REQUIRE_PACKAGES_IBASE=1 -REQUIRE_PACKAGES_SQLITE=1 -endif -endif -ifeq ($(OS_TARGET),wdosx) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),palmos) -ifeq ($(CPU_TARGET),m68k) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),macos) -ifeq ($(CPU_TARGET),powerpc) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),darwin) -ifeq ($(CPU_TARGET),powerpc) +ifeq ($(FULL_TARGET),arm-linux) REQUIRE_PACKAGES_RTL=1 REQUIRE_PACKAGES_PASZLIB=1 REQUIRE_PACKAGES_NETDB=1 @@ -1329,49 +1760,16 @@ REQUIRE_PACKAGES_PTHREADS=1 REQUIRE_PACKAGES_FCL=1 REQUIRE_PACKAGES_REGEXPR=1 REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_IBASE=1 +REQUIRE_PACKAGES_POSTGRES=1 +REQUIRE_PACKAGES_MYSQL=1 REQUIRE_PACKAGES_SQLITE=1 endif -endif -ifeq ($(OS_TARGET),emx) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),watcom) -ifeq ($(CPU_TARGET),i386) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif -ifeq ($(OS_TARGET),morphos) -ifeq ($(CPU_TARGET),powerpc) -REQUIRE_PACKAGES_RTL=1 -REQUIRE_PACKAGES_PASZLIB=1 -REQUIRE_PACKAGES_FCL=1 -REQUIRE_PACKAGES_REGEXPR=1 -REQUIRE_PACKAGES_PASJPEG=1 -REQUIRE_PACKAGES_NETDB=1 -REQUIRE_PACKAGES_LIBASYNC=1 -endif -endif ifdef REQUIRE_PACKAGES_RTL -PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR)))))) +PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_RTL),) -ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),) -UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX)),) +UNITDIR_RTL=$(PACKAGEDIR_RTL)/units/$(TARGETSUFFIX) else UNITDIR_RTL=$(PACKAGEDIR_RTL) endif @@ -1396,8 +1794,8 @@ endif ifdef REQUIRE_PACKAGES_PASZLIB PACKAGEDIR_PASZLIB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /paszlib/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_PASZLIB),) -ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/$(OS_TARGET)),) -UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX)),) +UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB)/units/$(TARGETSUFFIX) else UNITDIR_PASZLIB=$(PACKAGEDIR_PASZLIB) endif @@ -1422,8 +1820,8 @@ endif ifdef REQUIRE_PACKAGES_NETDB PACKAGEDIR_NETDB:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /netdb/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_NETDB),) -ifneq ($(wildcard $(PACKAGEDIR_NETDB)/$(OS_TARGET)),) -UNITDIR_NETDB=$(PACKAGEDIR_NETDB)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_NETDB)/units/$(TARGETSUFFIX)),) +UNITDIR_NETDB=$(PACKAGEDIR_NETDB)/units/$(TARGETSUFFIX) else UNITDIR_NETDB=$(PACKAGEDIR_NETDB) endif @@ -1448,8 +1846,8 @@ endif ifdef REQUIRE_PACKAGES_LIBASYNC PACKAGEDIR_LIBASYNC:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /libasync/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_LIBASYNC),) -ifneq ($(wildcard $(PACKAGEDIR_LIBASYNC)/$(OS_TARGET)),) -UNITDIR_LIBASYNC=$(PACKAGEDIR_LIBASYNC)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_LIBASYNC)/units/$(TARGETSUFFIX)),) +UNITDIR_LIBASYNC=$(PACKAGEDIR_LIBASYNC)/units/$(TARGETSUFFIX) else UNITDIR_LIBASYNC=$(PACKAGEDIR_LIBASYNC) endif @@ -1474,8 +1872,8 @@ endif ifdef REQUIRE_PACKAGES_PTHREADS PACKAGEDIR_PTHREADS:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /pthreads/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_PTHREADS),) -ifneq ($(wildcard $(PACKAGEDIR_PTHREADS)/$(OS_TARGET)),) -UNITDIR_PTHREADS=$(PACKAGEDIR_PTHREADS)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_PTHREADS)/units/$(TARGETSUFFIX)),) +UNITDIR_PTHREADS=$(PACKAGEDIR_PTHREADS)/units/$(TARGETSUFFIX) else UNITDIR_PTHREADS=$(PACKAGEDIR_PTHREADS) endif @@ -1500,8 +1898,8 @@ endif ifdef REQUIRE_PACKAGES_FCL PACKAGEDIR_FCL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_FCL),) -ifneq ($(wildcard $(PACKAGEDIR_FCL)/$(OS_TARGET)),) -UNITDIR_FCL=$(PACKAGEDIR_FCL)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_FCL)/units/$(TARGETSUFFIX)),) +UNITDIR_FCL=$(PACKAGEDIR_FCL)/units/$(TARGETSUFFIX) else UNITDIR_FCL=$(PACKAGEDIR_FCL) endif @@ -1526,8 +1924,8 @@ endif ifdef REQUIRE_PACKAGES_REGEXPR PACKAGEDIR_REGEXPR:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /regexpr/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_REGEXPR),) -ifneq ($(wildcard $(PACKAGEDIR_REGEXPR)/$(OS_TARGET)),) -UNITDIR_REGEXPR=$(PACKAGEDIR_REGEXPR)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_REGEXPR)/units/$(TARGETSUFFIX)),) +UNITDIR_REGEXPR=$(PACKAGEDIR_REGEXPR)/units/$(TARGETSUFFIX) else UNITDIR_REGEXPR=$(PACKAGEDIR_REGEXPR) endif @@ -1552,8 +1950,8 @@ endif ifdef REQUIRE_PACKAGES_PASJPEG PACKAGEDIR_PASJPEG:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /pasjpeg/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_PASJPEG),) -ifneq ($(wildcard $(PACKAGEDIR_PASJPEG)/$(OS_TARGET)),) -UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_PASJPEG)/units/$(TARGETSUFFIX)),) +UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG)/units/$(TARGETSUFFIX) else UNITDIR_PASJPEG=$(PACKAGEDIR_PASJPEG) endif @@ -1575,37 +1973,11 @@ ifdef UNITDIR_PASJPEG override COMPILER_UNITDIR+=$(UNITDIR_PASJPEG) endif endif -ifdef REQUIRE_PACKAGES_MYSQL -PACKAGEDIR_MYSQL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR)))))) -ifneq ($(PACKAGEDIR_MYSQL),) -ifneq ($(wildcard $(PACKAGEDIR_MYSQL)/$(OS_TARGET)),) -UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)/$(OS_TARGET) -else -UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL) -endif -ifdef CHECKDEPEND -$(PACKAGEDIR_MYSQL)/$(FPCMADE): - $(MAKE) -C $(PACKAGEDIR_MYSQL) $(FPCMADE) -override ALLDEPENDENCIES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE) -endif -else -PACKAGEDIR_MYSQL= -UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR))))) -ifneq ($(UNITDIR_MYSQL),) -UNITDIR_MYSQL:=$(firstword $(UNITDIR_MYSQL)) -else -UNITDIR_MYSQL= -endif -endif -ifdef UNITDIR_MYSQL -override COMPILER_UNITDIR+=$(UNITDIR_MYSQL) -endif -endif ifdef REQUIRE_PACKAGES_IBASE PACKAGEDIR_IBASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /ibase/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_IBASE),) -ifneq ($(wildcard $(PACKAGEDIR_IBASE)/$(OS_TARGET)),) -UNITDIR_IBASE=$(PACKAGEDIR_IBASE)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_IBASE)/units/$(TARGETSUFFIX)),) +UNITDIR_IBASE=$(PACKAGEDIR_IBASE)/units/$(TARGETSUFFIX) else UNITDIR_IBASE=$(PACKAGEDIR_IBASE) endif @@ -1627,11 +1999,63 @@ ifdef UNITDIR_IBASE override COMPILER_UNITDIR+=$(UNITDIR_IBASE) endif endif +ifdef REQUIRE_PACKAGES_POSTGRES +PACKAGEDIR_POSTGRES:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /postgres/Makefile.fpc,$(PACKAGESDIR)))))) +ifneq ($(PACKAGEDIR_POSTGRES),) +ifneq ($(wildcard $(PACKAGEDIR_POSTGRES)/units/$(TARGETSUFFIX)),) +UNITDIR_POSTGRES=$(PACKAGEDIR_POSTGRES)/units/$(TARGETSUFFIX) +else +UNITDIR_POSTGRES=$(PACKAGEDIR_POSTGRES) +endif +ifdef CHECKDEPEND +$(PACKAGEDIR_POSTGRES)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_POSTGRES) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_POSTGRES)/$(FPCMADE) +endif +else +PACKAGEDIR_POSTGRES= +UNITDIR_POSTGRES:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /postgres/Package.fpc,$(UNITSDIR))))) +ifneq ($(UNITDIR_POSTGRES),) +UNITDIR_POSTGRES:=$(firstword $(UNITDIR_POSTGRES)) +else +UNITDIR_POSTGRES= +endif +endif +ifdef UNITDIR_POSTGRES +override COMPILER_UNITDIR+=$(UNITDIR_POSTGRES) +endif +endif +ifdef REQUIRE_PACKAGES_MYSQL +PACKAGEDIR_MYSQL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /mysql/Makefile.fpc,$(PACKAGESDIR)))))) +ifneq ($(PACKAGEDIR_MYSQL),) +ifneq ($(wildcard $(PACKAGEDIR_MYSQL)/units/$(TARGETSUFFIX)),) +UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL)/units/$(TARGETSUFFIX) +else +UNITDIR_MYSQL=$(PACKAGEDIR_MYSQL) +endif +ifdef CHECKDEPEND +$(PACKAGEDIR_MYSQL)/$(FPCMADE): + $(MAKE) -C $(PACKAGEDIR_MYSQL) $(FPCMADE) +override ALLDEPENDENCIES+=$(PACKAGEDIR_MYSQL)/$(FPCMADE) +endif +else +PACKAGEDIR_MYSQL= +UNITDIR_MYSQL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /mysql/Package.fpc,$(UNITSDIR))))) +ifneq ($(UNITDIR_MYSQL),) +UNITDIR_MYSQL:=$(firstword $(UNITDIR_MYSQL)) +else +UNITDIR_MYSQL= +endif +endif +ifdef UNITDIR_MYSQL +override COMPILER_UNITDIR+=$(UNITDIR_MYSQL) +endif +endif ifdef REQUIRE_PACKAGES_SQLITE PACKAGEDIR_SQLITE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /sqlite/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_SQLITE),) -ifneq ($(wildcard $(PACKAGEDIR_SQLITE)/$(OS_TARGET)),) -UNITDIR_SQLITE=$(PACKAGEDIR_SQLITE)/$(OS_TARGET) +ifneq ($(wildcard $(PACKAGEDIR_SQLITE)/units/$(TARGETSUFFIX)),) +UNITDIR_SQLITE=$(PACKAGEDIR_SQLITE)/units/$(TARGETSUFFIX) else UNITDIR_SQLITE=$(PACKAGEDIR_SQLITE) endif @@ -1796,7 +2220,7 @@ override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS)) override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES) endif -fpc_units: $(UNITPPUFILES) +fpc_units: $(COMPILER_UNITTARGETDIR) $(UNITPPUFILES) ifdef TARGET_RSTS override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS)) override CLEANRSTFILES+=$(RSTFILES) @@ -1811,7 +2235,11 @@ fpc_debug: $(MAKE) all DEBUG=1 fpc_release: $(MAKE) all RELEASE=1 -.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .dpr .pp .rc .res +.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .lpr .dpr .pp .rc .res +$(COMPILER_UNITTARGETDIR): + $(MKDIRTREE) $(COMPILER_UNITTARGETDIR) +$(COMPILER_TARGETDIR): + $(MKDIRTREE) $(COMPILER_TARGETDIR) %$(PPUEXT): %.pp $(COMPILER) $< $(EXECPPAS) @@ -1824,6 +2252,9 @@ fpc_release: %$(EXEEXT): %.pas $(COMPILER) $< $(EXECPPAS) +%$(EXEEXT): %.lpr + $(COMPILER) $< + $(EXECPPAS) %$(EXEEXT): %.dpr $(COMPILER) $< $(EXECPPAS) @@ -1831,7 +2262,9 @@ fpc_release: windres -i $< -o $@ vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) +vpath %.lpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) vpath %.dpr $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR) +vpath %$(OEXT) $(COMPILER_UNITTARGETDIR) vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR) .PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall ifdef INSTALL_UNITS @@ -1913,9 +2346,12 @@ ifndef ZIPNAME ifdef DIST_ZIPNAME ZIPNAME=$(DIST_ZIPNAME) else -ZIPNAME=$(ZIPPREFIX)$(PACKAGE_NAME)$(ZIPSUFFIX) +ZIPNAME=$(PACKAGE_NAME) endif endif +ifndef FULLZIPNAME +FULLZIPNAME=$(ZIPCROSSPREFIX)$(ZIPPREFIX)$(ZIPNAME)$(ZIPSUFFIX) +endif ifndef ZIPTARGET ifdef DIST_ZIPTARGET ZIPTARGET=DIST_ZIPTARGET @@ -1940,10 +2376,10 @@ endif ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR)) ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR)) ifdef USETAR -ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(TAREXT) +ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(TAREXT) ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) * else -ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT) +ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(ZIPEXT) ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) * endif fpc_zipinstall: @@ -1971,10 +2407,10 @@ else endif $(DELTREE) $(PACKDIR) fpc_zipsourceinstall: - $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=src + $(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=$(ZIPSOURCESUFFIX) fpc_zipexampleinstall: ifdef HASEXAMPLES - $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=exm + $(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=$(ZIPEXAMPLESUFFIX) endif fpc_zipdistinstall: $(MAKE) fpc_zipinstall ZIPTARGET=distinstall @@ -1988,7 +2424,7 @@ endif ifdef CLEANPPUFILES override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES))) ifdef DEBUGSYMEXT -override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) +override CLEANPPULINKFILES+=$(subst $(PPUEXT),$(DEBUGSYMEXT),$(CLEANPPUFILES)) endif override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES)) override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES))) @@ -2014,17 +2450,28 @@ ifdef LIB_NAME 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 -endif -fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN) +fpc_cleanall: $(CLEANTARGET) ifdef CLEANEXEFILES -$(DEL) $(CLEANEXEFILES) endif +ifdef COMPILER_UNITTARGETDIR +ifdef CLEANPPUFILES + -$(DEL) $(CLEANPPUFILES) +endif +ifneq ($(CLEANPPULINKFILES),) + -$(DEL) $(CLEANPPULINKFILES) +endif +ifdef CLEANRSTFILES + -$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES)) +endif +endif + -$(DELTREE) units -$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT) +ifneq ($(PPUEXT),.ppu) + -$(DEL) *.o *.ppu *.a +endif -$(DELTREE) *$(SMARTEXT) - -$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) + -$(DEL) fpcmade.* Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE) -$(DEL) *_ppas$(BATCHEXT) ifdef AOUTEXT -$(DEL) *$(AOUTEXT) @@ -2032,6 +2479,7 @@ endif ifdef DEBUGSYMEXT -$(DEL) *$(DEBUGSYMEXT) endif +fpc_distclean: cleanall .PHONY: fpc_baseinfo override INFORULES+=fpc_baseinfo fpc_baseinfo: @@ -2050,6 +2498,8 @@ fpc_baseinfo: @$(ECHO) Target OS.... $(OS_TARGET) @$(ECHO) Full Source.. $(FULL_SOURCE) @$(ECHO) Full Target.. $(FULL_TARGET) + @$(ECHO) SourceSuffix. $(SOURCESUFFIX) + @$(ECHO) TargetSuffix. $(TARGETSUFFIX) @$(ECHO) @$(ECHO) == Directory info == @$(ECHO) @@ -2102,8 +2552,11 @@ fpc_baseinfo: @$(ECHO) == Install info == @$(ECHO) @$(ECHO) DateStr.............. $(DATESTR) + @$(ECHO) ZipName.............. $(ZIPNAME) @$(ECHO) ZipPrefix............ $(ZIPPREFIX) + @$(ECHO) ZipCrossPrefix....... $(ZIPCROSSPREFIX) @$(ECHO) ZipSuffix............ $(ZIPSUFFIX) + @$(ECHO) FullZipName.......... $(FULLZIPNAME) @$(ECHO) Install FPC Package.. $(INSTALL_FPCPACKAGE) @$(ECHO) @$(ECHO) Install base dir..... $(INSTALL_BASEDIR) @@ -2138,6 +2591,7 @@ all: fpc_all debug: fpc_debug smart: fpc_smart release: fpc_release +units: fpc_units examples: shared: install: fpc_install @@ -2153,7 +2607,7 @@ distclean: fpc_distclean cleanall: fpc_cleanall info: fpc_info makefiles: fpc_makefiles -.PHONY: all debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles +.PHONY: all debug smart release units examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles ifneq ($(wildcard fpcmake.loc),) include fpcmake.loc endif diff --git a/examples/Makefile.fpc b/examples/Makefile.fpc index f83be6965b..d0609280ab 100644 --- a/examples/Makefile.fpc +++ b/examples/Makefile.fpc @@ -26,6 +26,7 @@ units=hello \ scrollbar \ speedtest \ synedit1 \ + taborder \ testall \ toolbar \ trackbar diff --git a/examples/taborder.pas b/examples/taborder.pas new file mode 100644 index 0000000000..cbd8735014 --- /dev/null +++ b/examples/taborder.pas @@ -0,0 +1,155 @@ +program TabOrder; + +{$mode objfpc}{$H+} + +uses + Interfaces, Classes, SysUtils, Forms, Controls, Buttons, StdCtrls, ExtCtrls; + +type + + { TForm1 } + + TForm1 = class(TForm) + NoteBook: TNotebook; + Page1: TPage; + Page2: TPage; + Page3: TPage; + CloseButton: TButton; + Edit1: TEdit; + Edit2: TEdit; + Label1: TLabel; + public + constructor Create(TheOwner: TComponent); override; + procedure WriteTabOrder; + end; + +{ TForm1 } + +constructor TForm1.Create(TheOwner: TComponent); + + procedure CreatePage1; + begin + Label1:=TLabel.Create(Self); + with Label1 do begin + Name:='Label1'; + Parent:=Page1; + SetBounds(10,10,250,Height); + Caption:='TabOrder: First Edit below, then Edit above'; + end; + + Edit1:=TEdit.Create(Self); + with Edit1 do begin + Name:='Edit1'; + Parent:=Page1; + SetBounds(10,40,100,Height); + end; + + Edit2:=TEdit.Create(Self); + with Edit2 do begin + Name:='Edit2'; + Parent:=Page1; + SetBounds(10,70,100,Height); + end; + + // define Taborder + Edit2.TabStop:=true; + Edit2.TabOrder:=0; + Edit1.TabStop:=true; + Edit1.TabOrder:=1; + end; + + procedure CreatePage2; + begin + end; + + procedure CreatePage3; + begin + end; + +begin + inherited Create(TheOwner); + Name:='Form1'; + Position:=poScreenCenter; + SetInitialBounds(0,0,400,300); + + NoteBook:=TNotebook.Create(Self); + with NoteBook do begin + Name:='NoteBook'; + Parent:=Self; + Align:=alTop; + Height:=Parent.ClientHeight-40; + + Pages.Add('Page1'); + Page1:=Page[0]; + Page1.Name:='Page1'; + + Pages.Add('Page2'); + Page2:=Page[1]; + Page2.Name:='Page2'; + + Pages.Add('Page3'); + Page3:=Page[2]; + Page3.Name:='Page3'; + + Anchors:=[akLeft,akTop,akRight,akBottom]; + PageIndex:=0; + end; + + CloseButton:=TButton.Create(Self); + with CloseButton do begin + Name:='CloseButton'; + Parent:=Self; + Caption:='Close'; + Anchors:=[akRight,akBottom]; + SetBounds(Parent.ClientWidth-110,Parent.ClientHeight-35,100,Height); + ModalResult:=mrCancel; + end; + + CreatePage1; + CreatePage2; + CreatePage3; + + // define TabOrder + CloseButton.TabStop:=true; + CloseButton.TabOrder:=0; + NoteBook.TabStop:=true; + NoteBook.TabOrder:=1; + Page1.TabStop:=true; + Page1.TabOrder:=2; + Page2.TabStop:=true; + Page2.TabOrder:=3; + Page3.TabStop:=true; + Page3.TabOrder:=4; + + WriteTabOrder; +end; + +procedure TForm1.WriteTabOrder; + + procedure WriteTabOrderTree(const Prefix: string; AControl: TControl); + var + i: Integer; + begin + write(Prefix,AControl.Name); + if AControl is TWinControl then + write(' TabOrder=',TWinControl(AControl).TabOrder, + ' TabStop=',TWinControl(AControl).TabStop); + writeln(''); + if AControl is TWinControl then + for i:=0 to TWinControl(AControl).ControlCount-1 do begin + WriteTabOrderTree(Prefix+' ',TWinControl(AControl).Controls[i]); + end; + end; + +begin + WriteTabOrderTree('',Self); +end; + +var + Form1: TForm1; +begin + Application.Initialize; + Application.CreateForm(TForm1,Form1); + Application.Run; +end. +