169 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			169 lines
		
	
	
		
			4.1 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,
 | 
						|
# advertising materials, and 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
 |