bebbo / libnix

libnix (v4): a C link library for AmigaOS/m68k
15 stars 9 forks source link

CPU/FPU_Check if compiled with -m68060 seems to be missing #55

Closed githubaf closed 1 year ago

githubaf commented 2 years ago

When I compile -m68060, there seems to be neither a check for the CPU>=68020 nor for the presence of an FPU. These checks work when compiled with -m68040 or with other -m6020 -m68881 combinations

And a related question: What do I need to compile/link for an 68040 or 060 without an FPU? The -m68040 option seems to always link a 881 library?

I prepared a Makefile to test several combinations of options. Run make --keep-going # to execute all tests or for instance make all-m68060 --keep-going # for all 060-tests or make all-m68040 --keep-going # for all 040-tests

# AF, Gwd, 9.July 2019
# checks, if correct libraries and startupcodes are linked for -m68020, -m68881, -fbaserel, -fbaserel32, -resident and -resident32
# checks, if CPU and FPU requirements are enforced

# continue on errors by calling
# make --keep-going
#

CC = m68k-amigaos-gcc
VAMOS = vamos

NEED_68020_MESSAGE = 'CALL:  108 Alert( alertNum[d7]=00068020 )'
NEED_68881_MESSAGE = 'CALL:  108 Alert( alertNum[d7]=00068881 )'
NORMAL_MESSAGE ='Hello world, Pi=3.141593'

all: all-m68000 all-m68020 all-m68020-40 all-m68020-60 all-m68040 all-m68060

all-m68000:     m68000                          fbaserel_m68000                                                                                             resident 
all-m68020:     m68020        m68020_m68881     fbaserel_m68020        fbaserel_m68020_m68881     fbaserel32_m68020            fbaserel32_m68020_m68881     resident_m68020        resident_m68020_m68881     resident32_m68020         resident32_m68020_m68881      
all-m68020-40:  m68020-40     m68020-40_m68881  fbaserel_m68020-40     fbaserel_m68020-40_m68881  fbaserel32_m68020-40_m68881  fbaserel32_m68020-40_m68881  resident_m68020-40     resident_m68020-40_m68881  resident32_m68020-40      resident32_m68020-40_m68881
all-m68020-60:  m68020-60     m68020-60_m68881  fbaserel_m68020-60     fbaserel_m68020-60_m68881  fbaserel32_m68020-60_m68881  fbaserel32_m68020-60_m68881  resident_m68020-60     resident_m68020-60_m68881  resident32_m68020-60      resident32_m68020-60_m68881
all-m68040:     m68040_nofpu  m68040            fbaserel_m68040_nofpu  fbaserel_m68040            fbaserel32_m68040_nofpu      fbaserel32_m68040            resident_m68040_nofpu  resident_m68040            resident32_m68040_nofpu   resident32_m68040
all-m68060:     m68060_nofpu  m68060            fbaserel_m68060_nofpu  fbaserel_m68060            fbaserel32_m68060_nofpu      fbaserel32_m68060            resident_m68060_nofpu  resident_m68060            resident32_m68060_nofpu   resident32_m68060

m68000:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libnix20.a' .$@txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    .$@txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo " passed. "

m68020:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "    

m68020_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020 -m68881 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong startup code; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel_m68000:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel_m68020:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel_m68020_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020 -m68881 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel32_m68020:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020 -fbaserel32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel32_m68020_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020 -m68881 -fbaserel32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident_m68020:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident_m68020_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020 -m68881 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident32_m68020:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident32_m68020_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020 -m68881 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

##########
m68020-40:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-40 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

m68020-40_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-40 -m68881 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe  > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong startup code; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel_m68020-40:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-40 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel_m68020-40_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-40 -m68881 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel32_m68020-40_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-40 -m68881 -fbaserel32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident_m68020-40:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020-40 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident_m68020-40_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020-40 -m68881 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident32_m68020-40:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020-40 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident32_m68020-40_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020-40 -m68881 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

#####

m68020-60:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-60 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

m68020-60_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-60 -m68881 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong startup code; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel_m68020-60:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-60 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel_m68020-60_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-60 -m68881 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel32_m68020-60_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68020-60 -m68881 -fbaserel32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident_m68020-60:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020-60 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident_m68020-60_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020-60 -m68881 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident32_m68020-60:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020-60 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident32_m68020-60_m68881:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68020-60 -m68881 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

#####

m68040_nofpu:
    @echo -n "$@ "
    $(CC) cpu_test.c  -m68040 -msoft-float -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

m68040:
    @echo -n "$@ "
    $(CC) cpu_test.c  -m68040 -m68881 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe  > $@.txt
    grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong startup code; false) # corret library linked?
    grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel_m68040_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68040 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel_m68040:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68040 -m68881 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel32_m68040_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68040 -fbaserel32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel32_m68040:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68040 -m68881 -fbaserel32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident_m68040_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68040 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident_m68040:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68040 -m68881 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident32_m68040_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68040 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident32_m68040:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68040 -m68881 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm020/libm881/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

#####
#####

m68060_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68060 -msoft-float -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

m68060:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68060 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe  > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong startup code; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/ncrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel_m68060_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68060 -msoft-float -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel_m68060:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68060 -fbaserel -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

fbaserel32_m68060_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68060 -msoft-float -fbaserel32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing expected output; false)  # expected string printed?
    @echo "passed. "

fbaserel32_m68060:
    @echo -n "$@ "
    @$(CC) cpu_test.c  -m68060 -fbaserel32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlbcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident_m68060_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68060 -msoft-float -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident_m68060:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68060 -resident -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

resident32_m68060_nofpu:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68060 -msoft-float -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NORMAL_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expected string printed?
    @echo "passed. "

resident32_m68060:
    @echo -n "$@ "
    @$(CC) cpu_test.c -m68060 -resident32 -noixemul -lm -Wl,-Map=$@.map,--trace -o $@.exe > $@.txt
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/libb32/libm060/libnix20.a' $@.txt >/dev/null  || (echo wrong library; false) # corret library linked?
    @grep '$(PREFIX)/m68k-amigaos/libnix/lib/nlrcrt0.o'    $@.txt >/dev/null  || (echo wrong startup code; false) # corret startup code linked?
    @$(VAMOS) $@.exe 2>&1 | grep -F $(NEED_68020_MESSAGE) >/dev/null || (echo missing 68020 message; false)  # expecting 68020 message printed?
    @$(VAMOS) -C 68020 $@.exe 2>&1 | grep -F $(NEED_68881_MESSAGE) >/dev/null || (echo missing 68881 message; false)  # expecting 68881 message printed?
    @echo "passed. "

#####

clean:
    rm -f *.exe *.map *.txt

And the C-File cpu_test.c

#include <stdio.h>
#include <math.h>

int main(void)
{
        printf("Hello world, Pi=%f\n",M_PI);
    return 0;
}
githubaf commented 1 year ago

I just made a PR to solve this issue: https://github.com/bebbo/libnix/pull/59 (https://github.com/bebbo/libnix/pull/56 is also needed)

bebbo commented 1 year ago

thank you for the PR, it got merged.

And (my) gcc always assumes 68040/68060 do have a FPU.

githubaf commented 1 year ago

Works now. Thanks.

bebbo commented 1 year ago

Thank you for your contribution!