mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-10 21:19:32 +01:00
* added fpc executable and merged multi cpu additions
This commit is contained in:
parent
5a0f5db75c
commit
f82559d7e4
@ -155,6 +155,20 @@ endif
|
|||||||
# Message files
|
# Message files
|
||||||
MSGFILES=$(wildcard error*.msg)
|
MSGFILES=$(wildcard error*.msg)
|
||||||
|
|
||||||
|
# ppcSUFFIX
|
||||||
|
ifeq ($(CPU_TARGET),i386)
|
||||||
|
CPUSUF=386
|
||||||
|
endif
|
||||||
|
ifeq ($(CPU_TARGET),alpha)
|
||||||
|
CPUSUF=axp
|
||||||
|
endif
|
||||||
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
|
CPUSUF=68k
|
||||||
|
endif
|
||||||
|
ifeq ($(CPU_TARGET),powerpc)
|
||||||
|
CPUSUF=ppc
|
||||||
|
endif
|
||||||
|
|
||||||
# Define Unix also for Linux
|
# Define Unix also for Linux
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
|
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
|
||||||
@ -1380,9 +1394,9 @@ endif
|
|||||||
# Setup os-independent filenames
|
# Setup os-independent filenames
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
FPCEXENAME=pp$(EXEEXT)
|
FPCEXE=fpc$(EXEEXT)
|
||||||
EXENAME=ppc386$(EXEEXT)
|
PPEXENAME=pp$(EXEEXT)
|
||||||
M68KEXENAME=ppc68k$(EXEEXT)
|
EXENAME=ppc$(CPUSUF)$(EXEEXT)
|
||||||
TEMPNAME=ppc$(EXEEXT)
|
TEMPNAME=ppc$(EXEEXT)
|
||||||
TEMPNAME1=ppc1$(EXEEXT)
|
TEMPNAME1=ppc1$(EXEEXT)
|
||||||
TEMPNAME2=ppc2$(EXEEXT)
|
TEMPNAME2=ppc2$(EXEEXT)
|
||||||
@ -1391,12 +1405,30 @@ MAKEDEP=ppdep$(EXEEXT)
|
|||||||
MSG2INC=msg2inc$(EXEEXT)
|
MSG2INC=msg2inc$(EXEEXT)
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
# CPU targets
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
alpha:
|
||||||
|
$(MAKE) ALPHA=1 all
|
||||||
|
|
||||||
|
i386:
|
||||||
|
$(MAKE) I386=1 all
|
||||||
|
|
||||||
|
m68k:
|
||||||
|
$(MAKE) M68K=1 all
|
||||||
|
|
||||||
|
powerpc:
|
||||||
|
$(MAKE) POWERPC=1 all
|
||||||
|
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
# Default makefile
|
# Default makefile
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
all: $(EXENAME)
|
all: $(EXENAME)
|
||||||
$(MAKE) echotime
|
|
||||||
|
fpcexe: $(FPCEXE)
|
||||||
|
|
||||||
ifeq ($(MAKELEVEL),0)
|
ifeq ($(MAKELEVEL),0)
|
||||||
ifndef STARTTIME
|
ifndef STARTTIME
|
||||||
@ -1427,9 +1459,10 @@ else
|
|||||||
next :
|
next :
|
||||||
$(MAKE) execlean
|
$(MAKE) execlean
|
||||||
$(MAKE) -C $(UNITDIR_RTL) clean
|
$(MAKE) -C $(UNITDIR_RTL) clean
|
||||||
$(MAKE) -C $(UNITDIR_RTL) 'FPC=$(FPC)' 'OPT=$(RTLOPTS)' all
|
$(MAKE) -C $(UNITDIR_RTL) 'FPC=$(FPC)' 'OPT=$(RTLOPTS)'
|
||||||
$(MAKE) clean
|
$(MAKE) clean
|
||||||
$(MAKE) all
|
$(MAKE) $(EXENAME)
|
||||||
|
$(MAKE) echotime
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean : execlean fpc_cleanall
|
clean : execlean fpc_cleanall
|
||||||
@ -1438,7 +1471,7 @@ ppuclean:
|
|||||||
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
|
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
|
||||||
|
|
||||||
execlean :
|
execlean :
|
||||||
-$(DEL) $(EXENAME)
|
-$(DEL) fpc$(EXEEXT) ppc386$(EXEEXT) ppcaxp$(EXEEXT) ppc68k$(EXEEXT) ppcppc$(EXEEXT)
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
-$(DEL) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC)
|
-$(DEL) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC)
|
||||||
@ -1482,7 +1515,7 @@ ifndef COMPLETE
|
|||||||
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
||||||
$(COMPILER) pp.pas
|
$(COMPILER) pp.pas
|
||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
$(MOVE) $(FPCEXENAME) $(EXENAME)
|
$(MOVE) $(PPEXENAME) $(EXENAME)
|
||||||
else
|
else
|
||||||
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
||||||
$(COMPILER) pp.pas
|
$(COMPILER) pp.pas
|
||||||
@ -1491,7 +1524,7 @@ $(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
|||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
$(COMPILER) pp.pas
|
$(COMPILER) pp.pas
|
||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
$(MOVE) $(FPCEXENAME) $(EXENAME)
|
$(MOVE) $(PPEXENAME) $(EXENAME)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
tokens.dat : $(wildcard *.pas) $(wildcard *.inc)
|
tokens.dat : $(wildcard *.pas) $(wildcard *.inc)
|
||||||
@ -1548,14 +1581,15 @@ MSGINSTALLDIR=$(BASEINSTALLDIR)/msg
|
|||||||
|
|
||||||
# This will only install the ppc386.exe, not the message files etc.
|
# This will only install the ppc386.exe, not the message files etc.
|
||||||
quickinstall:
|
quickinstall:
|
||||||
ifdef UNIXINSTALLDIR
|
|
||||||
$(MKDIR) $(BASEINSTALLDIR)
|
|
||||||
$(INSTALLEXE) $(EXENAME) $(BASEINSTALLDIR)
|
|
||||||
else
|
|
||||||
$(MKDIR) $(BININSTALLDIR)
|
$(MKDIR) $(BININSTALLDIR)
|
||||||
ifdef UPXPROG
|
ifdef UPXPROG
|
||||||
-$(UPXPROG) $(EXENAME)
|
-$(UPXPROG) $(EXENAME)
|
||||||
endif
|
endif
|
||||||
|
$(INSTALLEXE) $(FPCEXE) $(BININSTALLDIR)
|
||||||
|
ifdef UNIXINSTALLDIR
|
||||||
|
$(MKDIR) $(BASEINSTALLDIR)
|
||||||
|
$(INSTALLEXE) $(EXENAME) $(BASEINSTALLDIR)
|
||||||
|
else
|
||||||
$(INSTALLEXE) $(EXENAME) $(BININSTALLDIR)
|
$(INSTALLEXE) $(EXENAME) $(BININSTALLDIR)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -1589,6 +1623,7 @@ rtlclean:
|
|||||||
rtlinstall:
|
rtlinstall:
|
||||||
$(MAKE) -C $(UNITDIR_RTL) install
|
$(MAKE) -C $(UNITDIR_RTL) install
|
||||||
|
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
# local user configurable file
|
# local user configurable file
|
||||||
# in makefile.loc you can add any desired target
|
# in makefile.loc you can add any desired target
|
||||||
@ -1599,16 +1634,3 @@ localmake:=$(strip $(wildcard makefile.loc))
|
|||||||
ifdef localmake
|
ifdef localmake
|
||||||
include ./$(localmake)
|
include ./$(localmake)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
# M68k test targets
|
|
||||||
#####################################################################
|
|
||||||
|
|
||||||
# just a quick way to get ppc68k
|
|
||||||
# needs to be after makefile.def for PASFILES INCFILES
|
|
||||||
|
|
||||||
$(M68KEXENAME): $(PASFILES) $(INCFILES)
|
|
||||||
$(MAKE) clean
|
|
||||||
$(FPC) -uI386 -uSUPPORT_MMX -dm68k -o$(M68KEXENAME) pp
|
|
||||||
$(MAKE) clean
|
|
||||||
|
|||||||
@ -70,6 +70,20 @@ endif
|
|||||||
# Message files
|
# Message files
|
||||||
MSGFILES=$(wildcard error*.msg)
|
MSGFILES=$(wildcard error*.msg)
|
||||||
|
|
||||||
|
# ppcSUFFIX
|
||||||
|
ifeq ($(CPU_TARGET),i386)
|
||||||
|
CPUSUF=386
|
||||||
|
endif
|
||||||
|
ifeq ($(CPU_TARGET),alpha)
|
||||||
|
CPUSUF=axp
|
||||||
|
endif
|
||||||
|
ifeq ($(CPU_TARGET),m68k)
|
||||||
|
CPUSUF=68k
|
||||||
|
endif
|
||||||
|
ifeq ($(CPU_TARGET),powerpc)
|
||||||
|
CPUSUF=ppc
|
||||||
|
endif
|
||||||
|
|
||||||
# Define Unix also for Linux
|
# Define Unix also for Linux
|
||||||
ifeq ($(OS_TARGET),linux)
|
ifeq ($(OS_TARGET),linux)
|
||||||
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
|
ifneq ($(findstring 1.0.,$(FPC_VERSION)),)
|
||||||
@ -131,9 +145,9 @@ endif
|
|||||||
# Setup os-independent filenames
|
# Setup os-independent filenames
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
FPCEXENAME=pp$(EXEEXT)
|
FPCEXE=fpc$(EXEEXT)
|
||||||
EXENAME=ppc386$(EXEEXT)
|
PPEXENAME=pp$(EXEEXT)
|
||||||
M68KEXENAME=ppc68k$(EXEEXT)
|
EXENAME=ppc$(CPUSUF)$(EXEEXT)
|
||||||
TEMPNAME=ppc$(EXEEXT)
|
TEMPNAME=ppc$(EXEEXT)
|
||||||
TEMPNAME1=ppc1$(EXEEXT)
|
TEMPNAME1=ppc1$(EXEEXT)
|
||||||
TEMPNAME2=ppc2$(EXEEXT)
|
TEMPNAME2=ppc2$(EXEEXT)
|
||||||
@ -142,12 +156,30 @@ MAKEDEP=ppdep$(EXEEXT)
|
|||||||
MSG2INC=msg2inc$(EXEEXT)
|
MSG2INC=msg2inc$(EXEEXT)
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
# CPU targets
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
alpha:
|
||||||
|
$(MAKE) ALPHA=1 all
|
||||||
|
|
||||||
|
i386:
|
||||||
|
$(MAKE) I386=1 all
|
||||||
|
|
||||||
|
m68k:
|
||||||
|
$(MAKE) M68K=1 all
|
||||||
|
|
||||||
|
powerpc:
|
||||||
|
$(MAKE) POWERPC=1 all
|
||||||
|
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
# Default makefile
|
# Default makefile
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
all: $(EXENAME)
|
all: $(EXENAME)
|
||||||
$(MAKE) echotime
|
|
||||||
|
fpcexe: $(FPCEXE)
|
||||||
|
|
||||||
ifeq ($(MAKELEVEL),0)
|
ifeq ($(MAKELEVEL),0)
|
||||||
ifndef STARTTIME
|
ifndef STARTTIME
|
||||||
@ -178,9 +210,10 @@ else
|
|||||||
next :
|
next :
|
||||||
$(MAKE) execlean
|
$(MAKE) execlean
|
||||||
$(MAKE) -C $(UNITDIR_RTL) clean
|
$(MAKE) -C $(UNITDIR_RTL) clean
|
||||||
$(MAKE) -C $(UNITDIR_RTL) 'FPC=$(FPC)' 'OPT=$(RTLOPTS)' all
|
$(MAKE) -C $(UNITDIR_RTL) 'FPC=$(FPC)' 'OPT=$(RTLOPTS)'
|
||||||
$(MAKE) clean
|
$(MAKE) clean
|
||||||
$(MAKE) all
|
$(MAKE) $(EXENAME)
|
||||||
|
$(MAKE) echotime
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean : execlean fpc_cleanall
|
clean : execlean fpc_cleanall
|
||||||
@ -189,7 +222,7 @@ ppuclean:
|
|||||||
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
|
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
|
||||||
|
|
||||||
execlean :
|
execlean :
|
||||||
-$(DEL) $(EXENAME)
|
-$(DEL) fpc$(EXEEXT) ppc386$(EXEEXT) ppcaxp$(EXEEXT) ppc68k$(EXEEXT) ppcppc$(EXEEXT)
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
-$(DEL) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC)
|
-$(DEL) $(TEMPNAME) $(TEMPNAME1) $(TEMPNAME2) $(TEMPNAME3) $(MSG2INC)
|
||||||
@ -233,7 +266,7 @@ ifndef COMPLETE
|
|||||||
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
||||||
$(COMPILER) pp.pas
|
$(COMPILER) pp.pas
|
||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
$(MOVE) $(FPCEXENAME) $(EXENAME)
|
$(MOVE) $(PPEXENAME) $(EXENAME)
|
||||||
else
|
else
|
||||||
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
$(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
||||||
$(COMPILER) pp.pas
|
$(COMPILER) pp.pas
|
||||||
@ -242,7 +275,7 @@ $(EXENAME) : $(wildcard *.pas) $(wildcard *.inc) msg
|
|||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
$(COMPILER) pp.pas
|
$(COMPILER) pp.pas
|
||||||
$(EXECPPAS)
|
$(EXECPPAS)
|
||||||
$(MOVE) $(FPCEXENAME) $(EXENAME)
|
$(MOVE) $(PPEXENAME) $(EXENAME)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
tokens.dat : $(wildcard *.pas) $(wildcard *.inc)
|
tokens.dat : $(wildcard *.pas) $(wildcard *.inc)
|
||||||
@ -299,14 +332,15 @@ MSGINSTALLDIR=$(BASEINSTALLDIR)/msg
|
|||||||
|
|
||||||
# This will only install the ppc386.exe, not the message files etc.
|
# This will only install the ppc386.exe, not the message files etc.
|
||||||
quickinstall:
|
quickinstall:
|
||||||
ifdef UNIXINSTALLDIR
|
|
||||||
$(MKDIR) $(BASEINSTALLDIR)
|
|
||||||
$(INSTALLEXE) $(EXENAME) $(BASEINSTALLDIR)
|
|
||||||
else
|
|
||||||
$(MKDIR) $(BININSTALLDIR)
|
$(MKDIR) $(BININSTALLDIR)
|
||||||
ifdef UPXPROG
|
ifdef UPXPROG
|
||||||
-$(UPXPROG) $(EXENAME)
|
-$(UPXPROG) $(EXENAME)
|
||||||
endif
|
endif
|
||||||
|
$(INSTALLEXE) $(FPCEXE) $(BININSTALLDIR)
|
||||||
|
ifdef UNIXINSTALLDIR
|
||||||
|
$(MKDIR) $(BASEINSTALLDIR)
|
||||||
|
$(INSTALLEXE) $(EXENAME) $(BASEINSTALLDIR)
|
||||||
|
else
|
||||||
$(INSTALLEXE) $(EXENAME) $(BININSTALLDIR)
|
$(INSTALLEXE) $(EXENAME) $(BININSTALLDIR)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -340,6 +374,7 @@ rtlclean:
|
|||||||
rtlinstall:
|
rtlinstall:
|
||||||
$(MAKE) -C $(UNITDIR_RTL) install
|
$(MAKE) -C $(UNITDIR_RTL) install
|
||||||
|
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
# local user configurable file
|
# local user configurable file
|
||||||
# in makefile.loc you can add any desired target
|
# in makefile.loc you can add any desired target
|
||||||
@ -350,18 +385,3 @@ localmake:=$(strip $(wildcard makefile.loc))
|
|||||||
ifdef localmake
|
ifdef localmake
|
||||||
include ./$(localmake)
|
include ./$(localmake)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
# M68k test targets
|
|
||||||
#####################################################################
|
|
||||||
|
|
||||||
# just a quick way to get ppc68k
|
|
||||||
# needs to be after makefile.def for PASFILES INCFILES
|
|
||||||
|
|
||||||
$(M68KEXENAME): $(PASFILES) $(INCFILES)
|
|
||||||
$(MAKE) clean
|
|
||||||
$(FPC) -uI386 -uSUPPORT_MMX -dm68k -o$(M68KEXENAME) pp
|
|
||||||
$(MAKE) clean
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user