From a1bfb5318bdc494282d9baa028ccd9c08390b3f6 Mon Sep 17 00:00:00 2001 From: pierre Date: Fri, 30 Oct 2020 16:13:35 +0000 Subject: [PATCH] Add explicitly dependency to system unit for win16 rtl git-svn-id: trunk@47258 - --- rtl/win16/Makefile | 65 +++++++++++++++++++++++++++++++----------- rtl/win16/Makefile.fpc | 36 ++++++++++++----------- 2 files changed, 67 insertions(+), 34 deletions(-) diff --git a/rtl/win16/Makefile b/rtl/win16/Makefile index 17061db6bf..bf5f14f2e1 100644 --- a/rtl/win16/Makefile +++ b/rtl/win16/Makefile @@ -2,7 +2,7 @@ # Don't edit, this file is generated by FPCMake Version 2.0.0 # default: all -MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin aarch64-win64 aarch64-android aarch64-ios wasm-wasm sparc64-linux riscv32-linux riscv32-embedded riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos +MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android i386-aros m68k-linux m68k-netbsd m68k-amiga m68k-atari m68k-palmos m68k-macosclassic m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macosclassic powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-haiku x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded x86_64-iphonesim x86_64-android x86_64-aros x86_64-dragonfly arm-linux arm-netbsd arm-palmos arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android arm-aros arm-freertos arm-ios powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android mips64el-linux jvm-java jvm-android i8086-embedded i8086-msdos i8086-win16 aarch64-linux aarch64-darwin aarch64-win64 aarch64-android aarch64-ios wasm-wasm sparc64-linux riscv32-linux riscv32-embedded riscv64-linux riscv64-embedded xtensa-linux xtensa-embedded xtensa-freertos z80-embedded z80-zxspectrum z80-msxdos z80-amstradcpc BSDs = freebsd netbsd openbsd darwin dragonfly UNIXs = linux $(BSDs) solaris qnx haiku aix LIMIT83fs = go32v2 os2 emx watcom msdos win16 atari @@ -670,6 +670,9 @@ endif ifeq ($(FULL_TARGET),z80-msxdos) override TARGET_UNITS+=system uuchar objpas strings iso7185 extpas dos wintypes winprocs win31 ports dynlibs sortbase sysconst rtlconst sysutils math types typinfo fgl classes endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override TARGET_UNITS+=system uuchar objpas strings iso7185 extpas dos wintypes winprocs win31 ports dynlibs sortbase sysconst rtlconst sysutils math types typinfo fgl classes +endif ifeq ($(FULL_TARGET),i386-linux) override TARGET_LOADERS+=prt0s prt0m prt0c prt0l prt0h endif @@ -976,6 +979,9 @@ endif ifeq ($(FULL_TARGET),z80-msxdos) override TARGET_LOADERS+=prt0s prt0m prt0c prt0l prt0h endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override TARGET_LOADERS+=prt0s prt0m prt0c prt0l prt0h +endif override INSTALL_FPCPACKAGE=y ifeq ($(FULL_TARGET),i386-linux) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) @@ -1283,6 +1289,9 @@ endif ifeq ($(FULL_TARGET),z80-msxdos) override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC) +endif ifeq ($(FULL_TARGET),i386-linux) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) endif @@ -1589,6 +1598,9 @@ endif ifeq ($(FULL_TARGET),z80-msxdos) override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) endif +ifeq ($(FULL_TARGET),z80-amstradcpc) +override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON) +endif ifdef REQUIRE_UNITSDIR override UNITSDIR+=$(REQUIRE_UNITSDIR) endif @@ -1815,15 +1827,34 @@ ifneq ($(findstring sparc64,$(shell uname -a)),) ifeq ($(BINUTILSPREFIX),) GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`) else +ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips mipsel),) +CROSSGCCOPT=-mabi=32 +else CROSSGCCOPT=-m32 endif endif endif endif +endif ifdef FPCFPMAKE FPCFPMAKE_CPU_TARGET=$(shell $(FPCFPMAKE) -iTP) ifeq ($(CPU_TARGET),$(FPCFPMAKE_CPU_TARGET)) FPCMAKEGCCLIBDIR:=$(GCCLIBDIR) +else +ifneq ($(findstring $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64),) +FPCMAKE_CROSSGCCOPT=-m64 +else +ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips64 mips64el),) +FPCMAKE_CROSSGCCOPT=-mabi=64 +else +ifneq ($(findstring $(FPCFPMAKE_CPU_OPT),mips mipsel),) +FPCMAKE_CROSSGCCOPT=-mabi=32 +else +FPCMAKE_CROSSGCCOPT=-m32 +endif +endif +endif +FPCMAKEGCCLIBDIR:=$(shell dirname `gcc $(FPCMAKE_CROSSGCCOPT) -print-libgcc-file-name`) endif endif ifndef FPCMAKEGCCLIBDIR @@ -2920,7 +2951,7 @@ system$(PPUEXT) : system.pp $(SYSDEPS) wintypes.inc winprocsh.inc winprocs.inc \ sysdl.inc sysdlh.inc $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp $(EXECPPAS) -uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp +uuchar$(PPUEXT): system$(PPUEXT) $(INC)/uuchar.pp $(COMPILER) $(INC)/uuchar.pp $(EXECPPAS) objpas$(PPUEXT): $(OBJPASDIR)/objpas.pp $(INC)/except.inc system$(PPUEXT) @@ -2932,59 +2963,59 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \ system$(PPUEXT) $(COMPILER) $(INC)/strings.pp $(EXECPPAS) -iso7185$(PPUEXT) : $(INC)/iso7185.pp $(SYSTEMUNIT)$(PPUEXT) +iso7185$(PPUEXT) : $(INC)/iso7185.pp system$(PPUEXT) $(COMPILER) $(INC)/iso7185.pp $(EXECPPAS) -extpas$(PPUEXT) : $(INC)/extpas.pp dos$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +extpas$(PPUEXT) : $(INC)/extpas.pp dos$(PPUEXT) system$(PPUEXT) $(COMPILER) $(INC)/extpas.pp $(EXECPPAS) -wintypes$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) wintypes.pp wintypes.inc +wintypes$(PPUEXT) : wintypes.pp wintypes.inc system$(PPUEXT) $(COMPILER) wintypes.pp $(EXECPPAS) -winprocs$(PPUEXT) : wintypes$(PPUEXT) winprocs.pp winprocsh.inc winprocs.inc +winprocs$(PPUEXT) : winprocs.pp winprocsh.inc winprocs.inc system$(PPUEXT) objpas$(PPUEXT) wintypes$(PPUEXT) $(COMPILER) winprocs.pp $(EXECPPAS) -win31$(PPUEXT) : wintypes$(PPUEXT) win31.pp +win31$(PPUEXT) : win31.pp system$(PPUEXT) objpas$(PPUEXT) wintypes$(PPUEXT) $(COMPILER) win31.pp $(EXECPPAS) ports$(PPUEXT) : ports.pp system$(PPUEXT) $(COMPILER) ports.pp $(EXECPPAS) -dynlibs$(PPUEXT) : $(INC)/dynlibs.pas dynlibs.inc objpas$(PPUEXT) +dynlibs$(PPUEXT) : $(INC)/dynlibs.pas dynlibs.inc objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) $(INC)/dynlibs.pas dos$(PPUEXT) : dos.pp registers.inc \ $(INC)/dosh.inc $(INC)/dos.inc $(INC)/fexpand.inc \ - strings$(PPUEXT) wintypes$(PPUEXT) winprocs$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + strings$(PPUEXT) wintypes$(PPUEXT) winprocs$(PPUEXT) system$(PPUEXT) $(COMPILER) dos.pp $(EXECPPAS) sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ objpas$(PPUEXT) dos$(PPUEXT) sysconst$(PPUEXT) \ - wintypes$(PPUEXT) winprocs$(PPUEXT) + wintypes$(PPUEXT) winprocs$(PPUEXT) system$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp $(EXECPPAS) classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) \ types$(PPUEXT) fgl$(PPUEXT) objpas$(PPUEXT) \ - winprocs$(PPUEXT) wintypes$(PPUEXT) sortbase$(PPUEXT) + winprocs$(PPUEXT) wintypes$(PPUEXT) sortbase$(PPUEXT) system$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp $(EXECPPAS) -fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp types$(PPUEXT) sysutils$(PPUEXT) rtlconst$(PPUEXT) objpas$(PPUEXT) sortbase$(PPUEXT) +fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp types$(PPUEXT) sysutils$(PPUEXT) rtlconst$(PPUEXT) objpas$(PPUEXT) sortbase$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/fgl.pp $(EXECPPAS) math$(PPUEXT): $(OBJPASDIR)/math.pp $(PROCINC)/mathu.inc objpas$(PPUEXT) sysutils$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/math.pp $(EXECPPAS) -typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp sysutils$(PPUEXT) objpas$(PPUEXT) rtlconst$(PPUEXT) +typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp sysutils$(PPUEXT) objpas$(PPUEXT) rtlconst$(PPUEXT) system$(PPUEXT) $(COMPILER) -Sg -Fi$(OBJPASDIR) $(OBJPASDIR)/typinfo.pp $(EXECPPAS) -types$(PPUEXT) : $(OBJPASDIR)/types.pp math$(PPUEXT) wintypes$(PPUEXT) objpas$(PPUEXT) +types$(PPUEXT) : $(OBJPASDIR)/types.pp math$(PPUEXT) wintypes$(PPUEXT) objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp $(EXECPPAS) -sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) +sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/sysconst.pp $(EXECPPAS) -rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp $(OBJPASDIR)/rtlconst.inc objpas$(PPUEXT) +rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp $(OBJPASDIR)/rtlconst.inc objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/rtlconst.pp $(EXECPPAS) -sortbase$(PPUEXT) : $(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +sortbase$(PPUEXT) : $(INC)/sortbase.pp objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) $< diff --git a/rtl/win16/Makefile.fpc b/rtl/win16/Makefile.fpc index cf7b378d41..78b7641364 100644 --- a/rtl/win16/Makefile.fpc +++ b/rtl/win16/Makefile.fpc @@ -80,7 +80,7 @@ system$(PPUEXT) : system.pp $(SYSDEPS) wintypes.inc winprocsh.inc winprocs.inc \ $(COMPILER) $(FPC_SYSTEM_OPT) -Us -Sg system.pp $(EXECPPAS) -uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp +uuchar$(PPUEXT): system$(PPUEXT) $(INC)/uuchar.pp $(COMPILER) $(INC)/uuchar.pp $(EXECPPAS) @@ -95,11 +95,11 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc \ $(COMPILER) $(INC)/strings.pp $(EXECPPAS) -iso7185$(PPUEXT) : $(INC)/iso7185.pp $(SYSTEMUNIT)$(PPUEXT) +iso7185$(PPUEXT) : $(INC)/iso7185.pp system$(PPUEXT) $(COMPILER) $(INC)/iso7185.pp $(EXECPPAS) -extpas$(PPUEXT) : $(INC)/extpas.pp dos$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +extpas$(PPUEXT) : $(INC)/extpas.pp dos$(PPUEXT) system$(PPUEXT) $(COMPILER) $(INC)/extpas.pp $(EXECPPAS) @@ -107,27 +107,29 @@ extpas$(PPUEXT) : $(INC)/extpas.pp dos$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) # WinAPI Units # -wintypes$(PPUEXT) : $(SYSTEMUNIT)$(PPUEXT) wintypes.pp wintypes.inc +wintypes$(PPUEXT) : wintypes.pp wintypes.inc system$(PPUEXT) $(COMPILER) wintypes.pp $(EXECPPAS) -winprocs$(PPUEXT) : wintypes$(PPUEXT) winprocs.pp winprocsh.inc winprocs.inc +# winprocs uses $mode objfpc, which loads objpas unit implicitly +winprocs$(PPUEXT) : winprocs.pp winprocsh.inc winprocs.inc system$(PPUEXT) objpas$(PPUEXT) wintypes$(PPUEXT) $(COMPILER) winprocs.pp $(EXECPPAS) -win31$(PPUEXT) : wintypes$(PPUEXT) win31.pp +# win31 uses $mode objfpc, which loads objpas unit implicitly +win31$(PPUEXT) : win31.pp system$(PPUEXT) objpas$(PPUEXT) wintypes$(PPUEXT) $(COMPILER) win31.pp $(EXECPPAS) # -# $(SYSTEMUNIT) Dependent Units +# system Dependent Units # ports$(PPUEXT) : ports.pp system$(PPUEXT) $(COMPILER) ports.pp $(EXECPPAS) -dynlibs$(PPUEXT) : $(INC)/dynlibs.pas dynlibs.inc objpas$(PPUEXT) +dynlibs$(PPUEXT) : $(INC)/dynlibs.pas dynlibs.inc objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) $(INC)/dynlibs.pas # @@ -135,7 +137,7 @@ dynlibs$(PPUEXT) : $(INC)/dynlibs.pas dynlibs.inc objpas$(PPUEXT) # dos$(PPUEXT) : dos.pp registers.inc \ $(INC)/dosh.inc $(INC)/dos.inc $(INC)/fexpand.inc \ - strings$(PPUEXT) wintypes$(PPUEXT) winprocs$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) + strings$(PPUEXT) wintypes$(PPUEXT) winprocs$(PPUEXT) system$(PPUEXT) $(COMPILER) dos.pp $(EXECPPAS) @@ -144,18 +146,18 @@ dos$(PPUEXT) : dos.pp registers.inc \ # sysutils$(PPUEXT) : sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.inc) \ objpas$(PPUEXT) dos$(PPUEXT) sysconst$(PPUEXT) \ - wintypes$(PPUEXT) winprocs$(PPUEXT) + wintypes$(PPUEXT) winprocs$(PPUEXT) system$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR)/sysutils sysutils.pp $(EXECPPAS) classes$(PPUEXT) : classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \ sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconst$(PPUEXT) \ types$(PPUEXT) fgl$(PPUEXT) objpas$(PPUEXT) \ - winprocs$(PPUEXT) wintypes$(PPUEXT) sortbase$(PPUEXT) + winprocs$(PPUEXT) wintypes$(PPUEXT) sortbase$(PPUEXT) system$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR)/classes classes.pp $(EXECPPAS) -fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp types$(PPUEXT) sysutils$(PPUEXT) rtlconst$(PPUEXT) objpas$(PPUEXT) sortbase$(PPUEXT) +fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp types$(PPUEXT) sysutils$(PPUEXT) rtlconst$(PPUEXT) objpas$(PPUEXT) sortbase$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/fgl.pp $(EXECPPAS) @@ -163,21 +165,21 @@ math$(PPUEXT): $(OBJPASDIR)/math.pp $(PROCINC)/mathu.inc objpas$(PPUEXT) sysutil $(COMPILER) $(OBJPASDIR)/math.pp $(EXECPPAS) -typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp sysutils$(PPUEXT) objpas$(PPUEXT) rtlconst$(PPUEXT) +typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp sysutils$(PPUEXT) objpas$(PPUEXT) rtlconst$(PPUEXT) system$(PPUEXT) $(COMPILER) -Sg -Fi$(OBJPASDIR) $(OBJPASDIR)/typinfo.pp $(EXECPPAS) -types$(PPUEXT) : $(OBJPASDIR)/types.pp math$(PPUEXT) wintypes$(PPUEXT) objpas$(PPUEXT) +types$(PPUEXT) : $(OBJPASDIR)/types.pp math$(PPUEXT) wintypes$(PPUEXT) objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/types.pp $(EXECPPAS) -sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) +sysconst$(PPUEXT) : $(OBJPASDIR)/sysconst.pp objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) $(OBJPASDIR)/sysconst.pp $(EXECPPAS) -rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp $(OBJPASDIR)/rtlconst.inc objpas$(PPUEXT) +rtlconst$(PPUEXT) : $(OBJPASDIR)/rtlconst.pp $(OBJPASDIR)/rtlconst.inc objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) -Fi$(OBJPASDIR) $(OBJPASDIR)/rtlconst.pp $(EXECPPAS) -sortbase$(PPUEXT) : $(INC)/sortbase.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT) +sortbase$(PPUEXT) : $(INC)/sortbase.pp objpas$(PPUEXT) system$(PPUEXT) $(COMPILER) $<