# Copyright (c) 1998 Cygnus Support # # The authors hereby grant permission to use, copy, modify, distribute, # and license this software and its documentation for any purpose, provided # that existing copyright notices are retained in all copies and that this # notice is included verbatim in any distributions. No written agreement, # license, or royalty fee is required for any of the authorized uses. # Modifications to this software may be copyrighted by their authors # and need not follow the licensing terms described here, provided that # the new terms are clearly indicated on the first page of each file where # they apply. DESTDIR = VPATH = @srcdir@ srcdir = @srcdir@ objdir = . srcroot = $(srcdir)/../.. objroot = $(objdir)/../.. prefix = @prefix@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ target_alias = @target_alias@ program_transform_name = @program_transform_name@ bindir = @bindir@ libdir = @libdir@ tooldir = $(exec_prefix)/$(target_alias) # Multilib support variables. # TOP is used instead of MULTI{BUILD,SRC}TOP. MULTIDIRS = MULTISUBDIR = MULTIDO = true MULTICLEAN = true INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ SHELL = /bin/sh CC = @CC@ AS = @AS@ AR = @AR@ LD = @LD@ RANLIB = @RANLIB@ OBJDUMP = `t='$(program_transform_name)'; echo objdump | sed -e $$t` OBJCOPY = `t='$(program_transform_name)'; echo objcopy | sed -e $$t` # Generic object files common to some targets. # These are LIBGLOSS stubs and minimal functionality in SBRK, READ and WRITE. OBJS = close.o fstat.o getpid.o isatty.o kill.o lseek.o open.o \ print.o putnum.o read.o stat.o unlink.o write.o # Object files specific to particular targets. SERIALOBJS = ${OBJS} _exit.o gettod.o sbrk.o serial-inbyte.o serial-outbyte.o # These go with the hosted file I/O libraries with a version of syscalls. HOSTEDOBJS = getpid.o kill.o io-gdb.o io-stubs.o sbrk.o SCRIPTS = BSP = crt0.o libserial.a libsim.a libdebug.a # Host specific makefile fragment comes in here. @host_makefile_frag@ all: ${BSP} # # here's where we build the board support packages for each target # libserial.a: $(SERIALOBJS) $(AR) $(ARFLAGS) $@ $^ $(RANLIB) $@ libsim.a: ${HOSTEDOBJS} sim-syscalls.o ${AR} ${ARFLAGS} $@ $^ ${RANLIB} $@ libdebug.a: ${HOSTEDOBJS} debug-syscalls.o ${AR} ${ARFLAGS} $@ $^ ${RANLIB} $@ sim-syscalls.o: syscalls.c syscall.h io.h ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -DTARGET_SIM -c -o $@ $< debug-syscalls.o: syscalls.c syscall.h io.h ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -c -o $@ $< $(OBJS): %.o: ../%.c ${CC} ${CFLAGS_FOR_TARGET} ${CFLAGS} -c -o $@ $< doc: clean mostlyclean: rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x distclean maintainer-clean realclean: clean rm -f Makefile config.status a.out .PHONY: install info install-info clean-info install: @for bsp in ${BSP}; do\ $(INSTALL_DATA) $${bsp} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ done @for script in ${SCRIPTS}; do\ $(INSTALL_DATA) $(srcdir)/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \ done info: install-info: clean-info: # target specific makefile fragment comes in here. @target_makefile_frag@ Makefile: Makefile.in config.status @host_makefile_frag_path@ @target_makefile_frag_path@ $(SHELL) config.status config.status: configure $(SHELL) config.status --recheck