1
0
mirror of https://github.com/adtools/clib2.git synced 2025-12-08 14:59:05 +00:00

- [jlangner]: changed the GNUmakefile.68k to also build soft-float variants of all

our libraries. In addition the specs file now also respects the -msoft-float
  option at link time and sets the default link directory accordingly.


git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15176 87f5fb63-7c3d-0410-a384-fd976d0f7a62
This commit is contained in:
Jens Maus
2008-03-04 16:25:35 +00:00
parent 5ea68e3265
commit 2591e249d7
3 changed files with 72 additions and 10 deletions

View File

@ -17,7 +17,7 @@
*link: *link:
%{fbaserel:%{!resident:-m amiga_bss -fl libb}} %{resident:-m amiga_bss -amiga-datadata-reloc -fl libb} %{fbaserel32:%{!resident32:-m amiga_bss -fl libb32}} %{resident32:-m amiga_bss -amiga-datadata-reloc -fl libb32} %{g:-amiga-debug-hunk} %{m68020:-fl libm020} %{mc68020:-fl libm020} %{m68030:-fl libm020} %{m68040:-fl libm020} %{m68060:-fl libm020} %{m68020-40:-fl libm020} %{m68020-60:-fl libm020} %{noixemul:} %{fbaserel:%{!resident:-m amiga_bss -fl libb}} %{resident:-m amiga_bss -amiga-datadata-reloc -fl libb} %{fbaserel32:%{!resident32:-m amiga_bss -fl libb32}} %{resident32:-m amiga_bss -amiga-datadata-reloc -fl libb32} %{g:-amiga-debug-hunk} %{m68020:-fl libm020} %{mc68020:-fl libm020} %{m68030:-fl libm020} %{m68040:-fl libm020} %{m68060:-fl libm020} %{m68020-40:-fl libm020} %{m68020-60:-fl libm020} %{msoft-float:-fl soft-float} %{noixemul:}
*lib: *lib:
%{mstackextend:-lstack} -lc -lamiga -ldebug -lgcc -lc %{mstackextend:-lstack} -lc -lamiga -ldebug -lgcc -lc

View File

@ -1,11 +1,19 @@
# #
# $Id: GNUmakefile.68k,v 1.101 2007-01-06 10:09:48 obarthel Exp $ # $Id: GNUmakefile.68k,v 1.102 2008-03-04 16:25:35 damato Exp $
# #
# :ts=8 # :ts=8
# #
############################################################################## ##############################################################################
############################################
# find out the HOST operating system
# on which this makefile is run (default to AmigaOS)
HOST ?= $(shell uname)
ifeq ($(HOST),)
HOST = AmigaOS
endif
CC = gcc CC = gcc
AR = ar -q AR = ar -q
RANLIB = ranlib RANLIB = ranlib
@ -14,6 +22,16 @@ DELETE = delete all quiet
MAKEDIR = makedir MAKEDIR = makedir
MAKE = $(MAKE_COMMAND) -f GNUmakefile.68k MAKE = $(MAKE_COMMAND) -f GNUmakefile.68k
# override certain things for non-native builds
ifneq ($(HOST), AmigaOS)
CC = m68k-amigaos-gcc
AR = m68k-amigaos-ar -q
RANLIB = m68k-amigaos-ranlib
COPY = cp
DELETE = rm -rf
MAKEDIR = mkdir
endif
############################################################################## ##############################################################################
ifeq (,$(TYPE)) ifeq (,$(TYPE))
@ -95,6 +113,22 @@ CODE_TYPE := -m68000
CODE_FLAGS := CODE_FLAGS :=
endif endif
ifeq (soft_float_020,$(TYPE))
CODE_TYPE := -m68020-60 -msoft-float
CODE_FLAGS := -DM68020 -DUSE_64_BIT_INTS
endif
ifeq (soft_float_data,$(TYPE))
CODE_TYPE := -m68020-60 -msoft-float
CODE_FLAGS := -fbaserel -DSMALL_DATA -DM68020 -DUSE_64_BIT_INTS
endif
ifeq (soft_float_data32,$(TYPE))
CODE_TYPE := -m68020-60 -msoft-float
CODE_FLAGS := -fbaserel32 -DSMALL_DATA32 -DM68020 -DUSE_64_BIT_INTS
endif
############################################################################## ##############################################################################
WARNINGS = \ WARNINGS = \
@ -109,7 +143,7 @@ INCLUDES = -Iinclude -I. -Inetinclude
#OPTIONS = -fno-builtin -fno-common -DNDEBUG -D__THREAD_SAFE #OPTIONS = -fno-builtin -fno-common -DNDEBUG -D__THREAD_SAFE
#OPTIONS = -fno-builtin -fno-common -D__MEM_DEBUG #OPTIONS = -fno-builtin -fno-common -D__MEM_DEBUG
#OPTIONS = -fno-builtin -fno-common -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG #OPTIONS = -fno-builtin -fno-common -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG
OPTIMIZE = -O -fomit-frame-pointer -fstrength-reduce -finline-functions OPTIMIZE = -O3 -fomit-frame-pointer -funroll-loops -finline-functions
#OPTIMIZE = -O2 -fomit-frame-pointer #OPTIMIZE = -O2 -fomit-frame-pointer
#DEBUG = -g #DEBUG = -g
@ -964,10 +998,13 @@ all: \
lib/n32bcrt0.o \ lib/n32bcrt0.o \
lib/n32rcrt0.o \ lib/n32rcrt0.o \
lib/libm020/libm.a \ lib/libm020/libm.a \
lib/libm020/soft-float/libm.a \
lib/libm.a \ lib/libm.a \
lib/libb/libm.a \ lib/libb/libm.a \
lib/libb/libm020/libm.a \ lib/libb/libm020/libm.a \
lib/libb32/libm020/libm.a lib/libb/libm020/soft-float/libm.a \
lib/libb32/libm020/libm.a \
lib/libb32/libm020/soft-float/libm.a
############################################################################## ##############################################################################
@ -980,7 +1017,7 @@ clean:
realclean: realclean:
$(MAKE) clean $(MAKE) clean
-$(DELETE) lib small_data_020 small_data small_data32 large_data_020 \ -$(DELETE) lib small_data_020 small_data small_data32 large_data_020 \
large_data large_data soft_float_020 soft_float_data soft_float_data32
############################################################################## ##############################################################################
@ -1026,15 +1063,24 @@ lib/libb : lib
lib/libb/libm020 : lib lib/libb lib/libb/libm020 : lib lib/libb
-$(MAKEDIR) $@ -$(MAKEDIR) $@
lib/libb/libm020/soft-float : lib lib/libb/libm020
-$(MAKEDIR) $@
lib/libb32/libm020 : lib lib/libb32 lib/libb32/libm020 : lib lib/libb32
-$(MAKEDIR) $@ -$(MAKEDIR) $@
lib/libb32/libm020/soft-float : lib lib/libb32/libm020
-$(MAKEDIR) $@
lib/libb32 : lib lib/libb32 : lib
-$(MAKEDIR) $@ -$(MAKEDIR) $@
lib/libm020 : lib lib/libm020 : lib
-$(MAKEDIR) $@ -$(MAKEDIR) $@
lib/libm020/soft-float : lib lib/libm020
-$(MAKEDIR) $@
lib/libb/libm020/libm.a: lib lib/libb/libm020 lib/libb/libm020/libm.a: lib lib/libb/libm020
$(MAKE) TYPE=small_data_020 kitchen_sink $(MAKE) TYPE=small_data_020 kitchen_sink
@$(COPY) $(foreach file,$(LIBS_020),small_data_020/$(file)) lib/libb/libm020 @$(COPY) $(foreach file,$(LIBS_020),small_data_020/$(file)) lib/libb/libm020
@ -1055,6 +1101,18 @@ lib/libm.a: lib
$(MAKE) TYPE=large_data kitchen_sink $(MAKE) TYPE=large_data kitchen_sink
@$(COPY) $(foreach file,$(LIBS_68K),large_data/$(file)) lib @$(COPY) $(foreach file,$(LIBS_68K),large_data/$(file)) lib
lib/libm020/soft-float/libm.a: lib lib/libm020/soft-float
$(MAKE) TYPE=soft_float_020 kitchen_sink
@$(COPY) $(foreach file,$(LIBS_020),soft_float_020/$(file)) lib/libm020/soft-float
lib/libb/libm020/soft-float/libm.a: lib lib/libb/libm020/soft-float
$(MAKE) TYPE=soft_float_data kitchen_sink
@$(COPY) $(foreach file,$(LIBS_020),soft_float_data/$(file)) lib/libb/libm020/soft-float
lib/libb32/libm020/soft-float/libm.a: lib lib/libb32/libm020/soft-float
$(MAKE) TYPE=soft_float_data32 kitchen_sink
@$(COPY) $(foreach file,$(LIBS_020),soft_float_data32/$(file)) lib/libb32/libm020/soft-float
lib/nrcrt0.o : lib nrcrt0.o lib/nrcrt0.o : lib nrcrt0.o
@$(COPY) nrcrt0.o lib @$(COPY) nrcrt0.o lib
@ -1265,7 +1323,7 @@ nrcrt0.o : nrcrt0.S
nr32crt0.o : nrcrt0.S nr32crt0.o : nrcrt0.S
@echo "Assembling $< [resident32]" @echo "Assembling $< [resident32]"
@$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c nrcrt0.S @$(CC) -traditional -m68020 -msoft-float -DSMALL_DATA32 -o $@ -c nrcrt0.S
nbcrt0.o : ncrt0.S nbcrt0.o : ncrt0.S
@echo "Assembling $< [small_data]" @echo "Assembling $< [small_data]"
@ -1273,7 +1331,7 @@ nbcrt0.o : ncrt0.S
nb32crt0.o : ncrt0.S nb32crt0.o : ncrt0.S
@echo "Assembling $< [small_data32]" @echo "Assembling $< [small_data32]"
@$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c ncrt0.S @$(CC) -traditional -m68020 -msoft-float -DSMALL_DATA32 -o $@ -c ncrt0.S
ncrt0.o : ncrt0.S ncrt0.o : ncrt0.S
@echo "Assembling $< [large_data]" @echo "Assembling $< [large_data]"

View File

@ -1,6 +1,10 @@
- the log() and log10() functions always returned -inf() even if the arguments - [jlangner]: changed the GNUmakefile.68k to also build soft-float variants of all
was within the valid range for a log() function. Using DBL_EPSILON as the our libraries. In addition the specs file now also respects the -msoft-float
threshold was not correct as EPSILON is 2.2204460492503131E-16 whereas option at link time and sets the default link directory accordingly.
- [jlangner]: the log() and log10() functions always returned -inf() even if the
arguments was within the valid range for a log() function. Using DBL_EPSILON as
the threshold was not correct as EPSILON is 2.2204460492503131E-16 whereas
values like 1E-200 are still valid double values for a log(). values like 1E-200 are still valid double values for a log().
c.lib 1.202 (16.1.2007) c.lib 1.202 (16.1.2007)