From 729614ff74c415eedfbc219b6e9718b410b1a4a5 Mon Sep 17 00:00:00 2001 From: Tomas Hajny Date: Sun, 23 Mar 2003 23:33:10 +0000 Subject: [PATCH] + emx target added --- Makefile | 104 +++++++++++++++++++++++++++++++++++-- Makefile.fpc | 12 +++-- compiler/Makefile | 99 ++++++++++++++++++++++++++++++++++- compiler/i386/ag386att.pas | 8 ++- compiler/i386/cputarg.pas | 8 ++- demo/Makefile | 96 +++++++++++++++++++++++++++++++++- 6 files changed, 312 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index 6f818198d3..cb0dfb446d 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2003/02/16] +# Don't edit, this file is generated by FPCMake Version 1.1 [2003/03/23] # default: help -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx emx override PATH:=$(subst \,/,$(PATH)) ifeq ($(findstring ;,$(PATH)),) inUnix=1 @@ -535,6 +535,7 @@ SHAREDLIBEXT=.so STATICLIBPREFIX=libp RSTEXT=.rst FPCMADE=fpcmade +ifeq ($(findstring 1.0.,$(FPC_VERSION)),) ifeq ($(OS_TARGET),go32v1) PPUEXT=.pp1 OEXT=.o1 @@ -668,6 +669,97 @@ STATICLIBEXT=.a EXEEXT= FPCMADE=fpcmade.mcc endif +else +ifeq ($(OS_TARGET),go32v1) +STATICLIBPREFIX= +FPCMADE=fpcmade.v1 +PACKAGESUFFIX=v1 +endif +ifeq ($(OS_TARGET),go32v2) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=go32 +endif +ifeq ($(OS_TARGET),linux) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.lnx +ZIPSUFFIX=linux +endif +ifeq ($(OS_TARGET),freebsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.freebsd +ZIPSUFFIX=freebsd +endif +ifeq ($(OS_TARGET),netbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.netbsd +ZIPSUFFIX=netbsd +endif +ifeq ($(OS_TARGET),openbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.openbsd +ZIPSUFFIX=openbsd +endif +ifeq ($(OS_TARGET),win32) +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.w32 +ZIPSUFFIX=w32 +endif +ifeq ($(OS_TARGET),os2) +AOUTEXT=.out +STATICLIBPREFIX= +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.os2 +ZIPSUFFIX=os2 +ECHO=echo +endif +ifeq ($(OS_TARGET),emx) +AOUTEXT=.out +STATICLIBPREFIX= +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.emx +ZIPSUFFIX=emx +ECHO=echo +endif +ifeq ($(OS_TARGET),amiga) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.amg +endif +ifeq ($(OS_TARGET),atari) +EXEEXT=.ttp +FPCMADE=fpcmade.ata +endif +ifeq ($(OS_TARGET),beos) +EXEEXT= +FPCMADE=fpcmade.be +ZIPSUFFIX=be +endif +ifeq ($(OS_TARGET),sunos) +EXEEXT= +FPCMADE=fpcmade.sun +ZIPSUFFIX=sun +endif +ifeq ($(OS_TARGET),qnx) +EXEEXT= +FPCMADE=fpcmade.qnx +ZIPSUFFIX=qnx +endif +ifeq ($(OS_TARGET),netware) +EXEEXT=.nlm +STATICLIBPREFIX= +FPCMADE=fpcmade.nw +ZIPSUFFIX=nw +endif +ifeq ($(OS_TARGET),macos) +EXEEXT= +FPCMADE=fpcmade.mcc +endif +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -1684,7 +1776,7 @@ help: @$(ECHO) @$(ECHO) Packing targets are: @$(ECHO) - @$(ECHO) go32v2zip,win32zip,linuxzip,freebsdzip,sourcezip,os2zip,beoszip,sunoszip,qnxzip,amigazip + @$(ECHO) go32v2zip,win32zip,linuxzip,freebsdzip,sourcezip,os2zip,emxzip,beoszip,sunoszip,qnxzip,amigazip @$(ECHO) @exit .PHONY: compiler_cycle @@ -1832,7 +1924,7 @@ sourcezip: $(MAKE) utils_zipsourceinstall $(MAKE) ide_zipsourceinstall $(MAKE) installer_zipsourceinstall -.PHONY: go32v2 win32 linux freebsd os2 netbsd openbsd go32v2zip win32zip linuxzip freebsdzip os2zip netbsdzip openbsdzip +.PHONY: go32v2 win32 linux freebsd os2 emx netbsd openbsd go32v2zip win32zip linuxzip freebsdzip os2zip emxzip netbsdzip openbsdzip go32v2: checkfpcdir $(MAKE) install OS_TARGET=go32v2 win32: checkfpcdir @@ -1847,6 +1939,8 @@ openbsd: checkfpcdir $(MAKE) install OS_TARGET=openbsd os2: checkfpcdir $(MAKE) install OS_TARGET=os2 +emx: checkfpcdir + $(MAKE) install OS_TARGET=emx sunos: checkfpcdir $(MAKE) install OS_TARGET=sunos go32v2zip: checkfpcdir @@ -1865,6 +1959,8 @@ beoszip : checkfpcdir $(MAKE) zipinstall OS_TARGET=beos USEZIP=1 os2zip: checkfpcdir $(MAKE) zipinstall OS_TARGET=os2 +emxzip: checkfpcdir + $(MAKE) zipinstall OS_TARGET=emx sunoszip: checkfpcdir $(MAKE) zipinstall OS_TARGET=sunos TARPROG=gtar qnxzip: checkfpcdir diff --git a/Makefile.fpc b/Makefile.fpc index 4b0154ab63..a100f3cb52 100644 --- a/Makefile.fpc +++ b/Makefile.fpc @@ -191,7 +191,7 @@ help: @$(ECHO) @$(ECHO) Packing targets are: @$(ECHO) - @$(ECHO) go32v2zip,win32zip,linuxzip,freebsdzip,sourcezip,os2zip,beoszip,sunoszip,qnxzip,amigazip + @$(ECHO) go32v2zip,win32zip,linuxzip,freebsdzip,sourcezip,os2zip,emxzip,beoszip,sunoszip,qnxzip,amigazip @$(ECHO) @exit @@ -437,7 +437,7 @@ sourcezip: # OS targets ########################################################################## -.PHONY: go32v2 win32 linux freebsd os2 netbsd openbsd go32v2zip win32zip linuxzip freebsdzip os2zip netbsdzip openbsdzip +.PHONY: go32v2 win32 linux freebsd os2 emx netbsd openbsd go32v2zip win32zip linuxzip freebsdzip os2zip emxzip netbsdzip openbsdzip go32v2: checkfpcdir $(MAKE) install OS_TARGET=go32v2 @@ -460,10 +460,12 @@ openbsd: checkfpcdir os2: checkfpcdir $(MAKE) install OS_TARGET=os2 +emx: checkfpcdir + $(MAKE) install OS_TARGET=emx + sunos: checkfpcdir $(MAKE) install OS_TARGET=sunos - go32v2zip: checkfpcdir $(MAKE) zipinstall OS_TARGET=go32v2 @@ -485,10 +487,12 @@ openbsdzip : checkfpcdir beoszip : checkfpcdir $(MAKE) zipinstall OS_TARGET=beos USEZIP=1 - os2zip: checkfpcdir $(MAKE) zipinstall OS_TARGET=os2 +emxzip: checkfpcdir + $(MAKE) zipinstall OS_TARGET=emx + sunoszip: checkfpcdir $(MAKE) zipinstall OS_TARGET=sunos TARPROG=gtar diff --git a/compiler/Makefile b/compiler/Makefile index b67edcff6e..561337c6cc 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -1,8 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2003/01/14] +# Don't edit, this file is generated by FPCMake Version 1.1 [2003/03/23] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx emx override PATH:=$(subst \,/,$(PATH)) ifeq ($(findstring ;,$(PATH)),) inUnix=1 @@ -526,6 +526,97 @@ SHAREDLIBEXT=.so STATICLIBPREFIX=libp RSTEXT=.rst FPCMADE=fpcmade +ifeq ($(findstring 1.0.,$(FPC_VERSION)),) +ifeq ($(OS_TARGET),go32v1) +STATICLIBPREFIX= +FPCMADE=fpcmade.v1 +PACKAGESUFFIX=v1 +endif +ifeq ($(OS_TARGET),go32v2) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=go32 +endif +ifeq ($(OS_TARGET),linux) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.lnx +ZIPSUFFIX=linux +endif +ifeq ($(OS_TARGET),freebsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.freebsd +ZIPSUFFIX=freebsd +endif +ifeq ($(OS_TARGET),netbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.netbsd +ZIPSUFFIX=netbsd +endif +ifeq ($(OS_TARGET),openbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.openbsd +ZIPSUFFIX=openbsd +endif +ifeq ($(OS_TARGET),win32) +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.w32 +ZIPSUFFIX=w32 +endif +ifeq ($(OS_TARGET),os2) +AOUTEXT=.out +STATICLIBPREFIX= +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.os2 +ZIPSUFFIX=os2 +ECHO=echo +endif +ifeq ($(OS_TARGET),emx) +AOUTEXT=.out +STATICLIBPREFIX= +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.emx +ZIPSUFFIX=emx +ECHO=echo +endif +ifeq ($(OS_TARGET),amiga) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.amg +endif +ifeq ($(OS_TARGET),atari) +EXEEXT=.ttp +FPCMADE=fpcmade.ata +endif +ifeq ($(OS_TARGET),beos) +EXEEXT= +FPCMADE=fpcmade.be +ZIPSUFFIX=be +endif +ifeq ($(OS_TARGET),sunos) +EXEEXT= +FPCMADE=fpcmade.sun +ZIPSUFFIX=sun +endif +ifeq ($(OS_TARGET),qnx) +EXEEXT= +FPCMADE=fpcmade.qnx +ZIPSUFFIX=qnx +endif +ifeq ($(OS_TARGET),netware) +EXEEXT=.nlm +STATICLIBPREFIX= +FPCMADE=fpcmade.nw +ZIPSUFFIX=nw +endif +ifeq ($(OS_TARGET),macos) +EXEEXT= +FPCMADE=fpcmade.mcc +endif +else ifeq ($(OS_TARGET),go32v1) PPUEXT=.pp1 OEXT=.o1 @@ -659,6 +750,7 @@ STATICLIBEXT=.a EXEEXT= FPCMADE=fpcmade.mcc endif +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),) @@ -932,6 +1024,9 @@ endif ifeq ($(OS_TARGET),macosx) REQUIRE_PACKAGES_RTL=1 endif +ifeq ($(OS_TARGET),emx) +REQUIRE_PACKAGES_RTL=1 +endif ifdef REQUIRE_PACKAGES_RTL PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR)))))) ifneq ($(PACKAGEDIR_RTL),) diff --git a/compiler/i386/ag386att.pas b/compiler/i386/ag386att.pas index 2d1b1eda62..ee50e9ead7 100644 --- a/compiler/i386/ag386att.pas +++ b/compiler/i386/ag386att.pas @@ -358,7 +358,8 @@ interface idtxt : 'AS_AOUT'; asmbin : 'as'; asmcmd : '-o $OBJ $ASM'; - supported_target : system_i386_os2; + supported_target : system_any; +{ supported_target : system_i386_emx;} outputbinary: false; allowdirect : true; needar : true; @@ -398,7 +399,10 @@ initialization end. { $Log$ - Revision 1.30 2003-02-19 22:00:15 daniel + Revision 1.31 2003-03-23 23:33:10 hajny + + emx target added + + Revision 1.30 2003/02/19 22:00:15 daniel * Code generator converted to new register notation - Horribily outdated todo.txt removed diff --git a/compiler/i386/cputarg.pas b/compiler/i386/cputarg.pas index e458d556e2..59ae3486f6 100644 --- a/compiler/i386/cputarg.pas +++ b/compiler/i386/cputarg.pas @@ -45,6 +45,9 @@ implementation {$ifndef NOTARGETSUNOS} ,t_sunos {$endif} + {$ifndef NOTARGETEMX} + ,t_emx + {$endif} {$ifndef NOTARGETOS2} ,t_os2 {$endif} @@ -85,7 +88,10 @@ implementation end. { $Log$ - Revision 1.9 2002-05-18 13:34:22 peter + Revision 1.10 2003-03-23 23:33:10 hajny + + emx target added + + Revision 1.9 2002/05/18 13:34:22 peter * readded missing revisions Revision 1.8 2002/05/16 19:46:50 carl diff --git a/demo/Makefile b/demo/Makefile index cd8a0b8e33..5ac4972dc4 100644 --- a/demo/Makefile +++ b/demo/Makefile @@ -1,8 +1,8 @@ # -# Don't edit, this file is generated by FPCMake Version 1.1 [2003/01/14] +# Don't edit, this file is generated by FPCMake Version 1.1 [2003/03/22] # default: all -MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx +MAKEFILETARGETS=linux go32v2 win32 os2 freebsd beos netbsd amiga atari sunos qnx netware openbsd wdosx palmos macos macosx emx override PATH:=$(subst \,/,$(PATH)) ifeq ($(findstring ;,$(PATH)),) inUnix=1 @@ -423,6 +423,7 @@ SHAREDLIBEXT=.so STATICLIBPREFIX=libp RSTEXT=.rst FPCMADE=fpcmade +ifeq ($(findstring 1.0.,$(FPC_VERSION)),) ifeq ($(OS_TARGET),go32v1) PPUEXT=.pp1 OEXT=.o1 @@ -556,6 +557,97 @@ STATICLIBEXT=.a EXEEXT= FPCMADE=fpcmade.mcc endif +else +ifeq ($(OS_TARGET),go32v1) +STATICLIBPREFIX= +FPCMADE=fpcmade.v1 +PACKAGESUFFIX=v1 +endif +ifeq ($(OS_TARGET),go32v2) +STATICLIBPREFIX= +FPCMADE=fpcmade.dos +ZIPSUFFIX=go32 +endif +ifeq ($(OS_TARGET),linux) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.lnx +ZIPSUFFIX=linux +endif +ifeq ($(OS_TARGET),freebsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.freebsd +ZIPSUFFIX=freebsd +endif +ifeq ($(OS_TARGET),netbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.netbsd +ZIPSUFFIX=netbsd +endif +ifeq ($(OS_TARGET),openbsd) +EXEEXT= +HASSHAREDLIB=1 +FPCMADE=fpcmade.openbsd +ZIPSUFFIX=openbsd +endif +ifeq ($(OS_TARGET),win32) +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.w32 +ZIPSUFFIX=w32 +endif +ifeq ($(OS_TARGET),os2) +AOUTEXT=.out +STATICLIBPREFIX= +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.os2 +ZIPSUFFIX=os2 +ECHO=echo +endif +ifeq ($(OS_TARGET),emx) +AOUTEXT=.out +STATICLIBPREFIX= +SHAREDLIBEXT=.dll +FPCMADE=fpcmade.emx +ZIPSUFFIX=emx +ECHO=echo +endif +ifeq ($(OS_TARGET),amiga) +EXEEXT= +SHAREDLIBEXT=.library +FPCMADE=fpcmade.amg +endif +ifeq ($(OS_TARGET),atari) +EXEEXT=.ttp +FPCMADE=fpcmade.ata +endif +ifeq ($(OS_TARGET),beos) +EXEEXT= +FPCMADE=fpcmade.be +ZIPSUFFIX=be +endif +ifeq ($(OS_TARGET),sunos) +EXEEXT= +FPCMADE=fpcmade.sun +ZIPSUFFIX=sun +endif +ifeq ($(OS_TARGET),qnx) +EXEEXT= +FPCMADE=fpcmade.qnx +ZIPSUFFIX=qnx +endif +ifeq ($(OS_TARGET),netware) +EXEEXT=.nlm +STATICLIBPREFIX= +FPCMADE=fpcmade.nw +ZIPSUFFIX=nw +endif +ifeq ($(OS_TARGET),macos) +EXEEXT= +FPCMADE=fpcmade.mcc +endif +endif ifndef ECHO ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH)))) ifeq ($(ECHO),)