169 lines
4 KiB
Makefile
169 lines
4 KiB
Makefile
|
# Makefile for libgloss/sparc/libsys
|
||
|
# Copyright (c) 1996 Cygnus Support.
|
||
|
# All rights reserved.
|
||
|
#
|
||
|
# Redistribution and use in source and binary forms are permitted
|
||
|
# provided that the above copyright notice and this paragraph are
|
||
|
# duplicated in all such forms and that any documentation,
|
||
|
# and/or other materials related to such
|
||
|
# distribution and use acknowledge that the software was developed
|
||
|
# at Cygnus Support, Inc. Cygnus Support, Inc. may not be used to
|
||
|
# endorse or promote products derived from this software without
|
||
|
# specific prior written permission.
|
||
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||
|
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
|
||
|
DESTDIR =
|
||
|
VPATH = @srcdir@
|
||
|
srcdir = @srcdir@
|
||
|
objdir = .
|
||
|
srcroot = $(srcdir)/../..
|
||
|
objroot = $(objdir)/../..
|
||
|
|
||
|
prefix = @prefix@
|
||
|
exec_prefix = @exec_prefix@
|
||
|
|
||
|
host_alias = @host_alias@
|
||
|
target_alias = @target_alias@
|
||
|
|
||
|
bindir = @bindir@
|
||
|
libdir = @libdir@
|
||
|
tooldir = $(exec_prefix)/$(target_alias)
|
||
|
|
||
|
INSTALL = @INSTALL@
|
||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||
|
INSTALL_DATA = @INSTALL_DATA@
|
||
|
|
||
|
SHELL = /bin/sh
|
||
|
|
||
|
CC = @CC@
|
||
|
|
||
|
AS = @AS@
|
||
|
AR = @AR@
|
||
|
LD = @LD@
|
||
|
RANLIB = @RANLIB@
|
||
|
|
||
|
# _r.o is for the reentrant syscall stubs.
|
||
|
# The .S_r.o/.c_r.o rules are from host/any.
|
||
|
|
||
|
.SUFFIXES: .c .S .o _r.o
|
||
|
|
||
|
.S_r.o:
|
||
|
$(CC) $(CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS) -DREENT $(INCLUDES) -c $< -o $@
|
||
|
.c_r.o:
|
||
|
$(CC) $(CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS) -DREENT $(INCLUDES) -c $< -o $@
|
||
|
|
||
|
# CFILES_R, SFILES_R, and TEMPLATE_SFILES_R define those system calls that are
|
||
|
# needed by the ANSI C part of newlib when REENTRANT_SYSCALLS_PROVIDED is
|
||
|
# defined.
|
||
|
|
||
|
CFILES = isatty.c
|
||
|
|
||
|
CFILES_R =
|
||
|
|
||
|
SFILES = cerror.S _exit.S
|
||
|
|
||
|
SFILES_R = sbrk.S
|
||
|
|
||
|
# List of files built from template.S (with an '_' suffix).
|
||
|
|
||
|
TEMPLATE_SFILES = chdir_ lstat_
|
||
|
|
||
|
TEMPLATE_SFILES_R = close_ fstat_ getpid_ kill_ \
|
||
|
lseek_ open_ read_ stat_ unlink_ write_
|
||
|
|
||
|
# If newlib defines REENTRANT_SYSCALLS_PROVIDED, then these are used as well.
|
||
|
REENTRANT_OFILES = $(SFILES_R:.S=_r.o) $(TEMPLATE_SFILES_R:_=_r.o) \
|
||
|
$(CFILES_R:.c=_r.o)
|
||
|
|
||
|
OFILES = $(SFILES:.S=.o) $(SFILES_R:.S=.o) \
|
||
|
$(TEMPLATE_SFILES:_=.o) $(TEMPLATE_SFILES_R:_=.o) \
|
||
|
$(CFILES:.c=.o) $(CFILES_R:.c=.o) \
|
||
|
$(REENTRANT_OFILES)
|
||
|
|
||
|
#### Host specific Makefile fragment comes in here.
|
||
|
@host_makefile_frag@
|
||
|
|
||
|
all: libsys.a libsys-crt0.o
|
||
|
|
||
|
libsys.a: $(OFILES)
|
||
|
rm -f $@
|
||
|
$(AR) $(AR_FLAGS) $@ $(OFILES)
|
||
|
|
||
|
install:
|
||
|
$(INSTALL_DATA) libsys-crt0.o $(DESTDIR)$(tooldir)/lib/libsys-crt0.o
|
||
|
$(INSTALL_DATA) libsys.a $(DESTDIR)$(tooldir)/lib/libsys.a
|
||
|
|
||
|
doc:
|
||
|
|
||
|
.PHONY: info install-info clean-info
|
||
|
info:
|
||
|
install-info:
|
||
|
clean-info:
|
||
|
|
||
|
clean mostlyclean:
|
||
|
rm -f *.o *.a *.s stamp-srcs
|
||
|
|
||
|
distclean maintainer-clean realclean: clean
|
||
|
rm -f Makefile config.status
|
||
|
|
||
|
Makefile: Makefile.in config.status @host_makefile_frag_path@
|
||
|
$(SHELL) config.status
|
||
|
|
||
|
config.status: configure
|
||
|
$(SHELL) config.status --recheck
|
||
|
|
||
|
stamp-srcs: Makefile template.S template_r.S
|
||
|
for f in $(TEMPLATE_SFILES:_=) ; \
|
||
|
do \
|
||
|
$(CC) -E -Dfunc=$$f \
|
||
|
$(CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS) $(INCLUDES) \
|
||
|
$(srcdir)/template.S >$$f.S ; \
|
||
|
done
|
||
|
for f in $(TEMPLATE_SFILES_R:_=) ; \
|
||
|
do \
|
||
|
$(CC) -E -Dfunc=$$f \
|
||
|
$(CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) $(NEWLIB_CFLAGS) $(INCLUDES) \
|
||
|
$(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
|
||
|
|
||
|
# To support SunOS broken VPATH (sigh).
|
||
|
|
||
|
_exit.o: _exit.S
|
||
|
cerror.o: cerror.S
|
||
|
chdir.o: chdir.S
|
||
|
close.o: close.S
|
||
|
fstat.o: fstat.S
|
||
|
getpid.o: getpid.S
|
||
|
isatty.o: isatty.c
|
||
|
kill.o: kill.S
|
||
|
libsys-crt0.o: libsys-crt0.S
|
||
|
lseek.o: lseek.S
|
||
|
lstat.o: lstat.S
|
||
|
open.o: open.S
|
||
|
read.o: read.S
|
||
|
sbrk.o: sbrk.S
|
||
|
stat.o: stat.S
|
||
|
write.o: write.S
|
||
|
|
||
|
# Reentrant versions ...
|
||
|
# These are all needed to support the ANSI C library routines.
|
||
|
|
||
|
close_r.o: close.S
|
||
|
fstat_r.o: fstat.S
|
||
|
getpid_r.o: getpid.S
|
||
|
kill_r.o: kill.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
|
||
|
unlink_r.o: unlink.S
|
||
|
write_r.o: write.S
|