# # $Id: GNUmakefile.68k,v 1.106 2008-04-16 07:38:10 obarthel Exp $ # # :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 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) ############################################################################## 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 \ signal_checkabort.o \ signal_data.o \ signal_kill.o \ signal_mask.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_lock.o \ stat_mkdir.o \ stat_rmdir.o \ stat_stat.o \ stat_umask.o \ stdio_asprintf.o \ stdio_change_fd_action.o \ stdio_change_fd_user_data.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_fd.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_resolve_fd_file.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_vprintf.o \ stdio_vsnprintf.o \ stdio_vsnprintf_hook_entry.o \ stdio_vsprintf.o \ stdio_vsprintf_hook_entry.o \ stdio_vsscanf.o \ stdio_vscanf.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_main_stub.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_strerror_r.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 \ ulimit_ulimit.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_lockf.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_unlink_retries.o \ unistd_usleep.o \ utime_utime.o \ utsname_uname.o 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 \ resource_getrlimit.o \ resource_setrlimit.o \ stat_chmod.o \ stat_fstat.o \ stat_lstat.o \ stat_lock.o \ stat_mkdir.o \ stat_rmdir.o \ stat_stat.o \ stdio_ctermid.o \ stdio_fdhookentry.o \ stdio_fflush.o \ stdio_fopen.o \ stdio_init_exit.o \ stdio_file_init.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_expand_wildcard.o \ stdlib_expand_wildcard_check.o \ stdlib_getmemstats.o \ stdlib_main.o \ stdlib_main_stub.o \ stdlib_mkdtemp.o \ stdlib_mkstemp.o \ stdlib_mktemp.o \ stdlib_malloc.o \ stdlib_realloc.o \ stdlib_resetmemstats.o \ stdlib_system.o \ systeminfo_sysinfo.o \ termios_cfgetispeed.o \ termios_cfgetospeed.o \ termios_cfmakeraw.o \ termios_cfsetispeed.o \ termios_cfsetospeed.o \ termios_console_fdhookentry.o \ termios_tcdrain.o \ termios_tcflow.o \ termios_tcflush.o \ termios_tcgetattr.o \ termios_tcsendbreak.o \ termios_tcsetattr.o \ timeb_ftime.o \ uio_readv.o \ uio_writev.o \ unistd_access.o \ unistd_chdir.o \ unistd_chdir_exit.o \ unistd_chown.o \ unistd_common_pathconf.o \ unistd_def_path.o \ unistd_def_path_delimiter.o \ unistd_environ.o \ unistd_execl.o \ unistd_execle.o \ unistd_execlp.o \ unistd_execv.o \ unistd_execve.o \ unistd_execve_env_exit.o \ unistd_execve_env_init.o \ unistd_execve_exit.o \ unistd_execvp.o \ unistd_fpathconf.o \ unistd_getcwd.o \ unistd_lchown.o \ unistd_link.o \ unistd_lockf.o \ unistd_pathconf.o \ unistd_readlink.o \ unistd_realpath.o \ unistd_restorepathname.o \ unistd_setcurrentpath.o \ unistd_strip_double_slash.o \ unistd_symlink.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 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_fdim.o \ math_fdimf.o \ math_floor.o \ math_floorf.o \ math_fma.o \ math_fmaf.o \ math_fmax.o \ math_fmaxf.o \ math_fmin.o \ math_fminf.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_cosf.o \ math_kernel_sinf.o \ math_kernel_tanf.o \ math_ldexp.o \ math_ldexpf.o \ math_lgamma.o \ math_lgammaf.o \ math_llrint.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_lrint.o \ math_lrintf.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 MATH_LIB_881 = \ m881.lib_rev.o \ $(MATH_LIB) MATH_LIB_IEEE = \ m.lib_rev.o \ $(MATH_LIB) \ math_adddf3.o \ math_addsf3.o \ math_divdf3.o \ math_divsf3.o \ math_eqdf2.o \ math_eqsf2.o \ math_extendsfdf2.o \ math_fixdfsi.o \ math_fixsfsi.o \ math_fixunsdfsi.o \ math_fixunssfsi.o \ math_floatsidf.o \ math_floatsisf.o \ math_gedf2.o \ math_gesf2.o \ math_gtdf2.o \ math_gtsf2.o \ math_ledf2.o \ math_lesf2.o \ math_ltdf2.o \ math_ltsf2.o \ math_muldf3.o \ math_mulsf3.o \ math_nedf2.o \ math_negdf2.o \ math_negsf2.o \ math_nesf2.o \ math_subdf3.o \ math_subsf3.o \ math_truncdfsf2.o 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_signal.o \ socket_select.o \ socket_wait_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 \ systeminfo_sysinfo.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 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 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_callhook.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_hookentry.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_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 $(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 ############################################################################## # 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 \ stdlib_stackcheck.c \ stdlib_stackextension.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)