Port-m68k archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Automatically setting CMACHFLAGS -m680x0
I've taken another pass at setting CMACHFLAGS based on the
values of -DM68020, -DM68030, -DM68040, and -DM68060, plus
making it sharable between m68k ports.
It consists of a sys/arch/m68k/Makefile.cmachflags which
can be included by a given port's Makefile.${foo} (patch
for atari and amiga included).
Obviously this only makes sense for ports which have kernel
configs that target multiple CPU types (so that excludes
sun3 :)
The idea is Makefile.cmachflags is included IFF the config
file has not set CMACHFLAGS, allowing people to easily
override it.
It doesn't deal with adding -Wa,-m68030 or similar - that
should be decided by the port.
What do people think?
As an aside atari includes '-Wa,-m68030' in CMACHFLAGS
while amiga uses '-Wa,-m68030 -Wa,-m68851' - is there a
significance to the difference?
# $NetBSD$
# Set CMACHFLAGS best target the specific CPU combination, based on
# -DM68020, -DM68030, -DM68040, and -DM68060
# This should typically be included iff the config file has not already set
# CMACHFLAGS, eg:
# .if !defined(CMACHFLAGS)
# .include "$S/arch/m68k/Makefile.cmachflags"
# CMACHFLAGS+= -Wa,-m68030 -Wa,-m68851
# .endif
# Table of CPUs targetted vs gcc flags. Note: -m68020 and -m68030 are
# ~identical, but they are both included for completeness.
# 020 030 040 060 -m68020-60
# 030 040 060 -m68020-60
# 020 040 060 -m68020-60
# 020 030 060 -m68020-60
# 040 060 -m68020-60 (Would have been nice to have a -m68040-60)
# 030 060 -m68020-60
# 020 060 -m68020-60
# 060 -m68060
#
# 020 030 040 -m68020-40
# 030 040 -m68020-40
# 020 040 -m68020-40
# 040 -m68040
#
# 020 030 -m68020
# 030 -m68030
# 020 -m68020
.if !empty(IDENT:M-DM68060)
.if empty(IDENT:M-DM68020) && empty(IDENT:M-DM68030) && empty(IDENT:M-DM68040)
CMACHFLAGS= -m68060
.else
CMACHFLAGS= -m68020-60
.endif
.elif !empty(IDENT:M-DM68040)
.if empty(IDENT:M-DM68020) && empty(IDENT:M-DM68030)
CMACHFLAGS= -m68040
.else /* !-DM68060 */
CMACHFLAGS= -m68020-40
.endif
.elif !empty(IDENT:M-DM68020)
CMACHFLAGS= -m68020
.else
CMACHFLAGS= -m68030
.endif /* !-DM68060 */
Index: sys/arch/atari/conf/Makefile.atari
===================================================================
RCS file: /cvsroot/src/sys/arch/atari/conf/Makefile.atari,v
retrieving revision 1.72
diff -u -r1.72 Makefile.atari
--- sys/arch/atari/conf/Makefile.atari 25 Jan 2008 20:02:06 -0000 1.72
+++ sys/arch/atari/conf/Makefile.atari 24 Jan 2009 14:27:42 -0000
@@ -27,10 +27,9 @@
## (2) compile settings
##
CPPFLAGS+= -Datari
-.if empty(IDENT:M-DM68060)
-CMACHFLAGS= -m68020
-.else
-CMACHFLAGS= -m68060 -Wa,-m68030
+.if !defined(CMACHFLAGS)
+.include "$S/arch/m68k/Makefile.cmachflags"
+CMACHFLAGS+= -Wa,-m68030
.endif
CFLAGS+= ${CMACHFLAGS} -msoft-float
AFLAGS+= -x assembler-with-cpp -traditional-cpp
Index: sys/arch/amiga/conf/Makefile.amiga
===================================================================
RCS file: /cvsroot/src/sys/arch/amiga/conf/Makefile.amiga,v
retrieving revision 1.105
diff -u -r1.105 Makefile.amiga
--- sys/arch/amiga/conf/Makefile.amiga 25 Jan 2008 19:39:22 -0000 1.105
+++ sys/arch/amiga/conf/Makefile.amiga 24 Jan 2009 14:27:42 -0000
@@ -32,10 +32,9 @@
## (2) compile settings
##
CPPFLAGS+= -Damiga -DFPCOPROC
-.if empty(IDENT:M-DM68060)
-CMACHFLAGS= -m68020
-.else
-CMACHFLAGS= -m68060 -Wa,-m68030 -Wa,-m68851
+.if !defined(CMACHFLAGS)
+.include "$S/arch/m68k/Makefile.cmachflags"
+CMACHFLAGS+= -Wa,-m68030 -Wa,-m68851
.endif
CFLAGS+= ${CMACHFLAGS} -msoft-float
AFLAGS+= -x assembler-with-cpp -traditional-cpp
Home |
Main Index |
Thread Index |
Old Index