mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
counters for "maximum amount of memory used" and "maximum number of chunks allocated" to the current figures for these values. - Fixed the alloca() declaration in <stdlib.h> so that software which keys off the fact whether or not the alloca preprocessor symbol is defined will do the right thing. - Added an optional call-back function which can be called if alloca() is about to return NULL, which some software does not consider. Rather than letting such software drop into an illegal memory access or worse, that call-back function will be invoked instead, which can print an error message and eventually call abort(). git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15073 87f5fb63-7c3d-0410-a384-fd976d0f7a62
1235 lines
31 KiB
Plaintext
1235 lines
31 KiB
Plaintext
#
|
|
# $Id: GNUmakefile.os4,v 1.90 2005-11-28 09:53:51 obarthel Exp $
|
|
#
|
|
# :ts=8
|
|
#
|
|
# -*- mode: makefile; -*-
|
|
|
|
##############################################################################
|
|
|
|
.PHONY : all clean version cvs-tag all_libraries directories
|
|
.PHONY : large_data_libs
|
|
.PHONY : large_data_softfloat_libs
|
|
.PHONY : small_data_libs
|
|
.PHONY : baserel_libs
|
|
|
|
# You may have to change the following sets of macro definitions which will
|
|
# be used throughout the build makefile. These definitions cover the paths
|
|
# to look into for the operating system and networking header files, and
|
|
# the names and parameters passed to the program which actually do the
|
|
# compilation, library building and cleanup work.
|
|
#
|
|
# Note that for either set you still need the GNU make utility to build the
|
|
# library!
|
|
|
|
# These are for the cross compiler, with the operating system header files
|
|
# stored in "/V/include" and the network header files in a local directory
|
|
# called "netinclude".
|
|
SDK_INCLUDE = /V/include
|
|
NET_INCLUDE = netinclude
|
|
CC = ppc-amigaos-gcc
|
|
AR = ppc-amigaos-ar -q
|
|
RANLIB = ppc-amigaos-ranlib
|
|
COPY = cp -a
|
|
DELETE = rm -rf
|
|
MAKEDIR = mkdir -p
|
|
MAKE_OPTS =
|
|
LOG_COMMAND = 2>&1 | tee -a compiler.log
|
|
|
|
# The following are for the native OS4 compiler; note that the
|
|
# LOG_COMMAND should not be enabled unless you have a shell
|
|
# installed which supports it.
|
|
#SDK_INCLUDE = /SDK/Include/include_h
|
|
#NET_INCLUDE = /SDK/Include/netinclude
|
|
#CC = gcc
|
|
#AR = ar -q
|
|
#RANLIB = ranlib
|
|
#COPY = copy
|
|
#DELETE = delete all quiet
|
|
#MAKEDIR = makedir all force
|
|
#MAKE_OPTS = --jobs=1
|
|
#LOG_COMMAND = *>< | tee >>compiler.log
|
|
|
|
BUILD = $(MAKE_COMMAND) -f GNUmakefile.os4 $(MAKE_OPTS)
|
|
|
|
##############################################################################
|
|
|
|
ifeq (,$(TYPE))
|
|
LIBC_OBJS = libc_objs
|
|
LIBUNIX_OBJS = libunix_objs
|
|
LIBM_OBJS = libm_objs
|
|
LIBNET_OBJS = libnet_objs
|
|
LIBDEBUG_OBJS = libdebug_objs
|
|
LIBAMIGA_OBJS = libamiga_objs
|
|
LIBPROFILE_OBJS = libprofile_objs
|
|
else
|
|
LIBC_OBJS = $(TYPE)/libc_objs
|
|
LIBUNIX_OBJS = $(TYPE)/libunix_objs
|
|
LIBM_OBJS = $(TYPE)/libm_objs
|
|
LIBNET_OBJS = $(TYPE)/libnet_objs
|
|
LIBDEBUG_OBJS = $(TYPE)/libdebug_objs
|
|
LIBAMIGA_OBJS = $(TYPE)/libamiga_objs
|
|
LIBPROFILE_OBJS = $(TYPE)/libprofile_objs
|
|
endif
|
|
|
|
##############################################################################
|
|
|
|
# General build rules for all object files and the individual libraries
|
|
%.o : %.c
|
|
@echo "Compiling $<"
|
|
@$(CC) -c $(CFLAGS) $< $(LOG_COMMAND)
|
|
|
|
$(LIBC_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):c]"
|
|
@$(CC) -o $(LIBC_OBJS)/$*.o -c $(CFLAGS) $< $(LOG_COMMAND)
|
|
|
|
$(LIBUNIX_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):unix]"
|
|
@$(CC) -o $(LIBUNIX_OBJS)/$*.o -c $(CFLAGS) -DUNIX_PATH_SEMANTICS $< $(LOG_COMMAND)
|
|
|
|
$(LIBM_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):m]"
|
|
@$(CC) -o $(LIBM_OBJS)/$*.o -c $(CFLAGS) $(FLOAT_TYPE) $< $(LOG_COMMAND)
|
|
|
|
$(LIBNET_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):net]"
|
|
@$(CC) -o $(LIBNET_OBJS)/$*.o -c $(CFLAGS) -I$(NET_INCLUDE) -DSOCKET_SUPPORT -DUSERGROUP_SUPPORT $< $(LOG_COMMAND)
|
|
|
|
$(LIBDEBUG_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):debug]"
|
|
@$(CC) -o $(LIBDEBUG_OBJS)/$*.o -c $(CFLAGS) $< $(LOG_COMMAND)
|
|
|
|
$(LIBAMIGA_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):amiga]"
|
|
@$(CC) -o $(LIBAMIGA_OBJS)/$*.o -c $(CFLAGS) $< $(LOG_COMMAND)
|
|
|
|
$(LIBPROFILE_OBJS)/%.o : %.c
|
|
@echo "Compiling $< [$(TYPE):profile]"
|
|
@$(CC) -o $(LIBPROFILE_OBJS)/$*.o -c $(CFLAGS) $< $(LOG_COMMAND)
|
|
|
|
$(LIBPROFILE_OBJS)/%.o : %.S
|
|
@echo "Assembling $< [$(TYPE):profile]"
|
|
@$(CC) -o $(LIBPROFILE_OBJS)/$*.o -Wa,-mregnames -c $(CFLAGS) $< $(LOG_COMMAND)
|
|
|
|
##############################################################################
|
|
|
|
# Build options and destination directory for the individual libraries
|
|
ifeq (small_data,$(TYPE))
|
|
CODE_TYPE := -msdata=sysv -DSMALL_DATA
|
|
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
|
|
DEST_DIR := lib/small-data
|
|
endif
|
|
|
|
ifeq (large_data,$(TYPE))
|
|
CODE_TYPE := -msdata=data
|
|
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
|
|
DEST_DIR := lib
|
|
endif
|
|
|
|
ifeq (large_data_softfloat,$(TYPE))
|
|
CODE_TYPE := -msdata=data -msoft-float
|
|
FLOAT_TYPE :=
|
|
DEST_DIR := lib/soft-float
|
|
endif
|
|
|
|
ifeq (baserel,$(TYPE))
|
|
CODE_TYPE := -mbaserel -DBASEREL_DATA
|
|
FLOAT_TYPE := -DPPC_FLOATING_POINT_SUPPORT
|
|
DEST_DIR := lib/baserel
|
|
endif
|
|
|
|
##############################################################################
|
|
|
|
WARNINGS = \
|
|
-Wall -W -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
|
|
-Wundef -Wbad-function-cast -Wmissing-declarations -Wunused
|
|
|
|
# -Wconversion -Wshadow
|
|
|
|
INCLUDES = -Iinclude -I. -I$(SDK_INCLUDE)
|
|
#OPTIONS = -D__THREAD_SAFE -DNDEBUG -DUSE_64_BIT_INTS -D__USE_INLINE__ -Wa,-mregnames -fno-common -std=gnu99
|
|
OPTIONS = -DNDEBUG -DUSE_64_BIT_INTS -D__USE_INLINE__ -Wa,-mregnames -fno-common -std=gnu99
|
|
OPTIMIZE = -O3
|
|
#DEBUG = -ggdb
|
|
|
|
CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_TYPE) $(INCLUDES)
|
|
|
|
##############################################################################
|
|
|
|
# All objects files which make up libc.a
|
|
C_LIB = \
|
|
c.lib_rev.o \
|
|
ctype_isalnum.o \
|
|
ctype_isalpha.o \
|
|
ctype_isascii.o \
|
|
ctype_isblank.o \
|
|
ctype_iscntrl.o \
|
|
ctype_isdigit.o \
|
|
ctype_isgraph.o \
|
|
ctype_islower.o \
|
|
ctype_isprint.o \
|
|
ctype_ispunct.o \
|
|
ctype_isspace.o \
|
|
ctype_isupper.o \
|
|
ctype_isxdigit.o \
|
|
ctype_table.o \
|
|
ctype_tolower.o \
|
|
ctype_toupper.o \
|
|
dirent_closedir.o \
|
|
dirent_opendir.o \
|
|
dirent_readdir.o \
|
|
dirent_rewinddir.o \
|
|
errno_data.o \
|
|
fcntl_close.o \
|
|
fcntl_creat.o \
|
|
fcntl_fcntl.o \
|
|
fcntl_get_default_file.o \
|
|
fcntl_lock.o \
|
|
fcntl_lseek.o \
|
|
fcntl_open.o \
|
|
fcntl_read.o \
|
|
fcntl_write.o \
|
|
ftw_ftw.o \
|
|
ftw_nftw.o \
|
|
inttypes_imaxdiv.o \
|
|
inttypes_imaxabs.o \
|
|
inttypes_strtoimax.o \
|
|
inttypes_strtoumax.o \
|
|
libgen_basename.o \
|
|
libgen_dirname.o \
|
|
locale_init_exit.o \
|
|
locale_localeconv.o \
|
|
locale_open_locale.o \
|
|
locale_setlocale.o \
|
|
mount_convertinfo.o \
|
|
mount_fstatfs.o \
|
|
mount_statfs.o \
|
|
profile_profil.o \
|
|
signal_checkabort.o \
|
|
signal_data.o \
|
|
signal_kill.o \
|
|
signal_raise.o \
|
|
signal_sigaddset.o \
|
|
signal_sigblock.o \
|
|
signal_sigemptyset.o \
|
|
signal_sigmask.o \
|
|
signal_signal.o \
|
|
signal_sigprocmask.o \
|
|
signal_sigsetmask.o \
|
|
stat_chmod.o \
|
|
stat_convertfileinfo.o \
|
|
stat_fchmod.o \
|
|
stat_fstat.o \
|
|
stat_lstat.o \
|
|
stat_mkdir.o \
|
|
stat_rmdir.o \
|
|
stat_stat.o \
|
|
stat_umask.o \
|
|
stdio_asprintf.o \
|
|
stdio_clearerr.o \
|
|
stdio_dropiobreadbuffer.o \
|
|
stdio_duplicate_fd.o \
|
|
stdio_examine_fh.o \
|
|
stdio_fclose.o \
|
|
stdio_fdhookentry.o \
|
|
stdio_feof.o \
|
|
stdio_ferror.o \
|
|
stdio_fflush.o \
|
|
stdio_fgetc.o \
|
|
stdio_fgetpos.o \
|
|
stdio_fgets.o \
|
|
stdio_filliobreadbuffer.o \
|
|
stdio_findvacantfdentry.o \
|
|
stdio_findvacantiobentry.o \
|
|
stdio_flockfile.o \
|
|
stdio_flush.o \
|
|
stdio_flush_all_files.o \
|
|
stdio_flushiobwritebuffer.o \
|
|
stdio_fopen.o \
|
|
stdio_fprintf.o \
|
|
stdio_fputc.o \
|
|
stdio_fputs.o \
|
|
stdio_fread.o \
|
|
stdio_freopen.o \
|
|
stdio_fscanf.o \
|
|
stdio_fseek.o \
|
|
stdio_fseeko.o \
|
|
stdio_fsetpos.o \
|
|
stdio_ftell.o \
|
|
stdio_ftello.o \
|
|
stdio_ftrylockfile.o \
|
|
stdio_funlockfile.o \
|
|
stdio_fwrite.o \
|
|
stdio_getc.o \
|
|
stdio_getc_unlocked.o \
|
|
stdio_getchar.o \
|
|
stdio_getchar_unlocked.o \
|
|
stdio_gets.o \
|
|
stdio_get_file_descriptor.o \
|
|
stdio_growfdtable.o \
|
|
stdio_growiobtable.o \
|
|
stdio_grow_file.o \
|
|
stdio_initializefd.o \
|
|
stdio_initializeiob.o \
|
|
stdio_init_exit.o \
|
|
stdio_file_init.o \
|
|
stdio_iobhookentry.o \
|
|
stdio_lock.o \
|
|
stdio_locksemaphorename.o \
|
|
stdio_nostdio.o \
|
|
stdio_openiob.o \
|
|
stdio_parent_of_fh.o \
|
|
stdio_perror.o \
|
|
stdio_popen.o \
|
|
stdio_printf.o \
|
|
stdio_putc.o \
|
|
stdio_putc_unlocked.o \
|
|
stdio_putchar.o \
|
|
stdio_putchar_unlocked.o \
|
|
stdio_puts.o \
|
|
stdio_remove.o \
|
|
stdio_remove_fd_alias.o \
|
|
stdio_rename.o \
|
|
stdio_rewind.o \
|
|
stdio_scanf.o \
|
|
stdio_setbuf.o \
|
|
stdio_setvbuf.o \
|
|
stdio_snprintf.o \
|
|
stdio_sprintf.o \
|
|
stdio_sscanf.o \
|
|
stdio_sscanf_hook_entry.o \
|
|
stdio_tmpfile.o \
|
|
stdio_tmpnam.o \
|
|
stdio_translateioerror.o \
|
|
stdio_ungetc.o \
|
|
stdio_unlockfile.o \
|
|
stdio_vasprintf.o \
|
|
stdio_vasprintf_hook_entry.o \
|
|
stdio_vfprintf.o \
|
|
stdio_vfscanf.o \
|
|
stdio_vsscanf.o \
|
|
stdio_vscanf.o \
|
|
stdio_vprintf.o \
|
|
stdio_vsnprintf.o \
|
|
stdio_vsnprintf_hook_entry.o \
|
|
stdio_vsprintf.o \
|
|
stdio_vsprintf_hook_entry.o \
|
|
stdlib_abort.o \
|
|
stdlib_abs.o \
|
|
stdlib_alloca.o \
|
|
stdlib_alloca_cleanup.o \
|
|
stdlib_alloca_trap.o \
|
|
stdlib_assertion_failure.o \
|
|
stdlib_atexit.o \
|
|
stdlib_atoi.o \
|
|
stdlib_atol.o \
|
|
stdlib_atoll.o \
|
|
stdlib_bsearch.o \
|
|
stdlib_calloc.o \
|
|
stdlib_checkdetach.o \
|
|
stdlib_constructor.o \
|
|
stdlib_constructor_begin.o \
|
|
stdlib_default_pool_size.o \
|
|
stdlib_default_puddle_size.o \
|
|
stdlib_destructor.o \
|
|
stdlib_detach.o \
|
|
stdlib_disablerequesters.o \
|
|
stdlib_div.o \
|
|
stdlib_divsi3.o \
|
|
stdlib_divsi4.o \
|
|
stdlib_dosbase.o \
|
|
stdlib_exit.o \
|
|
stdlib_free.o \
|
|
stdlib_getdefstacksize.o \
|
|
stdlib_getenv.o \
|
|
stdlib_getmemstats.o \
|
|
stdlib_getsp.o \
|
|
stdlib_get_errno.o \
|
|
stdlib_isresident.o \
|
|
stdlib_labs.o \
|
|
stdlib_llabs.o \
|
|
stdlib_ldiv.o \
|
|
stdlib_lldiv.o \
|
|
stdlib_lib_main.o \
|
|
stdlib_lib_startup.o \
|
|
stdlib_machine_test.o \
|
|
stdlib_main.o \
|
|
stdlib_malloc.o \
|
|
stdlib_math.o \
|
|
stdlib_mkdtemp.o \
|
|
stdlib_mkstemp.o \
|
|
stdlib_mktemp.o \
|
|
stdlib_modsi3.o \
|
|
stdlib_mulsi3.o \
|
|
stdlib_never_free.o \
|
|
stdlib_osliberror.o \
|
|
stdlib_oslibversion.o \
|
|
stdlib_priority.o \
|
|
stdlib_process_name.o \
|
|
stdlib_program_name.o \
|
|
stdlib_putenv.o \
|
|
stdlib_qsort.o \
|
|
stdlib_rand.o \
|
|
stdlib_rand_r.o \
|
|
stdlib_realloc.o \
|
|
stdlib_red_black.o \
|
|
stdlib_resetmemstats.o \
|
|
stdlib_semaphore.o \
|
|
stdlib_setenv.o \
|
|
stdlib_setjmp.o \
|
|
stdlib_set_errno.o \
|
|
stdlib_set_process_window.o \
|
|
stdlib_shell_escape.o \
|
|
stdlib_showerror.o \
|
|
stdlib_srand.o \
|
|
stdlib_stackargbytes.o \
|
|
stdlib_stackcheck.o \
|
|
stdlib_stackoverflow.o \
|
|
stdlib_stacksafezone.o \
|
|
stdlib_stacksize.o \
|
|
stdlib_stack_usage.o \
|
|
stdlib_arg.o \
|
|
stdlib_stdio_window_spec.o \
|
|
stdlib_strtol.o \
|
|
stdlib_strtoll.o \
|
|
stdlib_strtoul.o \
|
|
stdlib_strtoull.o \
|
|
stdlib_swapstack.o \
|
|
stdlib_sysbase.o \
|
|
stdlib_system.o \
|
|
stdlib_termination_message.o \
|
|
stdlib_threshold.o \
|
|
stdlib_utilitybase.o \
|
|
stdlib_udivsi3.o \
|
|
stdlib_udivsi4.o \
|
|
stdlib_umodsi3.o \
|
|
stdlib_unsetenv.o \
|
|
strings_ffs.o \
|
|
strings_strcasecmp.o \
|
|
strings_strncasecmp.o \
|
|
string_bcmp.o \
|
|
string_bcopy.o \
|
|
string_bzero.o \
|
|
string_index.o \
|
|
string_memchr.o \
|
|
string_memcmp.o \
|
|
string_memcpy.o \
|
|
string_memmove.o \
|
|
string_memset.o \
|
|
string_rindex.o \
|
|
string_strcat.o \
|
|
string_strchr.o \
|
|
string_strcmp.o \
|
|
string_strcoll.o \
|
|
string_strcpy.o \
|
|
string_strcspn.o \
|
|
string_strdup.o \
|
|
string_strerror.o \
|
|
string_strlcat.o \
|
|
string_strlcpy.o \
|
|
string_strlen.o \
|
|
string_strncat.o \
|
|
string_strncmp.o \
|
|
string_strncpy.o \
|
|
string_strpbrk.o \
|
|
string_strrchr.o \
|
|
string_strspn.o \
|
|
string_strstr.o \
|
|
string_strtok.o \
|
|
string_strtok_r.o \
|
|
string_strxfrm.o \
|
|
time_asctime.o \
|
|
time_asctime_r.o \
|
|
time_clock.o \
|
|
time_converttime.o \
|
|
time_convert_datestamp.o \
|
|
time_convert_time.o \
|
|
time_ctime.o \
|
|
time_ctime_r.o \
|
|
time_data.o \
|
|
time_days_per_date.o \
|
|
time_gettimeofday.o \
|
|
time_gmtime.o \
|
|
time_gmtime_r.o \
|
|
time_localtime.o \
|
|
time_localtime_r.o \
|
|
time_mktime.o \
|
|
time_numbertostring.o \
|
|
time_strftime.o \
|
|
time_time.o \
|
|
time_weekday.o \
|
|
uio_readv.o \
|
|
uio_writev.o \
|
|
unistd_access.o \
|
|
unistd_chdir.o \
|
|
unistd_chdir_exit.o \
|
|
unistd_chown.o \
|
|
unistd_currentpathname.o \
|
|
unistd_dup.o \
|
|
unistd_dup2.o \
|
|
unistd_fchown.o \
|
|
unistd_fdatasync.o \
|
|
unistd_fdopen.o \
|
|
unistd_fileno.o \
|
|
unistd_fsync.o \
|
|
unistd_ftruncate.o \
|
|
unistd_getcwd.o \
|
|
unistd_getopt.o \
|
|
unistd_getpid.o \
|
|
unistd_init_exit.o \
|
|
unistd_isatty.o \
|
|
unistd_lchown.o \
|
|
unistd_link.o \
|
|
unistd_readlink.o \
|
|
unistd_realpath.o \
|
|
unistd_sleep.o \
|
|
unistd_symlink.o \
|
|
unistd_sync_fd.o \
|
|
unistd_timer.o \
|
|
unistd_time_delay.o \
|
|
unistd_truncate.o \
|
|
unistd_unlink.o \
|
|
unistd_usleep.o \
|
|
utime_utime.o \
|
|
utsname_uname.o
|
|
|
|
# All objects files which make up libunix.a
|
|
UNIX_LIB = \
|
|
unix.lib_rev.o \
|
|
dirent_closedir.o \
|
|
dirent_rewinddir.o \
|
|
dirent_opendir.o \
|
|
dirent_readdir.o \
|
|
fcntl_creat.o \
|
|
fcntl_fcntl.o \
|
|
fcntl_open.o \
|
|
fcntl_get_default_file.o \
|
|
getopt_getopt_long.o \
|
|
mount_convertinfo.o \
|
|
mount_statfs.o \
|
|
stat_chmod.o \
|
|
stat_fstat.o \
|
|
stat_lstat.o \
|
|
stat_mkdir.o \
|
|
stat_rmdir.o \
|
|
stat_stat.o \
|
|
stdio_ctermid.o \
|
|
stdio_fdhookentry.o \
|
|
stdio_fflush.o \
|
|
stdio_fopen.o \
|
|
stdio_file_init.o \
|
|
stdio_init_exit.o \
|
|
stdio_locksemaphorename.o \
|
|
stdio_openiob.o \
|
|
stdio_popen.o \
|
|
stdio_record_locking.o \
|
|
stdio_remove.o \
|
|
stdio_rename.o \
|
|
stdlib_alloca.o \
|
|
stdlib_alloca_cleanup.o \
|
|
stdlib_alloca_trap.o \
|
|
stdlib_arg.o \
|
|
stdlib_getmemstats.o \
|
|
stdlib_main.o \
|
|
stdlib_mkdtemp.o \
|
|
stdlib_mkstemp.o \
|
|
stdlib_mktemp.o \
|
|
stdlib_malloc.o \
|
|
stdlib_realloc.o \
|
|
stdlib_resetmemstats.o \
|
|
stdlib_system.o \
|
|
termios_cfgetispeed.o \
|
|
termios_cfgetospeed.o \
|
|
termios_cfmakeraw.o \
|
|
termios_cfsetispeed.o \
|
|
termios_cfsetospeed.o \
|
|
termios_console_fdhookentry.o \
|
|
termios_openserial.o \
|
|
termios_tcdrain.o \
|
|
termios_tcflow.o \
|
|
termios_tcflush.o \
|
|
termios_tcgetattr.o \
|
|
termios_tcsendbreak.o \
|
|
termios_tcsetattr.o \
|
|
uio_readv.o \
|
|
uio_writev.o \
|
|
unistd_access.o \
|
|
unistd_chdir.o \
|
|
unistd_chdir_exit.o \
|
|
unistd_chown.o \
|
|
unistd_getcwd.o \
|
|
unistd_lchown.o \
|
|
unistd_link.o \
|
|
unistd_readlink.o \
|
|
unistd_realpath.o \
|
|
unistd_restorepathname.o \
|
|
unistd_setcurrentpath.o \
|
|
unistd_strip_double_slash.o \
|
|
unistd_translatea2u.o \
|
|
unistd_translaterel.o \
|
|
unistd_translateu2a.o \
|
|
unistd_truncate.o \
|
|
unistd_ttyname.o \
|
|
unistd_ttyname_r.o \
|
|
unistd_unix_path_semantics.o \
|
|
unistd_unlink.o \
|
|
unistd_wildcard_expand.o \
|
|
utime_utime.o
|
|
|
|
# All objects files which make up libm.a
|
|
MATH_LIB = \
|
|
complex_carg.o \
|
|
complex_cargf.o \
|
|
complex_cargl.o \
|
|
complex_cimag.o \
|
|
complex_cimagf.o \
|
|
complex_cimagl.o \
|
|
complex_conj.o \
|
|
complex_conjf.o \
|
|
complex_conjl.o \
|
|
complex_creal.o \
|
|
complex_crealf.o \
|
|
complex_creall.o \
|
|
fenv_feclearexcept.o \
|
|
fenv_fegetenv.o \
|
|
fenv_fegetexceptflag.o \
|
|
fenv_fegetround.o \
|
|
fenv_feholdexcept.o \
|
|
fenv_feraiseexcept.o \
|
|
fenv_fesetenv.o \
|
|
fenv_fesetexceptflag.o \
|
|
fenv_fetestexcept.o \
|
|
fenv_fetestround.o \
|
|
fenv_feupdateenv.o \
|
|
math_acos.o \
|
|
math_acosf.o \
|
|
math_acosh.o \
|
|
math_acoshf.o \
|
|
math_asin.o \
|
|
math_asinf.o \
|
|
math_asinh.o \
|
|
math_asinhf.o \
|
|
math_atan.o \
|
|
math_atan2.o \
|
|
math_atan2f.o \
|
|
math_atanf.o \
|
|
math_atanh.o \
|
|
math_atanhf.o \
|
|
math_cbrt.o \
|
|
math_cbrtf.o \
|
|
math_ceil.o \
|
|
math_ceilf.o \
|
|
math_copysign.o \
|
|
math_copysignf.o \
|
|
math_cos.o \
|
|
math_cosf.o \
|
|
math_cosh.o \
|
|
math_coshf.o \
|
|
math_erf.o \
|
|
math_erfc.o \
|
|
math_erfcf.o \
|
|
math_erff.o \
|
|
math_exp.o \
|
|
math_exp2.o \
|
|
math_exp2f.o \
|
|
math_expf.o \
|
|
math_expm1.o \
|
|
math_expm1f.o \
|
|
math_fabs.o \
|
|
math_fabsf.o \
|
|
math_floor.o \
|
|
math_floorf.o \
|
|
math_fma.o \
|
|
math_fmaf.o \
|
|
math_fmod.o \
|
|
math_fmodf.o \
|
|
math_fpclassify.o \
|
|
math_frexp.o \
|
|
math_frexpf.o \
|
|
math_huge_val.o \
|
|
math_huge_valf.o \
|
|
math_hypot.o \
|
|
math_hypotf.o \
|
|
math_ilogb.o \
|
|
math_ilogbf.o \
|
|
math_inf.o \
|
|
math_inff.o \
|
|
math_init_exit.o \
|
|
math_isfinite.o \
|
|
math_isunordered.o \
|
|
math_kernel_cos.o \
|
|
math_kernel_cosf.o \
|
|
math_kernel_expm1.o \
|
|
math_kernel_rem_pio2.o \
|
|
math_kernel_scalbn.o \
|
|
math_kernel_sin.o \
|
|
math_kernel_sinf.o \
|
|
math_kernel_tan.o \
|
|
math_kernel_tanf.o \
|
|
math_ldexp.o \
|
|
math_ldexpf.o \
|
|
math_lgamma.o \
|
|
math_lgammaf.o \
|
|
math_log.o \
|
|
math_log10.o \
|
|
math_log10f.o \
|
|
math_log1p.o \
|
|
math_log1pf.o \
|
|
math_log2.o \
|
|
math_log2f.o \
|
|
math_logb.o \
|
|
math_logbf.o \
|
|
math_logf.o \
|
|
math_lround.o \
|
|
math_lroundf.o \
|
|
math_modf.o \
|
|
math_modff.o \
|
|
math_nan.o \
|
|
math_nanf.o \
|
|
math_nearbyint.o \
|
|
math_nearbyintf.o \
|
|
math_nextafter.o \
|
|
math_nextafterf.o \
|
|
math_pow.o \
|
|
math_powf.o \
|
|
math_remainder.o \
|
|
math_remainderf.o \
|
|
math_remquo.o \
|
|
math_remquof.o \
|
|
math_rem_pio2f.o \
|
|
math_rint.o \
|
|
math_rintf.o \
|
|
math_round.o \
|
|
math_roundf.o \
|
|
math_scalbn.o \
|
|
math_scalbnf.o \
|
|
math_signbit.o \
|
|
math_sin.o \
|
|
math_sinf.o \
|
|
math_sinh.o \
|
|
math_sinhf.o \
|
|
math_sqrt.o \
|
|
math_sqrtf.o \
|
|
math_tan.o \
|
|
math_tanf.o \
|
|
math_tanh.o \
|
|
math_tanhf.o \
|
|
math_tgamma.o \
|
|
math_tgammaf.o \
|
|
math_trunc.o \
|
|
math_truncf.o \
|
|
stdio_asprintf.o \
|
|
stdio_flush.o \
|
|
stdio_flush_all_files.o \
|
|
stdio_fprintf.o \
|
|
stdio_fscanf.o \
|
|
stdio_printf.o \
|
|
stdio_scanf.o \
|
|
stdio_snprintf.o \
|
|
stdio_sprintf.o \
|
|
stdio_sscanf.o \
|
|
stdio_vasprintf.o \
|
|
stdio_vfprintf.o \
|
|
stdio_vfscanf.o \
|
|
stdio_vsscanf.o \
|
|
stdio_vscanf.o \
|
|
stdio_vprintf.o \
|
|
stdio_vsnprintf.o \
|
|
stdio_vsprintf.o \
|
|
stdlib_atof.o \
|
|
stdlib_strtod.o \
|
|
stdlib_strtof.o \
|
|
time_difftime.o
|
|
|
|
# All objects files which make up libnet.a
|
|
NET_LIB = \
|
|
net.lib_rev.o \
|
|
socket_accept.o \
|
|
socket_bind.o \
|
|
socket_check_daemon.o \
|
|
socket_connect.o \
|
|
socket_gethostbyaddr.o \
|
|
socket_gethostbyname.o \
|
|
socket_gethostid.o \
|
|
socket_gethostname.o \
|
|
socket_getnetbyaddr.o \
|
|
socket_getnetbyname.o \
|
|
socket_getpeername.o \
|
|
socket_getprotobyname.o \
|
|
socket_getprotobynumber.o \
|
|
socket_getservbyname.o \
|
|
socket_getservbyport.o \
|
|
socket_getsockname.o \
|
|
socket_getsockopt.o \
|
|
socket_get_descriptor.o \
|
|
socket_inet_addr.o \
|
|
socket_inet_aton.o \
|
|
socket_inet_lnaof.o \
|
|
socket_inet_makeaddr.o \
|
|
socket_inet_netof.o \
|
|
socket_inet_network.o \
|
|
socket_inet_ntoa.o \
|
|
socket_init_exit.o \
|
|
socket_ioctl.o \
|
|
socket_isdaemon.o \
|
|
socket_listen.o \
|
|
socket_obtain_daemon.o \
|
|
socket_recv.o \
|
|
socket_recvfrom.o \
|
|
socket_recvmsg.o \
|
|
socket_select.o \
|
|
socket_send.o \
|
|
socket_sendmsg.o \
|
|
socket_sendto.o \
|
|
socket_setsockopt.o \
|
|
socket_shutdown.o \
|
|
socket_socket.o \
|
|
socket_hook_entry.o \
|
|
socket_hstrerror.o \
|
|
socket_get_h_errno.o \
|
|
socket_set_h_errno.o \
|
|
stat_umask.o \
|
|
usergroup_crypt.o \
|
|
usergroup_data.o \
|
|
usergroup_endgrent.o \
|
|
usergroup_endpwent.o \
|
|
usergroup_getegid.o \
|
|
usergroup_geteuid.o \
|
|
usergroup_getgid.o \
|
|
usergroup_getgrent.o \
|
|
usergroup_getgrgid.o \
|
|
usergroup_getgrnam.o \
|
|
usergroup_getgroups.o \
|
|
usergroup_getpass.o \
|
|
usergroup_getpwent.o \
|
|
usergroup_getpwnam.o \
|
|
usergroup_getpwuid.o \
|
|
usergroup_getuid.o \
|
|
usergroup_initgroups.o \
|
|
usergroup_init_exit.o \
|
|
usergroup_rootmode.o \
|
|
usergroup_setegid.o \
|
|
usergroup_seteuid.o \
|
|
usergroup_setgid.o \
|
|
usergroup_setgrent.o \
|
|
usergroup_setgroups.o \
|
|
usergroup_setpwent.o \
|
|
usergroup_setregid.o \
|
|
usergroup_setreuid.o \
|
|
usergroup_setsid.o \
|
|
usergroup_setuid.o \
|
|
utsname_uname.o
|
|
|
|
# All objects files which make up libdebug.a
|
|
DEBUG_LIB = \
|
|
debug.lib_rev.o \
|
|
debug.o \
|
|
debug_cmpstrexec.o \
|
|
debug_kcmpstr.o \
|
|
debug_kdofmt.o \
|
|
debug_kgetc.o \
|
|
debug_kgetch1.o \
|
|
debug_kgetch2.o \
|
|
debug_kgetchar1.o \
|
|
debug_kgetchar2.o \
|
|
debug_kgetnum1.o \
|
|
debug_kgetnum2.o \
|
|
debug_kmaygetch.o \
|
|
debug_kmaygetchar.o \
|
|
debug_kprintf1.o \
|
|
debug_kprintf2.o \
|
|
debug_kputc.o \
|
|
debug_kputch1.o \
|
|
debug_kputch2.o \
|
|
debug_kputchar1.o \
|
|
debug_kputchar2.o \
|
|
debug_kputfmt.o \
|
|
debug_kputs1.o \
|
|
debug_kputs2.o \
|
|
debug_kputstr1.o \
|
|
debug_kputstr2.o \
|
|
debug_kvprintf1.o \
|
|
debug_kvprintf2.o \
|
|
debug_level.o
|
|
|
|
# All objects files which make up libamiga.a
|
|
AMIGA_LIB = \
|
|
amiga.lib_rev.o \
|
|
amiga_acrypt.o \
|
|
amiga_addtof.o \
|
|
amiga_argarraydone.o \
|
|
amiga_argarrayinit.o \
|
|
amiga_argint.o \
|
|
amiga_argstring.o \
|
|
amiga_beginio.o \
|
|
amiga_callhooka.o \
|
|
amiga_coercemethod.o \
|
|
amiga_createextio.o \
|
|
amiga_createport.o \
|
|
amiga_createstdio.o \
|
|
amiga_createtask.o \
|
|
amiga_deleteextio.o \
|
|
amiga_deleteport.o \
|
|
amiga_deletestdio.o \
|
|
amiga_deletetask.o \
|
|
amiga_domethod.o \
|
|
amiga_dosupermethod.o \
|
|
amiga_dotimer.o \
|
|
amiga_fastrand.o \
|
|
amiga_freeievents.o \
|
|
amiga_hotkey.o \
|
|
amiga_invertstring.o \
|
|
amiga_newlist.o \
|
|
amiga_rangerand.o \
|
|
amiga_remtof.o \
|
|
amiga_rexxvars.o \
|
|
amiga_setsuperattrs.o \
|
|
amiga_timedelay.o \
|
|
amiga_waitbeam.o
|
|
|
|
MEMDEBUG_LIB = \
|
|
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
|
|
|
|
PROFILE_LIB = \
|
|
profile__mcount.o \
|
|
profile_gmon.o \
|
|
profile_mcount.o
|
|
|
|
##############################################################################
|
|
|
|
# The libraries to be built, prefixed by the respective path names
|
|
LIBS := \
|
|
$(LIBC_OBJS)/libc.a \
|
|
$(LIBUNIX_OBJS)/libunix.a \
|
|
$(LIBDEBUG_OBJS)/libdebug.a \
|
|
$(LIBAMIGA_OBJS)/libamiga.a \
|
|
$(LIBM_OBJS)/libm.a \
|
|
$(LIBNET_OBJS)/libnet.a \
|
|
$(LIBPROFILE_OBJS)/libprofile.a
|
|
|
|
##############################################################################
|
|
|
|
# The startup object files to be built
|
|
STARTUPS := crt0.o crtbegin.o crtend.o
|
|
|
|
##############################################################################
|
|
|
|
# This is the first target: it creates the necessary directories, then proceeds
|
|
# to build the startup object files and libraries
|
|
all: \
|
|
directories \
|
|
large_data_libs \
|
|
large_data_softfloat_libs \
|
|
small_data_libs \
|
|
baserel_libs
|
|
|
|
##############################################################################
|
|
|
|
# Create all the directories
|
|
directories:
|
|
@-$(MAKEDIR) lib
|
|
@-$(MAKEDIR) lib/small-data
|
|
@-$(MAKEDIR) lib/soft-float
|
|
@-$(MAKEDIR) lib/baserel
|
|
@-$(MAKEDIR) small_data
|
|
@-$(MAKEDIR) large_data
|
|
@-$(MAKEDIR) large_data_softfloat
|
|
@-$(MAKEDIR) baserel
|
|
|
|
##############################################################################
|
|
|
|
# Delete all object files and libraries
|
|
clean:
|
|
-$(DELETE) $(STARTUPS) lib \
|
|
small_data large_data large_data_softfloat baserel \
|
|
compiler.log
|
|
|
|
##############################################################################
|
|
|
|
# Update the version numbers bound to the individual libraries
|
|
version:
|
|
$(COPY) c.lib_rev.rev amiga.lib_rev.rev
|
|
$(COPY) c.lib_rev.rev debug.lib_rev.rev
|
|
$(COPY) c.lib_rev.rev m.lib_rev.rev
|
|
$(COPY) c.lib_rev.rev m881.lib_rev.rev
|
|
$(COPY) c.lib_rev.rev net.lib_rev.rev
|
|
$(COPY) c.lib_rev.rev stack.lib_rev.rev
|
|
$(COPY) c.lib_rev.rev unix.lib_rev.rev
|
|
$(COPY) c.lib_rev.rev profile.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 stack.lib
|
|
bumprev 1 unix.lib
|
|
bumprev 1 profile.lib
|
|
|
|
##############################################################################
|
|
|
|
# Tag all files with a certain version number
|
|
cvs-tag:
|
|
cvs -q tag V1_`cat c.lib_rev.rev`
|
|
|
|
##############################################################################
|
|
|
|
# This target first creates a directory to store the object files in, then
|
|
# proceeds to build the libraries from the code. It is invoked by the
|
|
# individual library build targets below.
|
|
all_libraries: $(LIBS)
|
|
|
|
##############################################################################
|
|
|
|
# Dependencies for large data variant with hardware floating point code
|
|
# support.
|
|
large_data_libs: $(addprefix lib/,$(STARTUPS))
|
|
@-$(MAKEDIR) $(addprefix large_data/,$(dir $(LIBS)))
|
|
$(BUILD) TYPE=large_data all_libraries
|
|
|
|
##############################################################################
|
|
|
|
# Dependencies for large data variant with software floating point code
|
|
# support.
|
|
large_data_softfloat_libs: $(addprefix lib/,$(STARTUPS))
|
|
@-$(MAKEDIR) $(addprefix large_data_softfloat/,$(dir $(LIBS)))
|
|
$(BUILD) TYPE=large_data_softfloat all_libraries
|
|
|
|
##############################################################################
|
|
|
|
# Dependencies for small data variant.
|
|
small_data_libs: $(addprefix lib/small-data/,$(STARTUPS))
|
|
@-$(MAKEDIR) $(addprefix small_data/,$(dir $(LIBS)))
|
|
$(BUILD) TYPE=small_data all_libraries
|
|
|
|
##############################################################################
|
|
|
|
# Dependencies for baserel variant.
|
|
baserel_libs: $(addprefix lib/baserel/,$(STARTUPS))
|
|
@-$(MAKEDIR) $(addprefix baserel/,$(dir $(LIBS)))
|
|
$(BUILD) TYPE=baserel all_libraries
|
|
|
|
##############################################################################
|
|
|
|
# Rules to build and move the startup code
|
|
lib/crt0.o : crt0.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
lib/crtbegin.o : crtbegin.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
lib/crtend.o : crtend.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
lib/small-data/crt0.o : small_data/crt0.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
lib/small-data/crtbegin.o : small_data/crtbegin.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
lib/small-data/crtend.o : small_data/crtend.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
lib/baserel/crt0.o : baserel/crt0.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
lib/baserel/crtbegin.o : baserel/crtbegin.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
lib/baserel/crtend.o : baserel/crtend.o
|
|
$(COPY) $< $(dir $@)
|
|
|
|
##############################################################################
|
|
|
|
# Individual dependencies which tell make to build the object files from
|
|
# 'C' source files rather than the assembly language source files of the
|
|
# same name (e.g. stdlib_getsp.c instead of stdlib_getsp.asm).
|
|
$(LIBC_OBJS)/stdlib_getsp.o : stdlib_getsp.c
|
|
|
|
$(LIBC_OBJS)/stdlib_swapstack.o : stdlib_swapstack.c
|
|
|
|
$(LIBC_OBJS)/stdlib_setjmp.o : stdlib_setjmp.c
|
|
|
|
##############################################################################
|
|
|
|
# Build rules for version information that goes into each library
|
|
$(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
|
|
|
|
$(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
|
|
|
|
$(LIBPROFILE_OBJS)/profile.lib_rev.o : profile.lib_rev.c profile.lib_rev.h
|
|
|
|
##############################################################################
|
|
|
|
# Build rules for the debug version of the library which has special
|
|
# memory allocation debugging code, controlled by the contents of
|
|
# the stdlib_memory.h file.
|
|
$(LIBC_OBJS)/stdlib_alloca.o : stdlib_alloca.c stdlib_memory.h
|
|
|
|
$(LIBC_OBJS)/stdlib_calloc.o : stdlib_calloc.c stdlib_memory.h
|
|
|
|
$(LIBC_OBJS)/stdlib_free.o : stdlib_free.c stdlib_memory.h
|
|
|
|
$(LIBC_OBJS)/stdlib_malloc.o : stdlib_malloc.c stdlib_memory.h
|
|
|
|
$(LIBC_OBJS)/stdlib_realloc.o : stdlib_realloc.c stdlib_memory.h
|
|
|
|
$(LIBC_OBJS)/stdlib_red_black.o : stdlib_red_black.c stdlib_memory.h
|
|
|
|
##############################################################################
|
|
|
|
# Peculiar build rules for the debug versions of memory allocation functions,
|
|
# or at least those which use memory allocation functionality.
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(LIBM_OBJS)/stdio_vasprintf_debug.o : stdio_vasprintf.c
|
|
@echo "Compiling $< [$(TYPE):m debug]"
|
|
@$(CC) -o $(LIBM_OBJS)/stdio_vasprintf_debug.o -c $(CFLAGS) -D__USE_MEM_TREES -D__MEM_DEBUG $(FLOAT_TYPE) stdio_vasprintf.c $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
$(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 $(LOG_COMMAND)
|
|
|
|
##############################################################################
|
|
|
|
# Individual build rules for libc.a
|
|
$(LIBC_OBJS)/libc.a : $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(C_LIB),$(LIBC_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
$(COPY) $@ $(DEST_DIR)
|
|
|
|
##############################################################################
|
|
|
|
# Individual build rules for libunix.a
|
|
$(LIBUNIX_OBJS)/libunix.a : $(foreach file,$(UNIX_LIB),$(LIBUNIX_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(UNIX_LIB),$(LIBUNIX_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
$(COPY) $@ $(DEST_DIR)
|
|
|
|
##############################################################################
|
|
|
|
# Individual build rules for libm.a
|
|
$(LIBM_OBJS)/libm.a : $(foreach file,$(MATH_LIB),$(LIBM_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(MATH_LIB),$(LIBM_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
$(COPY) $@ $(DEST_DIR)
|
|
|
|
##############################################################################
|
|
|
|
# Individual build rules for libnet.a
|
|
$(LIBNET_OBJS)/libnet.a : $(foreach file,$(NET_LIB),$(LIBNET_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(NET_LIB),$(LIBNET_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
$(COPY) $@ $(DEST_DIR)
|
|
|
|
##############################################################################
|
|
|
|
# Individual build rules for libdebug.a
|
|
$(LIBDEBUG_OBJS)/libdebug.a : $(foreach file,$(DEBUG_LIB),$(LIBDEBUG_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(DEBUG_LIB),$(LIBDEBUG_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
$(COPY) $@ $(DEST_DIR)
|
|
|
|
##############################################################################
|
|
|
|
# Individual build rules for libamiga.a
|
|
$(LIBAMIGA_OBJS)/libamiga.a : $(foreach file,$(AMIGA_LIB),$(LIBAMIGA_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(AMIGA_LIB),$(LIBAMIGA_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
$(COPY) $@ $(DEST_DIR)
|
|
|
|
##############################################################################
|
|
|
|
# Individual build rules for libprofile.a
|
|
$(LIBPROFILE_OBJS)/libprofile.a : $(foreach file,$(PROFILE_LIB),$(LIBPROFILE_OBJS)/$(file))
|
|
-$(DELETE) $@
|
|
@$(AR) $@ $(foreach file,$(PROFILE_LIB),$(LIBPROFILE_OBJS)/$(file))
|
|
$(RANLIB) $@
|
|
$(COPY) $@ $(DEST_DIR)
|
|
|
|
##############################################################################
|
|
|
|
# Individual build rules for the startup code.
|
|
crt0.o : crt0.S
|
|
@echo "Assembling $<"
|
|
@$(CC) -Wa,-mregnames -o crt0.o -c crt0.S $(LOG_COMMAND)
|
|
|
|
small_data/crt0.o : crt0.S
|
|
@echo "Assembling $<"
|
|
@$(CC) -DSMALL_DATA -Wa,-mregnames -o small_data/crt0.o -c crt0.S $(LOG_COMMAND)
|
|
|
|
small_data/crtbegin.o : crtbegin.c
|
|
@echo "Assembling $<"
|
|
@$(CC) -o small_data/crtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtbegin.c $(LOG_COMMAND)
|
|
|
|
small_data/crtend.o : crtend.c
|
|
@echo "Assembling $<"
|
|
@$(CC) -o small_data/crtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -msdata=sysv -DSMALL_DATA crtend.c $(LOG_COMMAND)
|
|
|
|
baserel/crt0.o : crt0.S
|
|
@echo "Assembling $<"
|
|
@$(CC) -Wa,-mregnames -o baserel/crt0.o -mbaserel -DBASEREL_DATA -c crt0.S $(LOG_COMMAND)
|
|
|
|
baserel/crtbegin.o : crtbegin.c
|
|
@echo "Assembling $<"
|
|
@$(CC) -o baserel/crtbegin.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA crtbegin.c $(LOG_COMMAND)
|
|
|
|
baserel/crtend.o : crtend.c
|
|
@echo "Assembling $<"
|
|
@$(CC) -o baserel/crtend.o -c $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(INCLUDES) -mbaserel -DBASEREL_DATA crtend.c $(LOG_COMMAND)
|