mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
546 lines
17 KiB
Makefile
546 lines
17 KiB
Makefile
#
|
|
# $Id: GNUmakefile.68k,v 1.107 2010-10-20 13:50:16 obarthel Exp $
|
|
#
|
|
# vim:ts=8 ft=make:
|
|
#
|
|
|
|
##############################################################################
|
|
|
|
############################################
|
|
# 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
|
|
AR = ar -q
|
|
RANLIB = ranlib
|
|
COPY = copy clone buf=0
|
|
DELETE = delete all quiet
|
|
MAKEDIR = makedir
|
|
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 -p
|
|
endif
|
|
|
|
##############################################################################
|
|
|
|
ifeq (,$(TYPE))
|
|
LIBC_OBJS = libc_objs
|
|
LIBUNIX_OBJS = libunix_objs
|
|
LIBM_OBJS = libm_objs
|
|
LIBM881_OBJS = libm881_objs
|
|
LIBNET_OBJS = libnet_objs
|
|
LIBDEBUG_OBJS = libdebug_objs
|
|
LIBAMIGA_OBJS = libamiga_objs
|
|
else
|
|
LIBC_OBJS = $(TYPE)/libc_objs
|
|
LIBUNIX_OBJS = $(TYPE)/libunix_objs
|
|
LIBM_OBJS = $(TYPE)/libm_objs
|
|
LIBM881_OBJS = $(TYPE)/libm881_objs
|
|
LIBNET_OBJS = $(TYPE)/libnet_objs
|
|
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
|
|
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
|
|
endif
|
|
|
|
##############################################################################
|
|
|
|
.c.o:
|
|
@echo "Compiling $<"
|
|
@$(CC) -c $(CFLAGS) $<
|
|
|
|
$(LIBC_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):c]"
|
|
@$(CC) -o $(LIBC_OBJS)/$*.o -c $(CFLAGS) $<
|
|
|
|
$(LIBUNIX_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):unix]"
|
|
@$(CC) -o $(LIBUNIX_OBJS)/$*.o -c $(CFLAGS) -DUNIX_PATH_SEMANTICS $<
|
|
|
|
$(LIBM_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):m]"
|
|
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) -msoft-float -DIEEE_FLOATING_POINT_SUPPORT $<
|
|
|
|
$(LIBM881_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):m881]"
|
|
@$(CC) -o $(LIBM881_OBJS)/$*.o -c $(CFLAGS) -m68881 -DM68881_FLOATING_POINT_SUPPORT $<
|
|
|
|
$(LIBNET_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):net]"
|
|
@$(CC) -o $(LIBNET_OBJS)/$*.o -c $(CFLAGS) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT $<
|
|
|
|
$(LIBDEBUG_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):debug]"
|
|
@$(CC) -o $(LIBDEBUG_OBJS)/$*.o -c $(CFLAGS) $<
|
|
|
|
$(LIBAMIGA_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):amiga]"
|
|
@$(CC) -o $(LIBAMIGA_OBJS)/$*.o -c $(CFLAGS) $<
|
|
|
|
##############################################################################
|
|
|
|
ifeq (small_data_020,$(TYPE))
|
|
CODE_TYPE := -m68020-60
|
|
CODE_FLAGS := -fbaserel -DSMALL_DATA -DM68020 -DUSE_64_BIT_INTS
|
|
endif
|
|
|
|
ifeq (small_data,$(TYPE))
|
|
CODE_TYPE := -m68000
|
|
CODE_FLAGS := -fbaserel -DSMALL_DATA
|
|
endif
|
|
|
|
ifeq (small_data32,$(TYPE))
|
|
CODE_TYPE := -m68020-60
|
|
CODE_FLAGS := -fbaserel32 -DSMALL_DATA32 -DM68020 -DUSE_64_BIT_INTS
|
|
endif
|
|
|
|
ifeq (large_data_020,$(TYPE))
|
|
CODE_TYPE := -m68020-60
|
|
CODE_FLAGS := -DM68020 -DUSE_64_BIT_INTS
|
|
endif
|
|
|
|
ifeq (large_data,$(TYPE))
|
|
CODE_TYPE := -m68000
|
|
CODE_FLAGS :=
|
|
endif
|
|
|
|
##############################################################################
|
|
|
|
WARNINGS = \
|
|
-Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
|
|
-Wundef -Wbad-function-cast -Wmissing-declarations -Wunused
|
|
|
|
# -Wconversion -Wshadow
|
|
|
|
INCLUDES = -Iinclude -I. -Inetinclude
|
|
#OPTIONS = -fno-builtin -fno-common -DDEBUG
|
|
OPTIONS = -fno-builtin -fno-common -DNDEBUG
|
|
#OPTIONS = -fno-builtin -fno-common -DNDEBUG -D__THREAD_SAFE
|
|
#OPTIONS = -fno-builtin -fno-common -D__MEM_DEBUG
|
|
#OPTIONS = -fno-builtin -fno-common -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG
|
|
#OPTIMIZE = -O3 -fomit-frame-pointer -funroll-loops -finline-functions
|
|
OPTIMIZE = -O -fomit-frame-pointer -fstrength-reduce -finline-functions
|
|
#OPTIMIZE = -O2 -fomit-frame-pointer
|
|
#DEBUG = -g
|
|
|
|
CFLAGS = \
|
|
$(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) \
|
|
$(CODE_FLAGS) $(INCLUDES) $(CODE_TYPE)
|
|
|
|
##############################################################################
|
|
|
|
include libamiga.obj.gmk
|
|
include libc.obj.gmk
|
|
include libdebug.obj.gmk
|
|
include libm.obj.gmk
|
|
include libnet.obj.gmk
|
|
include libunix.obj.gmk
|
|
|
|
AMIGA_LIB := $(sort $(AMIGA_LIB_COMMON) $(AMIGA_LIB_OS3))
|
|
C_LIB := $(sort $(C_LIB_COMMON) $(C_LIB_OS3))
|
|
UNIX_LIB := $(sort $(UNIX_LIB_COMMON) $(UNIX_LIB_OS3))
|
|
|
|
MEMDEBUG_LIB = \
|
|
stdio_vasprintf_debug.o \
|
|
stdio_vasprintf_debug.o \
|
|
stdio_vasprintf_hook_entry_debug.o \
|
|
stdlib_alloca_debug.o \
|
|
stdlib_calloc_debug.o \
|
|
stdlib_free_debug.o \
|
|
stdlib_malloc_debug.o \
|
|
string_strdup_debug.o \
|
|
unistd_getcwd_debug.o
|
|
|
|
##############################################################################
|
|
|
|
LIBS_68K := $(LIBC_OBJS)/libc.a $(LIBUNIX_OBJS)/libunix.a \
|
|
$(LIBNET_OBJS)/libnet.a $(LIBDEBUG_OBJS)/libdebug.a \
|
|
$(LIBAMIGA_OBJS)/libamiga.a $(LIBM_OBJS)/libm.a
|
|
LIBS_020 := $(LIBM881_OBJS)/libm881.a $(LIBS_68K)
|
|
|
|
##############################################################################
|
|
|
|
# The 881 math library won't build in plain 68k mode
|
|
ifneq (,$(findstring 68020,$(CODE_FLAGS)))
|
|
LIBS := $(LIBS_020)
|
|
else
|
|
LIBS := $(LIBS_68K)
|
|
endif
|
|
|
|
##############################################################################
|
|
|
|
STARTUPS := nrcrt0.o nbcrt0.o nr32crt0.o nb32crt0.o ncrt0.o
|
|
|
|
##############################################################################
|
|
|
|
all: \
|
|
lib/nrcrt0.o \
|
|
lib/nbcrt0.o \
|
|
lib/ncrt0.o \
|
|
lib/n32bcrt0.o \
|
|
lib/n32rcrt0.o \
|
|
lib/libm020/libm.a \
|
|
lib/libm.a \
|
|
lib/libb/libm.a \
|
|
lib/libb/libm020/libm.a \
|
|
lib/libb32/libm020/libm.a
|
|
|
|
##############################################################################
|
|
|
|
clean:
|
|
-$(DELETE) $(TYPE) $(LIBS_020) $(STARTUPS) \
|
|
$(LIBC_OBJS) $(LIBUNIX_OBJS) $(LIBM_OBJS) \
|
|
$(LIBM881_OBJS) $(LIBNET_OBJS) $(LIBDEBUG_OBJS) \
|
|
$(LIBAMIGA_OBJS)
|
|
|
|
realclean:
|
|
$(MAKE) clean
|
|
-$(DELETE) lib small_data_020 small_data small_data32 large_data_020 \
|
|
large_data
|
|
|
|
##############################################################################
|
|
|
|
version:
|
|
copy clone c.lib_rev.rev amiga.lib_rev.rev
|
|
copy clone c.lib_rev.rev debug.lib_rev.rev
|
|
copy clone c.lib_rev.rev m.lib_rev.rev
|
|
copy clone c.lib_rev.rev m881.lib_rev.rev
|
|
copy clone c.lib_rev.rev net.lib_rev.rev
|
|
copy clone c.lib_rev.rev unix.lib_rev.rev
|
|
bumprev 1 amiga.lib
|
|
bumprev 1 c.lib
|
|
bumprev 1 debug.lib
|
|
bumprev 1 m.lib
|
|
bumprev 1 m881.lib
|
|
bumprev 1 net.lib
|
|
bumprev 1 unix.lib
|
|
|
|
##############################################################################
|
|
|
|
cvs-tag:
|
|
cvs -q tag V1_`type c.lib_rev.rev`
|
|
|
|
##############################################################################
|
|
|
|
kitchen_sink: $(TYPE) $(LIBS) $(STARTUPS)
|
|
|
|
##############################################################################
|
|
|
|
ifneq (,$(TYPE))
|
|
$(TYPE):
|
|
$(MAKEDIR) $@
|
|
endif
|
|
|
|
##############################################################################
|
|
|
|
lib:
|
|
-$(MAKEDIR) $@
|
|
|
|
lib/libb : lib
|
|
-$(MAKEDIR) $@
|
|
|
|
lib/libb/libm020 : lib lib/libb
|
|
-$(MAKEDIR) $@
|
|
|
|
lib/libb32/libm020 : lib lib/libb32
|
|
-$(MAKEDIR) $@
|
|
|
|
lib/libb32 : lib
|
|
-$(MAKEDIR) $@
|
|
|
|
lib/libm020 : lib
|
|
-$(MAKEDIR) $@
|
|
|
|
lib/libb/libm020/libm.a: lib lib/libb/libm020
|
|
$(MAKE) TYPE=small_data_020 kitchen_sink
|
|
@$(COPY) $(foreach file,$(LIBS_020),small_data_020/$(file)) lib/libb/libm020
|
|
|
|
lib/libb/libm.a: lib lib/libb
|
|
$(MAKE) TYPE=small_data kitchen_sink
|
|
@$(COPY) $(foreach file,$(LIBS_68K),small_data/$(file)) lib/libb
|
|
|
|
lib/libb32/libm020/libm.a: lib lib/libb32 lib/libb32/libm020
|
|
$(MAKE) TYPE=small_data32 kitchen_sink
|
|
@$(COPY) $(foreach file,$(LIBS_020),small_data32/$(file)) lib/libb32/libm020
|
|
|
|
lib/libm020/libm.a: lib lib/libm020
|
|
$(MAKE) TYPE=large_data_020 kitchen_sink
|
|
@$(COPY) $(foreach file,$(LIBS_020),large_data_020/$(file)) lib/libm020
|
|
|
|
lib/libm.a: lib
|
|
$(MAKE) TYPE=large_data kitchen_sink
|
|
@$(COPY) $(foreach file,$(LIBS_68K),large_data/$(file)) lib
|
|
|
|
lib/nrcrt0.o : lib nrcrt0.o
|
|
@$(COPY) nrcrt0.o lib
|
|
|
|
lib/nbcrt0.o : lib nbcrt0.o
|
|
@$(COPY) nbcrt0.o lib
|
|
|
|
lib/ncrt0.o : lib ncrt0.o
|
|
@$(COPY) ncrt0.o lib
|
|
|
|
lib/n32bcrt0.o : lib nb32crt0.o
|
|
@$(COPY) nb32crt0.o lib
|
|
|
|
lib/n32rcrt0.o : lib nr32crt0.o
|
|
@$(COPY) nr32crt0.o lib
|
|
|
|
##############################################################################
|
|
|
|
$(LIBAMIGA_OBJS)/amiga_hookentry.o : amiga_hookentry.c
|
|
|
|
$(LIBC_OBJS)/stdlib_getsp.o : stdlib_getsp.c
|
|
|
|
$(LIBC_OBJS)/stdlib_swapstack.o : stdlib_swapstack.c
|
|
|
|
$(LIBC_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
|
|
|
|
##############################################################################
|
|
|
|
$(LIBC_OBJS)/c.lib_rev.o : c.lib_rev.c c.lib_rev.h
|
|
|
|
$(LIBUNIX_OBJS)/unix.lib_rev.o : unix.lib_rev.c unix.lib_rev.h
|
|
|
|
$(LIBM_OBJS)/m.lib_rev.o : m.lib_rev.c m.lib_rev.h
|
|
|
|
$(LIBM881_OBJS)/m881.lib_rev.o : m881.lib_rev.c m881.lib_rev.h
|
|
|
|
$(LIBNET_OBJS)/net.lib_rev.o : net.lib_rev.c net.lib_rev.h
|
|
|
|
$(LIBDEBUG_OBJS)/debug.lib_rev.o : debug.lib_rev.c debug.lib_rev.h
|
|
|
|
$(LIBAMIGA_OBJS)/amiga.lib_rev.o : amiga.lib_rev.c amiga.lib_rev.h
|
|
|
|
##############################################################################
|
|
|
|
$(LIBC_OBJS)/stdlib_stacksize.o : stdlib_stacksize.c stdlib_gcc_help.h
|
|
|
|
$(LIBC_OBJS)/stdlib_getdefstacksize.o : stdlib_getdefstacksize.c stdlib_gcc_help.h
|
|
|
|
$(LIBC_OBJS)/stdlib_shell_escape.o : stdlib_shell_escape.c stdlib_gcc_help.h
|
|
|
|
$(LIBC_OBJS)/stdlib_alloca.o : stdlib_alloca.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_free.o : stdlib_free.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_malloc.o : stdlib_malloc.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_slab.o : stdlib_slab.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_slab_purge_threshold.o : stdlib_slab_purge_threshold.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_get_slab_stats.o : stdlib_get_slab_stats.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_free_unused_slabs.o : stdlib_free_unused_slabs.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_decay_unused_slabs.o : stdlib_decay_unused_slabs.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_get_slab_usage.o : stdlib_get_slab_usage.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_get_slab_allocations.o : stdlib_get_slab_allocations.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_realloc.o : stdlib_realloc.c stdlib_memory.h include/stdlib.h
|
|
|
|
$(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_memory.h include/stdlib.h
|
|
|
|
##############################################################################
|
|
|
|
# The -fbaserel32 option requires the CPU type to be 68020, too.
|
|
ifneq (,$(findstring fbaserel32,$(CODE_FLAGS)))
|
|
LOCAL_CODE_FLAGS := $(CODE_FLAGS) $(CODE_TYPE)
|
|
else
|
|
LOCAL_CODE_FLAGS := $(CODE_FLAGS)
|
|
endif
|
|
|
|
$(LIBM881_OBJS)/math_init_exit.o : math_init_exit.c
|
|
@echo "Compiling $< [$(TYPE):m881]"
|
|
@$(CC) -o $(LIBM881_OBJS)/math_init_exit.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) -DM68881_FLOATING_POINT_SUPPORT $(INCLUDES) $<
|
|
|
|
$(LIBC_OBJS)/stdlib_machine_test.o : stdlib_machine_test.c
|
|
@echo "Compiling $< [$(TYPE):c]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdlib_machine_test.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) $<
|
|
|
|
$(LIBC_OBJS)/stdlib_showerror.o : stdlib_showerror.c
|
|
@echo "Compiling $< [$(TYPE):c]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdlib_showerror.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) $<
|
|
|
|
$(LIBC_OBJS)/stdlib_main.o : stdlib_main.c
|
|
@echo "Compiling $< [$(TYPE):c]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdlib_main.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(LOCAL_CODE_FLAGS) $(INCLUDES) stdlib_main.c
|
|
|
|
##############################################################################
|
|
|
|
$(LIBC_OBJS)/stdlib_alloca_debug.o : stdlib_alloca.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdlib_alloca_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_alloca.c
|
|
|
|
$(LIBC_OBJS)/stdlib_calloc_debug.o : stdlib_calloc.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdlib_calloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_calloc.c
|
|
|
|
$(LIBC_OBJS)/stdlib_free_debug.o : stdlib_free.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdlib_free_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_free.c
|
|
|
|
$(LIBC_OBJS)/stdlib_malloc_debug.o : stdlib_malloc.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdlib_malloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_malloc.c
|
|
|
|
$(LIBC_OBJS)/stdlib_realloc_debug.o : stdlib_realloc.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdlib_realloc_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdlib_realloc.c
|
|
|
|
$(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o : stdio_vasprintf_hook_entry.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_hook_entry_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf_hook_entry.c
|
|
|
|
$(LIBC_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
|
|
|
|
$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
|
|
@echo "Compiling $< [$(TYPE):m debug]"
|
|
@$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -DIEEE_FLOATING_POINT_SUPPORT -D__USE_MEM_TREES -D__MEM_DEBUG stdio_vasprintf.c
|
|
|
|
$(LIBC_OBJS)/string_strdup_debug.o : string_strdup.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/string_strdup_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG string_strdup.c
|
|
|
|
$(LIBC_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
|
|
@echo "Compiling $< [$(TYPE):c debug]"
|
|
@$(CC) -o $(LIBC_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG unistd_getcwd.c
|
|
|
|
$(LIBUNIX_OBJS)/unistd_getcwd_debug.o : unistd_getcwd.c
|
|
@echo "Compiling $< [$(TYPE):unix debug]"
|
|
@$(CC) -o $(LIBUNIX_OBJS)/unistd_getcwd_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG -DUNIX_PATH_SEMANTICS unistd_getcwd.c
|
|
|
|
##############################################################################
|
|
|
|
$(LIBC_OBJS) :
|
|
$(MAKEDIR) $@
|
|
|
|
$(LIBC_OBJS)/libc.a : $(LIBC_OBJS) $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
|
|
##############################################################################
|
|
|
|
$(LIBUNIX_OBJS) :
|
|
$(MAKEDIR) $@
|
|
|
|
$(LIBUNIX_OBJS)/libunix.a : $(LIBUNIX_OBJS) $(foreach file,$(UNIX_LIB),$(LIBUNIX_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(UNIX_LIB),$(LIBUNIX_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
|
|
##############################################################################
|
|
|
|
$(LIBM_OBJS) :
|
|
$(MAKEDIR) $@
|
|
|
|
$(LIBM_OBJS)/libm.a : $(LIBM_OBJS) $(foreach file,$(MATH_LIB_IEEE),$(LIBM_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(MATH_LIB_IEEE),$(LIBM_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
|
|
##############################################################################
|
|
|
|
$(LIBM881_OBJS) :
|
|
$(MAKEDIR) $@
|
|
|
|
$(LIBM881_OBJS)/libm881.a : $(LIBM881_OBJS) $(foreach file,$(MATH_LIB_881),$(LIBM881_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(MATH_LIB_881),$(LIBM881_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
|
|
##############################################################################
|
|
|
|
$(LIBNET_OBJS) :
|
|
$(MAKEDIR) $@
|
|
|
|
$(LIBNET_OBJS)/libnet.a : $(LIBNET_OBJS) $(foreach file,$(NET_LIB),$(LIBNET_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(NET_LIB),$(LIBNET_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
|
|
##############################################################################
|
|
|
|
$(LIBDEBUG_OBJS) :
|
|
$(MAKEDIR) $@
|
|
|
|
$(LIBDEBUG_OBJS)/libdebug.a : $(LIBDEBUG_OBJS) $(foreach file,$(DEBUG_LIB),$(LIBDEBUG_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(DEBUG_LIB),$(LIBDEBUG_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
|
|
##############################################################################
|
|
|
|
$(LIBAMIGA_OBJS) :
|
|
$(MAKEDIR) $@
|
|
|
|
$(LIBAMIGA_OBJS)/libamiga.a : $(LIBAMIGA_OBJS) $(foreach file,$(AMIGA_LIB),$(LIBAMIGA_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(AMIGA_LIB),$(LIBAMIGA_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
|
|
##############################################################################
|
|
|
|
nrcrt0.o : nrcrt0.S
|
|
@echo "Assembling $< [resident]"
|
|
@$(CC) -traditional -o $@ -c nrcrt0.S
|
|
|
|
nr32crt0.o : nrcrt0.S
|
|
@echo "Assembling $< [resident32]"
|
|
@$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c nrcrt0.S
|
|
|
|
nbcrt0.o : ncrt0.S
|
|
@echo "Assembling $< [small_data]"
|
|
@$(CC) -traditional -DSMALL_DATA -o $@ -c ncrt0.S
|
|
|
|
nb32crt0.o : ncrt0.S
|
|
@echo "Assembling $< [small_data32]"
|
|
@$(CC) -traditional -m68020 -DSMALL_DATA32 -o $@ -c ncrt0.S
|
|
|
|
ncrt0.o : ncrt0.S
|
|
@echo "Assembling $< [large_data]"
|
|
@$(CC) -traditional -o $@ -c ncrt0.S
|
|
|
|
##############################################################################
|
|
|
|
CONSTRUCTOR_FILES = \
|
|
amiga_rexxvars.c \
|
|
dirent_closedir.c \
|
|
locale_init_exit.c \
|
|
math_init_exit.c \
|
|
sas_profile.c \
|
|
socket_init_exit.c \
|
|
stdio_file_init.c \
|
|
stdio_init_exit.c \
|
|
stdlib_alloca.c \
|
|
stdlib_arg.c \
|
|
stdlib_malloc.c \
|
|
stdlib_program_name.c \
|
|
stdlib_setenv.c \
|
|
time_clock.c \
|
|
unistd_chdir_exit.c \
|
|
unistd_init_exit.c \
|
|
unistd_timer.c \
|
|
unistd_wildcard_expand.c \
|
|
usergroup_init_exit.c
|
|
|
|
touch_constructor_files:
|
|
touch $(CONSTRUCTOR_FILES)
|