120 lines
3.4 KiB
Makefile
120 lines
3.4 KiB
Makefile
|
## Process this file with automake to generate Makefile.in
|
||
|
|
||
|
AUTOMAKE_OPTIONS = cygnus
|
||
|
|
||
|
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||
|
|
||
|
noinst_LIBRARIES = lib.a
|
||
|
|
||
|
# _r.o is for the reentrant syscall stubs.
|
||
|
|
||
|
SUFFIXES = _r.o
|
||
|
|
||
|
.S_r.o:
|
||
|
$(COMPILE) -DREENT -c $< -o $@
|
||
|
|
||
|
.c_r.o:
|
||
|
$(COMPILE) -DREENT -c $< -o $@
|
||
|
|
||
|
# We no longer copy files out of /lib/libc.a. This is kept around until
|
||
|
# most of them have replacements.
|
||
|
#
|
||
|
#COPYOFILES = \
|
||
|
# Ovfork.o _sigvec.o abort.o access.o chown.o creat.o \
|
||
|
# errlst.o getdents.o getdtablesize.o getpid.o \
|
||
|
# getrusage.o gettimeofday.o ieee_globals.o ioctl.o isatty.o \
|
||
|
# kill.o popen.o sbrk.o sigblock.o sigpause.o sigsetmask.o \
|
||
|
# sigtramp.o sigvec.o sleep.o setitimer.o start_float.o \
|
||
|
# time.o times.o utime.o utimes.o wait3.o
|
||
|
COPYOFILES =
|
||
|
|
||
|
# These files are from Sun's libc.a but must be renamed because they
|
||
|
# conflict with other library .o's. They are renamed to xxxS.o.
|
||
|
# div.o is used by times.o. errno.o conflicts with libc/errno/errno.o.
|
||
|
#COPYRENAMEOFILES = divS.o errnoS.o
|
||
|
COPYRENAMEOFILES =
|
||
|
|
||
|
#COPYOMFILES = ieee_flags.o
|
||
|
COPYOMFILES =
|
||
|
|
||
|
# CFILES_R, SFILES_R, and TEMPLATE_SFILES_R define those system calls that are
|
||
|
# needed by the ANSI C part of newlib (and thus we must provide namespace
|
||
|
# clean versions of them because we define REENTRANT_SYSCALLS_PROVIDED).
|
||
|
|
||
|
CFILES = _main.c ieee.c \
|
||
|
closedir.c opendir.c readdir.c rewinddir.c scandir.c seekdir.c \
|
||
|
telldir.c \
|
||
|
creat.c isatty.c utime2.c
|
||
|
|
||
|
CFILES_R =
|
||
|
|
||
|
SFILES = cerror.S crt0.S dup2.S execve.S _exit.S sigsetjmp.S utime.S
|
||
|
|
||
|
SFILES_R = sbrk.S wait.S
|
||
|
|
||
|
# List of files built from template.S (with an '_' suffix).
|
||
|
|
||
|
TEMPLATE_SFILES = access_ chdir_ chmod_ chown_ dup_ fcntl_ \
|
||
|
lstat_ mkdir_ pipe_ rmdir_ times_ umask_ utimes_
|
||
|
|
||
|
TEMPLATE_SFILES_R = close_ fork_ fstat_ getpid_ gettimeofday_ kill_ \
|
||
|
link_ lseek_ open_ read_ stat_ times_ unlink_ wait4_ write_
|
||
|
|
||
|
OFILES = $(COPYOFILES) $(COPYRENAMEOFILES) $(COPYOMFILES) \
|
||
|
$(SFILES:.S=.o) $(SFILES_R:.S=.o) $(SFILES_R:.S=_r.o) \
|
||
|
$(TEMPLATE_SFILES:_=.o) $(TEMPLATE_SFILES_R:_=.o) $(TEMPLATE_SFILES_R:_=_r.o) \
|
||
|
$(CFILES:.c=.o) $(CFILES_R:.c=.o) $(CFILES_R:.c=_r.o)
|
||
|
|
||
|
lib_a_SOURCES = $(SFILES) $(SFILES_R) $(CFILES) $(CFILES_R)
|
||
|
lib_a_LIBADD = $(COPYOFILES) $(COPYRENAMEOFILES) $(COPYOMFILES) \
|
||
|
$(SFILES_R:.S=_r.o) \
|
||
|
$(TEMPLATE_SFILES:_=.o) $(TEMPLATE_SFILES_R:_=.o) \
|
||
|
$(TEMPLATE_SFILES_R:_=_r.o) \
|
||
|
$(CFILES_R:.c=_r.o)
|
||
|
|
||
|
$(COPYOFILES):
|
||
|
$(AR) x /lib/libc.a $(COPYOFILES)
|
||
|
|
||
|
$(COPYRENAMEOFILES):
|
||
|
$(AR) x /lib/libc.a $(COPYRENAMEOFILES:S.o=.o)
|
||
|
for f in $(COPYRENAMEOFILES); do mv `basename $$f S.o`.o $$f; done
|
||
|
|
||
|
$(COPYOMFILES):
|
||
|
$(AR) x /lib/libm.a $(COPYOMFILES)
|
||
|
|
||
|
stamp-srcs: Makefile template.S template_r.S
|
||
|
for f in $(TEMPLATE_SFILES:_=); do \
|
||
|
$(COMPILE) -E -Dfunc=$$f $(srcdir)/template.S >$$f.S; \
|
||
|
done
|
||
|
for f in $(TEMPLATE_SFILES_R:_=); do \
|
||
|
$(COMPILE) -E -Dfunc=$$f $(srcdir)/template_r.S | sed -e 's/^_/#/' >$$f.S; \
|
||
|
done
|
||
|
touch stamp-srcs
|
||
|
|
||
|
# Make a dependency for each file built from a template.
|
||
|
|
||
|
$(TEMPLATE_SFILES:_=.S) $(TEMPLATE_SFILES_R:_=.S): stamp-srcs
|
||
|
|
||
|
all: crt0.o
|
||
|
|
||
|
close_r.o: close.S
|
||
|
fork_r.o: fork.S
|
||
|
fstat_r.o: fstat.S
|
||
|
getpid_r.o: getpid.S
|
||
|
gettimeofday_r.o: gettimeofday.S
|
||
|
kill_r.o: kill.S
|
||
|
link_r.o: link.S
|
||
|
lseek_r.o: lseek.S
|
||
|
open_r.o: open.S
|
||
|
read_r.o: read.S
|
||
|
sbrk_r.o: sbrk.S
|
||
|
stat_r.o: stat.S
|
||
|
times_r.o: times.S
|
||
|
unlink_r.o: unlink.S
|
||
|
wait_r.o: wait.S
|
||
|
wait4_r.o: wait4.S
|
||
|
write_r.o: write.S
|
||
|
|
||
|
ACLOCAL_AMFLAGS = -I ../../..
|
||
|
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|